valdres 1.0.0-beta.3 → 1.0.0-beta.31

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 (111) hide show
  1. package/README.md +79 -1
  2. package/dist/adapter-internals/v1.js +1 -0
  3. package/dist/chunk-g4tkm20t.js +2 -0
  4. package/dist/development/adapter-internals/v1.js +1 -0
  5. package/dist/development/chunk-g4tkm20t.js +2 -0
  6. package/dist/development/equality.js +1 -0
  7. package/dist/development/index.js +1 -0
  8. package/dist/development/inspect.js +1 -0
  9. package/dist/equality.js +1 -0
  10. package/dist/index.js +1 -2444
  11. package/dist/inspect.js +1 -0
  12. package/dist/types/adapter-internals/v1.d.ts +5 -0
  13. package/dist/types/equality.d.ts +9 -0
  14. package/dist/types/index.d.ts +44 -44
  15. package/dist/types/inspect.d.ts +12 -0
  16. package/dist/types/v1-internal/committed-store-tree/committed-store-tree.d.ts +22 -0
  17. package/dist/types/v1-internal/committed-store-tree/runtime-domain.d.ts +154 -0
  18. package/dist/types/v1-internal/committed-store-tree/scope-node.d.ts +92 -0
  19. package/dist/types/v1-internal/committed-store-tree/scratch-selector-host.d.ts +38 -0
  20. package/dist/types/v1-internal/committed-store-tree/tree-transaction.d.ts +75 -0
  21. package/dist/types/v1-internal/committed-store-tree/types.d.ts +67 -0
  22. package/dist/types/v1-internal/inspection.d.ts +309 -0
  23. package/dist/types/v1-internal/public-domain.d.ts +8 -0
  24. package/dist/types/v1-internal/selector-evaluator/errors.d.ts +42 -0
  25. package/dist/types/v1-internal/selector-evaluator/evaluate.d.ts +7 -0
  26. package/dist/types/v1-internal/selector-evaluator/types.d.ts +183 -0
  27. package/dist/types/v1.d.ts +28 -0
  28. package/package.json +42 -3
  29. package/dist/types/atom.d.ts +0 -16
  30. package/dist/types/atomFamily.d.ts +0 -13
  31. package/dist/types/cacheMeta.d.ts +0 -4
  32. package/dist/types/errors/SelectorCircularDependencyError.d.ts +0 -5
  33. package/dist/types/errors/SelectorEvaluationError.d.ts +0 -7
  34. package/dist/types/errors/lib/generateSelectorTrace.d.ts +0 -2
  35. package/dist/types/globalStore.d.ts +0 -4
  36. package/dist/types/indexConstructor.d.ts +0 -5
  37. package/dist/types/lib/asyncDependencyTracking.d.ts +0 -25
  38. package/dist/types/lib/atomFamilyIndex.d.ts +0 -17
  39. package/dist/types/lib/createAtomFamily.d.ts +0 -4
  40. package/dist/types/lib/createGlobalAtomFamily.d.ts +0 -4
  41. package/dist/types/lib/createStoreData.d.ts +0 -6
  42. package/dist/types/lib/deleteFamilyAtom.d.ts +0 -3
  43. package/dist/types/lib/equal.d.ts +0 -1
  44. package/dist/types/lib/familyKey.d.ts +0 -2
  45. package/dist/types/lib/getState.d.ts +0 -8
  46. package/dist/types/lib/globalAtom.d.ts +0 -4
  47. package/dist/types/lib/initAtom.d.ts +0 -5
  48. package/dist/types/lib/initSelector.d.ts +0 -24
  49. package/dist/types/lib/isFunction.d.ts +0 -1
  50. package/dist/types/lib/isProd.d.ts +0 -1
  51. package/dist/types/lib/maxAgeCleanups.d.ts +0 -4
  52. package/dist/types/lib/mountAtom.d.ts +0 -36
  53. package/dist/types/lib/propagateUpdatedAtoms.d.ts +0 -11
  54. package/dist/types/lib/resetAtom.d.ts +0 -3
  55. package/dist/types/lib/setAtom.d.ts +0 -4
  56. package/dist/types/lib/setAtoms.d.ts +0 -3
  57. package/dist/types/lib/setValueInData.d.ts +0 -7
  58. package/dist/types/lib/stableStringify.d.ts +0 -1
  59. package/dist/types/lib/storeFromStoreData.d.ts +0 -4
  60. package/dist/types/lib/stringifyFamilyArgs.d.ts +0 -1
  61. package/dist/types/lib/subscribe.d.ts +0 -6
  62. package/dist/types/lib/transaction.d.ts +0 -37
  63. package/dist/types/lib/unsubscribe.d.ts +0 -5
  64. package/dist/types/selector.d.ts +0 -4
  65. package/dist/types/selectorFamily.d.ts +0 -4
  66. package/dist/types/store.d.ts +0 -6
  67. package/dist/types/types/Atom.d.ts +0 -29
  68. package/dist/types/types/AtomDefaultValue.d.ts +0 -2
  69. package/dist/types/types/AtomFamily.d.ts +0 -11
  70. package/dist/types/types/AtomFamilyAtom.d.ts +0 -7
  71. package/dist/types/types/AtomFamilyDefaultValue.d.ts +0 -5
  72. package/dist/types/types/AtomFamilySelector.d.ts +0 -6
  73. package/dist/types/types/AtomOnInit.d.ts +0 -9
  74. package/dist/types/types/AtomOnMount.d.ts +0 -14
  75. package/dist/types/types/AtomOnSet.d.ts +0 -2
  76. package/dist/types/types/AtomOptions.d.ts +0 -15
  77. package/dist/types/types/EqualFunc.d.ts +0 -3
  78. package/dist/types/types/Family.d.ts +0 -3
  79. package/dist/types/types/FamilyKey.d.ts +0 -3
  80. package/dist/types/types/GetValue.d.ts +0 -9
  81. package/dist/types/types/GlobalAtom.d.ts +0 -17
  82. package/dist/types/types/GlobalAtomGetSelfFunc.d.ts +0 -1
  83. package/dist/types/types/GlobalAtomResetSelfFunc.d.ts +0 -1
  84. package/dist/types/types/GlobalAtomSetSelfFunc.d.ts +0 -2
  85. package/dist/types/types/Reactive.d.ts +0 -3
  86. package/dist/types/types/ResetAtom.d.ts +0 -2
  87. package/dist/types/types/Selector.d.ts +0 -16
  88. package/dist/types/types/SelectorFamily.d.ts +0 -7
  89. package/dist/types/types/SelectorOptions.d.ts +0 -5
  90. package/dist/types/types/SetAtom.d.ts +0 -5
  91. package/dist/types/types/SetAtomValue.d.ts +0 -1
  92. package/dist/types/types/State.d.ts +0 -4
  93. package/dist/types/types/Store.d.ts +0 -31
  94. package/dist/types/types/StoreData.d.ts +0 -28
  95. package/dist/types/types/SubscribeFn.d.ts +0 -9
  96. package/dist/types/types/Subscription.d.ts +0 -11
  97. package/dist/types/types/SyncSetAtom.d.ts +0 -4
  98. package/dist/types/types/TransactionFn.d.ts +0 -2
  99. package/dist/types/types/TransactionInterface.d.ts +0 -15
  100. package/dist/types/utils/deepFreeze.d.ts +0 -1
  101. package/dist/types/utils/isAtom.d.ts +0 -2
  102. package/dist/types/utils/isAtomFamily.d.ts +0 -2
  103. package/dist/types/utils/isFamily.d.ts +0 -1
  104. package/dist/types/utils/isFamilyAtom.d.ts +0 -2
  105. package/dist/types/utils/isFamilySelector.d.ts +0 -2
  106. package/dist/types/utils/isFamilyState.d.ts +0 -3
  107. package/dist/types/utils/isGlobalAtom.d.ts +0 -2
  108. package/dist/types/utils/isPromiseLike.d.ts +0 -1
  109. package/dist/types/utils/isSelector.d.ts +0 -2
  110. package/dist/types/utils/isSelectorFamily.d.ts +0 -2
  111. package/dist/types/utils/resolveReactive.d.ts +0 -4
package/README.md CHANGED
@@ -1 +1,79 @@
1
- Se [valdres.dev](https://valdres.dev) for docs
1
+ <!-- DOCS:START -->
2
+
3
+ # valdres
4
+
5
+ The first public beta of Valdres's new synchronous state engine.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install valdres@beta
11
+ ```
12
+
13
+ ```ts
14
+ import { store, atom, selector } from "valdres"
15
+
16
+ const countAtom = atom(0)
17
+ const doubledSelector = selector(get => get(countAtom) * 2)
18
+
19
+ const s = store()
20
+ s.set(countAtom, 21)
21
+ s.get(doubledSelector) // 42
22
+ ```
23
+
24
+ `set` always stores the exact value you pass, including functions. Use `update` when the next value depends on the current value:
25
+
26
+ ```ts
27
+ s.set(countAtom, 1)
28
+ s.update(countAtom, current => current + 1)
29
+ ```
30
+
31
+ A store also exposes `sub`, `reset`, `txn`, `scope`, and `dispose`. Store operations are stable bound functions, so they can be passed as callbacks without rebinding. `store.txn(callback, name?)` accepts an optional human-readable diagnostic label; labels are metadata, not identity.
32
+
33
+ `atom(initial, options)` and `atom.lazy(initialize, options)` create writable state. `selector(read, options)` creates synchronous derived state. Atom and selector options accept an inert diagnostic `name` and an `equal(previous, next)` comparator.
34
+
35
+ ## Opt-in structural equality
36
+
37
+ `Object.is` remains the default comparator. Import `deepEqual` from the separate equality entry only where structurally equal replacements should retain the previous reference and stop notifications or downstream propagation:
38
+
39
+ ```ts
40
+ import { atom } from "valdres"
41
+ import { deepEqual } from "valdres/equality"
42
+
43
+ const documentAtom = atom({ blocks: [] }, { equal: deepEqual })
44
+ ```
45
+
46
+ `deepEqual` recursively compares supported values using SameValueZero primitive leaves, own enumerable string and symbol properties, and native identity for Map keys and Set members. Non-binary objects require the same prototype. Matching binary brands compare visible bytes across realms and ignore attached properties. Functions, Promises, Errors, URLs, weak collections, other opaque platform objects, and DOM nodes compare only by identity. Cyclic structures are unsupported. Reached getters, Proxy traps, `valueOf`, and `toString` hooks can run and throw.
47
+
48
+ Structural comparison walks the compared values, so use it deliberately on allocation-heavy results where pruning redundant updates outweighs that work. The separate `valdres/equality` entry keeps it out of ordinary root bundles.
49
+
50
+ ## Inspect a Store
51
+
52
+ `valdres/inspect` creates an opt-in Store with a bounded structural flight recorder. It belongs to the same runtime domain as ordinary Stores, so existing atoms, selectors, scopes, and framework adapters work unchanged:
53
+
54
+ ```ts
55
+ import { createInspectableStore } from "valdres/inspect"
56
+
57
+ const { store: appStore, inspect } = createInspectableStore()
58
+
59
+ inspect.span("drop interaction", () =>
60
+ appStore.txn(transaction => {
61
+ transaction.update(processAtom, updateProcess)
62
+ }, "collapse process"),
63
+ )
64
+
65
+ const report = inspect.export()
66
+ inspect.reset()
67
+ ```
68
+
69
+ The report correlates human labels with opaque operation, commit, evaluation, session, and search IDs. It includes selector work, proposed topology changes, cycle-search visits by host and call site, transient selector-host counts, and propagation/notification totals. Completed summaries and details use separate bounded rings with explicit overflow. Exports are immutable and JSON-safe; application values, callbacks, errors, and live State handles are never recorded. Labels are metadata, not identity.
70
+
71
+ Inspection adds recording and timing work only to the Store created by `createInspectableStore`. The recorder stays outside the ordinary root entry and ordinary consumer bundles remain within their existing size budget.
72
+
73
+ The versioned `valdres/adapter-internals/v1` entry is for framework bindings. It exports only `assertStore`, `read`, `subscribe`, and `readHydrationSnapshot`; application code should use Store methods directly.
74
+
75
+ ## Beta compatibility
76
+
77
+ `valdres@1.0.0-beta.24` and later v1 betas intentionally replace the legacy beta API. `valdres-react@1.0.0-beta.6` is certified with `valdres@1.0.0-beta.27` and later v1 betas accepted by its `^1.0.0-beta.27` peer range. Deferred framework adapters and plugins remain unsupported even when their published semver ranges allow npm to resolve this core; do not mix them with the new beta until they are migrated.
78
+
79
+ <!-- DOCS:END -->
@@ -0,0 +1 @@
1
+ import{q as e}from"../chunk-g4tkm20t.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class z extends Error{seal(){Object.freeze(this)}}class ae extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class ve extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class Z extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class M extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class ge extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ce extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class we extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var Ue=Object.freeze({kind:"not-thenable"}),wt=()=>{},Tt=Reflect.apply,qe=Symbol.for("valdres.runtime-owner/v1");class g extends Error{seal(){Object.freeze(this)}}class Te extends g{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Oe extends g{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class U extends g{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class q extends g{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class K extends g{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class de extends g{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class J extends g{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class ee extends g{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class te extends g{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Re extends g{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Ce extends g{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Ne extends g{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class le extends g{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var N=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ue;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ue}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},E=(e)=>{try{Tt(e.then,e.target,[void 0,wt])}catch{}},ne=(e)=>{let t=N(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return E(t),Object.freeze({kind:"error",error:new ee})},Ee=(e)=>{try{return ne(e())}catch(t){let n=N(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return E(n),Object.freeze({kind:"error",error:new ee})}},oe=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},F=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Ke=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},re=(e,t,n)=>oe(e,Object.freeze({kind:"selector",session:t}),n),Ye=(e,t,n)=>oe(e,Object.freeze({kind:"transaction",transaction:t}),n),ue=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},De=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},Xe=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new q("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new K;throw new U},fe=(e,t,n)=>{if(!n)throw new de;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new q("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new U;throw new K},$e=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},W=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,qe);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Te;throw $e(e,n).latchControlFault(r),r}}return"invalid"},x=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=$e(e,n);if(o!==void 0&&"session"in o)try{let i=W(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return F(e,r,()=>W(e,t,r))},ie=(e,t)=>(Object.defineProperty(e,qe,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),he=(e,t)=>Object.freeze(ie({kind:e},t));var Qe=Object.freeze({kind:"not-thenable"}),Ot=()=>{},Rt=Reflect.apply,Ze=Symbol("selector dependency path root"),tt=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Qe;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Qe}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},nt=(e)=>{try{Rt(e.then,e.target,[void 0,Ot])}catch{}},Ct=(e)=>Object.freeze(e),Nt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=Nt(o);return Object.freeze({selector:e,token:t,outcome:Ct(n),dependencies:r,attemptedPrefix:n.kind==="value"?Et:Object.freeze(r.map((i)=>i.node))})},Et=Object.freeze([]),je=32,Ve=8192,Dt=2*je,Vt=()=>{let e,t,n=0,o=0,r=!1,i=!0,s=()=>{e=void 0,t=void 0,o=0,i=!1};return{get enabled(){return i},beginSearch(){return n=0,i&&e!==void 0},hasProvenNoPath(c){if(e?.has(c))return n|=1,!0;if(t?.has(c))return n|=2,!0;return!1},completeNegative(c){if(!i)return;if(n!==0){if(c.size>Ve){s();return}let h=e,A=t;e=void 0,t=void 0;let f=(S)=>{if(S===void 0||S.size>Ve||S===e)return;if(e===void 0||S.size>e.size)t=e,e=S;else if(t===void 0||S.size>t.size)t=S};f(h),f(A),f(c),r=!0,o=0;return}if(c.size===1)return;let d=c.size>=je&&c.size<=Ve;if(e===void 0){if(d)e=c;return}let l=Math.min(c.size,je);if(o+=l,!r&&t===void 0&&d){t=c;return}if(o>=Dt)s()},reset:()=>{e=void 0,t=void 0,n=0,o=0,r=!1,i=!0}}},jt=(e,t,n,o,r,i,s)=>{let a=s?.beginSearch()??!1,c=[e],d=new Map([[e,Ze]]);while(c.length>0){let l=c.pop();if(Object.is(l,t)){let f=[],S=l;while(S!==Ze)f.push(S),S=d.get(S);return f.reverse(),Object.freeze(f)}let h=o.getTransientDependencies(n,l);if(h){if(h.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let f of h){if(d.has(f.node))continue;d.set(f.node,l),c.push(f.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let f=n.getSelectorDependencyNodes(l);if(f===void 0||f.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let S of f){if(d.has(S))continue;d.set(S,l),c.push(S)}continue}let A=n.getSelectorRecord(l);if(!A||A.dependencies.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let f of A.dependencies){if(d.has(f.node))continue;d.set(f.node,l),c.push(f.node)}}s?.completeNegative(d);return},Je=(e,t)=>{let n=tt(e);if(n.kind==="thenable")return nt(n),new M(t);if(n.kind==="inspection-error")return n.error;return e},et=(e,t)=>{let n=tt(e);if(n.kind==="thenable")return nt(n),Object.freeze({kind:"error",error:new M(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},ot=(e,t,n,o=jt)=>{let{node:r}=e,i=[],s=t.getSelectorRecord(r),a=s?.dependencies,c=a===void 0?new Set:void 0,d,l=0,h=t.getComparisonBaseline(r),A=!0,f=()=>{let u=c;if(u!==void 0)return u;u=new Set;for(let m of i)u.add(m.node);return c=u,u};n.enter(t,r,i);let S=t.getSelectorGraphVersion(),_=n.getSelectorGraphPublicationCount(t),I=S,H=_,He=S,Be=_,pe,ye=!1,Le=S,Ae=0,Y,kt=(u)=>{if(u!==Le)Le=u,Ae=0,Y?.reset();if(Ae++,(a?.length??0)<3&&Ae<3)return;if(Y===void 0)Y=Vt();return Y.enabled?Y:void 0},vt=(u)=>{if(ye)return;let m=t.beginSelectorGraphObservation?.(u);if(m===void 0)return;ye=!0,pe=m},be=(u,m,b,k)=>b-u===k-m,Ge=(u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t),b=be(I,H,u,m))=>{if(u===I)return;if(!ye&&t.beginSelectorGraphObservation!==void 0){I=u,H=m;return}let k=pe?.takeAddedEdges();if(b){I=u,H=m;return}if(k!==void 0){let v=!1;for(let T of k)if(o(T.head,T.tail,t,n,2,i.length)!==void 0){v=!0;break}if(!v){I=u,H=m;return}}for(let v=0;v<i.length;v++){let T=i[v],C=o(T.node,r,t,n,0,i.length);if(!C)continue;if(c!==void 0)for(let V=i.length-1;V>=v;V--)c.delete(i[V].node);if(i.length=v,l++,n.getControlFault().kind==="fault")return;let w=new Z(r,[r,...C]);n.latchCycle(t,r,w);return}I=u,H=m},ke=()=>{let u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t);He=u,Be=m;let b=be(I,H,u,m);if(!b)n.revalidateAncestorPrefixes(t,r);Ge(u,m,b)};n.setPrefixRevalidator(t,r,Ge);let gt=(u)=>{if(!A)throw new we;let m=n.getControlFault();if(m.kind==="fault")throw m.error;let b=n.getCycle(t,r);if(b!==void 0)throw b;let k=n.activeCyclePath(t,u);if(k){let p=new Z(r,k);throw n.latchCycle(t,r,p),p}let v=i.length,T,C=!1;if(c===void 0){let p=a?.[v];if(p!==void 0&&Object.is(p.node,u))T=!1,C=!0;else T=f().has(u)}else T=c.has(u);if(!T&&!C&&a!==void 0&&a.length>0){let p=a[i.length];if(p!==void 0&&Object.is(p.node,u))C=!0;else{if(d===void 0){d=new Set;for(let G of a)d.add(G.node)}C=d.has(u)}}let B=l,w=t.serve(u,n);ke();let V=n.getCycle(t,r);if(V!==void 0)throw V;let X=c!==void 0?c.has(u):l===B&&i.length===v?!1:f().has(u),P=He,L=Be,j=X||C&&P===S,se=a===void 0&&be(S,_,P,L);if(!j&&!se){let p=o(u,r,t,n,1,i.length,kt(P));if(p){let G=n.getControlFault();if(G.kind==="fault")throw G.error;let We=new Z(r,[r,...p]);throw n.latchCycle(t,r,We),We}}if(!X){let p=s?.dependencies[i.length];c?.add(u),i.push(p!==void 0&&Object.is(p.node,u)&&Object.is(p.token,w.token)?p:Object.freeze({node:u,token:w.token})),vt(u)}if(I=P,H=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let p=n.getControlFault();if(p.kind==="fault")throw p.error;throw w.outcome.error}let Q=n.getControlFault();if(Q.kind==="fault")throw Q.error;if(w.outcome.kind==="error")throw new ve(u,w.outcome.error);return w.outcome.value};try{let u,m,b=!1;try{u=e.get(gt)}catch(V){b=!0,m=V}finally{A=!1}if(b)m=Je(m,"getter");let k=b?void 0:et(u,"getter");ke();let v=n.getControlFault();if(v.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:v.error},i);let T=n.getCycle(t,r);if(T!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:T},i);if(b)return O(r,t.createOutcomeToken(),{kind:"error",error:m instanceof M?m:new ae(r,m)},i);if(k===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:C.error},i);if(k.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:k.error instanceof M?k.error:new ae(r,k.error)},i);let B=k.value,w;if(h){let V=e.equal??Object.is,X,P,L=!1;try{X=V(h.value,B)}catch(G){L=!0,P=Je(G,"comparator")}let j=L?void 0:et(X,"comparator");ke();let se=n.getControlFault();if(se.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:se.error},i);let Q=n.getCycle(t,r);if(Q!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:Q},i);if(L)return O(r,t.createOutcomeToken(),{kind:"error",error:P instanceof M?P:new ce(r,P)},i);if(j===void 0)throw Error("Selector comparator classification was not completed");let p=n.getControlFault();if(p.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:p.error},i);if(j.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:j.error instanceof M?j.error:new ce(r,j.error)},i);if(j.value!==!0&&j.value!==!1)return O(r,t.createOutcomeToken(),{kind:"error",error:new ge},i);if(j.value===!0)B=h.value,w=h.current?h.token:void 0}return O(r,w??t.createOutcomeToken(),{kind:"value",value:B},i)}finally{try{pe?.close()}finally{n.leave(t,r)}}};class y{#t=[];#n;#o=0;#i;#a=xt;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var xt=Object.freeze({kind:"none"});var rt=Symbol("no-committed-selector-baseline");class Se{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#d;constructor(e,t,n){this.#t=e,this.#a=t,this.#d=n}readSelector(e){let t=new y,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#d(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??rt,this.#i.set(e,t);return t===rt?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var it=4096,Pt=Object.freeze([]);class at{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class me{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#d=0;#c;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#p(),this.#n=this.#p()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#p()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(W(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=re(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#A(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#d===0)this.#c=[],this.#l=!1;this.#d++;let t=this.#c?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#c;if(o===void 0)return;if(t===o.length)return Pt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#d--,this.#d!==0)return;this.#c=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#A(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??st,t.dependencies),a=s?this.#S(e,o?.dependencies??st,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#m(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#p(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#d===0||this.#l)return;let o=this.#c;if(o===void 0){this.#e();return}let r=it-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let c of t)if(i.has(c.node))s.add(c.node);let a=[];for(let c of n)if(i.has(c.node)&&!s.has(c.node)){if(a.push(Object.freeze({tail:e,head:c.node})),a.length>r){this.#e();return}}return a}#m(e){if(e.length===0)return;let t=this.#c;if(t===void 0||t.length+e.length>it){this.#e();return}t.push(...e)}#e(){if(this.#d===0)return;this.#c=[],this.#l=!0}#p(){return new at(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var st=Object.freeze([]);class xe{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#d;#c;#l;#h;#u;#A;#y;#S;#m;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#p();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#p();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#p();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#p();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#p();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#p();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#p()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#c!==void 0&&Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#A?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#A;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#A=s,this.#u=void 0,this.#s=void 0}return}let i=this.#c;if(i===void 0){this.#s=e,this.#d=t,this.#c=n;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#d,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#d,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let c=this.#f();c.set(t,n),s.set(e,c),this.#A=s,this.#s=void 0}this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#m?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#m?.has(e)??!1)}setFallback(e,t){let n=this.#m;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#m=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#m!==void 0)for(let[t,n]of this.#m)e(t,n)}#p(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#A!==void 0){for(let e of this.#A.values())e.clear();this.#A.clear()}this.#m?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#A=void 0,this.#y=void 0,this.#S=void 0,this.#m=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ct{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ie(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var Pe=(e,t,n)=>new ct(e,t,n),Ie=(e)=>{let t=N(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw E(t),new J},dt=(e)=>{let t=N(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw E(t),new J};var It=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},pt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),zt=32,yt=new WeakMap,an=()=>{let e=new Uint32Array(zt),t=Object.freeze({read(n){return e[pt[n]]??0}});return yt.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Mt=(e)=>Object.freeze({kind:"error",error:e}),lt=(e)=>e.kind==="value"?R(e.value):Mt(e.error),ut=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},ft=1,ze=2,ht=4,Ft=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Fe=(e)=>(e.onAllocation?.(),new Map),_t=(e)=>(e.onAllocation?.(),new Set),Me=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},St=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Fe(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Fe(e),r.set(t,i);i.set(n,o)},Ht=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=_t(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Bt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Fe(e),e.affected=o;o.set(t,n)};class At{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#d;#c=0;#l;#h;#u;#A=1;#y=0;#S;#m;#e;#p;#f;evaluate;constructor(e,t,n){this.#e=e,this.#p=t===void 0?void 0:yt.get(t),this.#f=n,this.evaluate=n?.evaluate??ot,this.#n=new me(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#p!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#p;if(n===void 0)return;n[pt[e]]+=t}#T(){return this.recordCounter("draftCreations"),new xe(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new y,o=t,r=x(this.#e,o,n),i=De(this.#e,"StoreTree.get");if(this.#b(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":x(this.#e,o,r=new y);if(D(this.#e,"StoreTree.sub"),this.#b(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new y);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return It(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Xe(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)x(this.#e,n,new y);if(D(this.#e,"StoreTree.scope"),this.#b(e),t===0)return this.#j(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#j(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#b(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=Pe(this,o,e),i;try{i=Ye(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new y;ue(this.#e,s,()=>Ie(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new y,o=t,r=x(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#b(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new y,i=x(this.#e,o,r);if(fe(this.#e,e.transaction,e.active),this.#b(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.set"),this.#P(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new y;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new y;if(typeof n!=="string")x(this.#e,n,i);fe(this.#e,e.transaction,e.active),this.#b(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=Pe(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let h=new y;return ue(this.#e,h,()=>dt(l))}let d=new y;return ue(this.#e,d,()=>Ie(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new Se(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>re(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new Se(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>re(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(W(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#j(e,t){let n=new me(this,e,t);this.recordCounter("scopeNodesCreated");let o=new _e(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Ce;return this.#b(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#b(i),!Object.is(i.coordinator,this))throw new Ne;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new de;throw new le}throw new le}#b(e){if(e.status!=="live")throw new Re}#X(e,t,n,o){let r=x(this.#e,t,n);D(this.#e,o),this.#b(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new y;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#P(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=x(this.#e,n,o);fe(this.#e,e.transaction,e.active),this.#b(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#P(e,t,n,o,r){let i=F(this.#e,r,()=>ne(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#J(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0}):this.#M(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#N(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#M(e,t,n,o).outcome}#M(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0})}#N(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=lt(F(this.#e,n,()=>Ee(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#v(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return F(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=N(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw E(a),new te}let i=N(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw E(i),new te;if(r!==!0&&r!==!1)throw new te;return r})}#J(e,t,n){return F(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=N(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw E(s),new ee}let r=ne(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ft(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#_(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#H(e,r),i!==void 0)for(let a of i)this.#H(e,a);let s=this.#B(r);if(i!==void 0)for(let a of i){let c=this.#B(a);s||=c}if(this.#L(r),i!==void 0)for(let a of i)this.#L(a);this.#se();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#E(o,d,l);let{secondAffectedRecord:h,secondAffectedBefore:A}=o;if(h!==void 0&&A!==void 0){let f=this.#E(o,h,A);if(f!==void 0)if(a===void 0)a=f;else c=[f]}if(o.affected!==void 0)for(let[f,S]of o.affected){let _=this.#E(o,f,S);if(_===void 0)continue;if(a===void 0)a=_;else{if(c===void 0)c=[];c.push(_)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(c?.length??0)),this.#ie(a,c)}catch(a){throw this.#g(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#G(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#H(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#B(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#L({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Me(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),ut(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Ht(n,r))continue;let i=r.served.outcome,s=this.#G(e,r.scope,r.atom,n);if(ut(i,s))continue;Bt(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#G(e,t,n,o){let r=Me(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=Me(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=R(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#te(e,n),s!==void 0)St(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)St(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#v(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#v(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=lt(F(this.#e,t,()=>Ee(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#v(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#g();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#m=void 0,this.#y=this.#u===void 0?0:this.#A++}#g(){this.#y=0,this.#S=void 0,this.#m=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#m===void 0)this.#m=[o];else this.#m.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#g(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let h=l.callback;if(h!==void 0)if(n===void 0)n=h;else if(o===void 0)o=[n,h];else o.push(h);l=l.next}};r(t);let i=this.#m;if(i!==void 0)for(let d of i)r(d);if(this.#g(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new y,h=!1,A;try{Ke(this.#e,l,()=>{try{let f=d(),S=N(f);if(S.kind==="thenable")E(S);else if(S.kind==="inspection-error")h=!0,A=S.error}catch(f){h=!0,A=f;let S=N(f);if(S.kind==="thenable")E(S)}})}catch(f){h=!0,A=f}if(h){if(c===void 0)c=[];if(c.push(A),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new Oe(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&ft)!==0)return!0;return this.#w(e,t,ft),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(ht|ze))!==0)return;this.#w(e,t,ze);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new y)}this.#w(e,t,ht)}finally{this.#w(e,t,0,ze)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#d=t,this.#c=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t)){this.#c=(this.#c|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class _e{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),ie(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var mt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},bt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new y,h=F(t,l,()=>ne(c));if(h.kind==="error")throw h.error;let A=he("atom",t.ownerToken);return t.states.add(A),t.atoms.set(A,Object.freeze({fallback:Object.freeze({kind:"eager",value:h.value}),...mt(d)})),A},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=he("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...mt(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=he("selector",t.ownerToken),h=Object.freeze({node:l,get:c,...d.name===void 0?{}:{name:d.name},...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,h),l},i=(c)=>{let d=new y;if(x(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(D(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw De(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(c=e,d)=>{D(t,"createStoreTree");let l=new At(t,c,d);return new _e(l,l.rootScope,d)}})};var Lt=bt(),ln=(e,t)=>Lt.createStoreTree(e,t);
2
+ export{Z as a,ot as b,Te as c,Oe as d,U as e,q as f,K as g,de as h,J as i,ee as j,te as k,Re as l,Ce as m,Ne as n,le as o,an as p,Lt as q,ln as r};
@@ -0,0 +1 @@
1
+ import{q as e}from"../chunk-g4tkm20t.js";var t=e.adapter,a=t.assertStore,o=t.read,s=t.subscribe,n=t.readHydrationSnapshot;export{a as assertStore,o as read,n as readHydrationSnapshot,s as subscribe};
@@ -0,0 +1,2 @@
1
+ class z extends Error{seal(){Object.freeze(this)}}class ae extends z{code="VALDRES_SELECTOR_GETTER_ERROR";selector;cause;constructor(e,t){super("Selector getter failed");this.name="SelectorGetterError",this.selector=e,this.cause=t,this.seal()}}class ve extends z{code="VALDRES_SELECTOR_DEPENDENCY_ERROR";dependency;cause;constructor(e,t){super("Selector dependency failed");this.name="SelectorDependencyError",this.dependency=e,this.cause=t,this.seal()}}class Z extends z{code="VALDRES_SELECTOR_CIRCULAR_DEPENDENCY";selector;path;constructor(e,t){super("Selector dependency graph must be acyclic");this.name="SelectorCircularDependencyError",this.selector=e,this.path=Object.freeze([...t]),this.seal()}}class M extends z{code="VALDRES_INVALID_SYNCHRONOUS_SELECTOR_RESULT";phase;constructor(e){super(`Selector ${e} returned or threw a thenable`);this.name="InvalidSynchronousSelectorResultError",this.phase=e,this.seal()}}class ge extends z{code="VALDRES_INVALID_SELECTOR_COMPARATOR_RESULT";constructor(){super("Selector comparator must return exactly true or false");this.name="InvalidSelectorComparatorResultError",this.seal()}}class ce extends z{code="VALDRES_SELECTOR_COMPARATOR_ERROR";selector;cause;constructor(e,t){super("Selector comparator failed");this.name="SelectorComparatorError",this.selector=e,this.cause=t,this.seal()}}class we extends z{code="VALDRES_SELECTOR_READ_REVOKED";constructor(){super("Selector supplied get is no longer active");this.name="SelectorReadRevokedError",this.seal()}}var Ue=Object.freeze({kind:"not-thenable"}),wt=()=>{},Tt=Reflect.apply,qe=Symbol.for("valdres.runtime-owner/v1");class g extends Error{seal(){Object.freeze(this)}}class Te extends g{code="VALDRES_RUNTIME_MISMATCH";constructor(){super("Valdres handles belong to a different runtime domain");this.name="RuntimeMismatchError",this.seal()}}class Oe extends g{code="VALDRES_SUBSCRIBER_NOTIFICATION";cause;causes;committed=!0;phase="notifying";source="owned-mutation";constructor(e){super("One or more Store subscribers threw during notification");this.name="SubscriberNotificationError",this.causes=Object.freeze([...e]),this.cause=this.causes[0],this.seal()}}class U extends g{code="VALDRES_CALLBACK_CAPABILITY";constructor(){super("This callback cannot use captured Valdres runtime capabilities");this.name="CallbackCapabilityError",this.seal()}}class q extends g{code="VALDRES_SELECTOR_CAPABILITY_ERROR";constructor(e){super(`A selector callback cannot call ${e} directly`);this.name="SelectorCapabilityError",this.seal()}}class K extends g{code="VALDRES_TRANSACTION_PHASE";constructor(){super("Captured StoreTree work is forbidden during a transaction");this.name="TransactionPhaseError",this.seal()}}class de extends g{code="VALDRES_TRANSACTION_CLOSED";constructor(){super("The Transaction cursor is no longer active");this.name="TransactionClosedError",this.seal()}}class J extends g{code="VALDRES_INVALID_TRANSACTION_CALLBACK_RESULT";constructor(){super("Transaction callbacks must return synchronously");this.name="InvalidTransactionCallbackResultError",this.seal()}}class ee extends g{code="VALDRES_INVALID_SYNCHRONOUS_ATOM_VALUE";constructor(){super("Atom values and lazy initializers must be synchronous");this.name="InvalidSynchronousAtomValueError",this.seal()}}class te extends g{code="VALDRES_INVALID_ATOM_COMPARATOR_RESULT";constructor(){super("Atom comparators must return exactly true or false synchronously");this.name="InvalidAtomComparatorResultError",this.seal()}}class Re extends g{code="VALDRES_STORE_DISPOSED";constructor(){super("This Store has been disposed");this.name="StoreDisposedError",this.seal()}}class Ce extends g{code="VALDRES_SCOPE_NOT_FOUND";constructor(){super("The named child Store does not exist");this.name="ScopeNotFoundError",this.seal()}}class Ne extends g{code="VALDRES_STORE_TREE_MISMATCH";constructor(){super("The Store belongs to a different StoreTree");this.name="StoreTreeMismatchError",this.seal()}}class le extends g{code="VALDRES_INVALID_TRANSACTION_TARGET";constructor(){super("Transaction.scope requires a Store or named child");this.name="InvalidTransactionTargetError",this.seal()}}var N=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Ue;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Ue}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},E=(e)=>{try{Tt(e.then,e.target,[void 0,wt])}catch{}},ne=(e)=>{let t=N(e);if(t.kind==="not-thenable")return Object.freeze({kind:"value",value:e});if(t.kind==="inspection-error")return Object.freeze({kind:"error",error:t.error});return E(t),Object.freeze({kind:"error",error:new ee})},Ee=(e)=>{try{return ne(e())}catch(t){let n=N(t);if(n.kind==="not-thenable")return Object.freeze({kind:"error",error:t});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return E(n),Object.freeze({kind:"error",error:new ee})}},oe=(e,t,n)=>{let o=e.activity;e.activity=t;try{return n()}finally{e.activity=o}},F=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"guarded-callback",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},Ke=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"subscriber",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},re=(e,t,n)=>oe(e,Object.freeze({kind:"selector",session:t}),n),Ye=(e,t,n)=>oe(e,Object.freeze({kind:"transaction",transaction:t}),n),ue=(e,t,n)=>{try{let o=oe(e,Object.freeze({kind:"transaction-result",session:t}),n),r=t.getControlFault();if(r.kind==="fault")throw r.error;return o}catch(o){let r=t.getControlFault();if(r.kind==="fault")throw r.error;throw o}},D=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},De=(e,t)=>{let n=e.activity;if(n===void 0)return;if(n.kind==="subscriber")return n.session;if(n.kind==="selector")throw new q(t);if(n.kind==="transaction"||n.kind==="transaction-result")throw new K;throw new U},Xe=(e)=>{let t=e.activity;if(t===void 0||t.kind==="subscriber")return;if(t.kind==="selector")throw new q("Store unsubscribe");if(t.kind==="transaction"||t.kind==="transaction-result")throw new K;throw new U},fe=(e,t,n)=>{if(!n)throw new de;let o=e.activity;if(o?.kind==="transaction"&&Object.is(o.transaction,t))return;if(o?.kind==="selector")throw new q("Transaction cursor operation");if(o?.kind==="guarded-callback")throw new U;throw new K},$e=(e,t)=>{let n=e.activity;return n!==void 0&&"session"in n?n.session:t},W=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";if((typeof t==="object"||typeof t==="function")&&t!==null){let o=Object.getOwnPropertyDescriptor(t,qe);if(o!==void 0&&"value"in o&&!Object.is(o.value,e.ownerToken)){let r=new Te;throw $e(e,n).latchControlFault(r),r}}return"invalid"},x=(e,t,n)=>{if((typeof t==="object"||typeof t==="function")&&t!==null&&(e.states.has(t)||e.stores.has(t)||e.transactionCursors.has(t)))return"local";let o=e.activity,r=$e(e,n);if(o!==void 0&&"session"in o)try{let i=W(e,t,r),s=r.getControlFault();if(s.kind==="fault")throw s.error;return i}catch(i){let s=r.getControlFault();if(s.kind==="fault")throw s.error;throw i}return F(e,r,()=>W(e,t,r))},ie=(e,t)=>(Object.defineProperty(e,qe,{value:t,enumerable:!1,writable:!1,configurable:!1}),e),he=(e,t)=>Object.freeze(ie({kind:e},t));var Qe=Object.freeze({kind:"not-thenable"}),Ot=()=>{},Rt=Reflect.apply,Ze=Symbol("selector dependency path root"),tt=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return Qe;try{let t=e.then;return typeof t==="function"?Object.freeze({kind:"thenable",target:e,then:t}):Qe}catch(t){return Object.freeze({kind:"inspection-error",error:t})}},nt=(e)=>{try{Rt(e.then,e.target,[void 0,Ot])}catch{}},Ct=(e)=>Object.freeze(e),Nt=(e)=>Object.freeze(e),O=(e,t,n,o)=>{let r=Nt(o);return Object.freeze({selector:e,token:t,outcome:Ct(n),dependencies:r,attemptedPrefix:n.kind==="value"?Et:Object.freeze(r.map((i)=>i.node))})},Et=Object.freeze([]),je=32,Ve=8192,Dt=2*je,Vt=()=>{let e,t,n=0,o=0,r=!1,i=!0,s=()=>{e=void 0,t=void 0,o=0,i=!1};return{get enabled(){return i},beginSearch(){return n=0,i&&e!==void 0},hasProvenNoPath(c){if(e?.has(c))return n|=1,!0;if(t?.has(c))return n|=2,!0;return!1},completeNegative(c){if(!i)return;if(n!==0){if(c.size>Ve){s();return}let h=e,A=t;e=void 0,t=void 0;let f=(S)=>{if(S===void 0||S.size>Ve||S===e)return;if(e===void 0||S.size>e.size)t=e,e=S;else if(t===void 0||S.size>t.size)t=S};f(h),f(A),f(c),r=!0,o=0;return}if(c.size===1)return;let d=c.size>=je&&c.size<=Ve;if(e===void 0){if(d)e=c;return}let l=Math.min(c.size,je);if(o+=l,!r&&t===void 0&&d){t=c;return}if(o>=Dt)s()},reset:()=>{e=void 0,t=void 0,n=0,o=0,r=!1,i=!0}}},jt=(e,t,n,o,r,i,s)=>{let a=s?.beginSearch()??!1,c=[e],d=new Map([[e,Ze]]);while(c.length>0){let l=c.pop();if(Object.is(l,t)){let f=[],S=l;while(S!==Ze)f.push(S),S=d.get(S);return f.reverse(),Object.freeze(f)}let h=o.getTransientDependencies(n,l);if(h){if(h.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let f of h){if(d.has(f.node))continue;d.set(f.node,l),c.push(f.node)}continue}if(n.getSelectorDependencyNodes!==void 0){let f=n.getSelectorDependencyNodes(l);if(f===void 0||f.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let S of f){if(d.has(S))continue;d.set(S,l),c.push(S)}continue}let A=n.getSelectorRecord(l);if(!A||A.dependencies.length===0)continue;if(a&&s.hasProvenNoPath(l))continue;for(let f of A.dependencies){if(d.has(f.node))continue;d.set(f.node,l),c.push(f.node)}}s?.completeNegative(d);return},Je=(e,t)=>{let n=tt(e);if(n.kind==="thenable")return nt(n),new M(t);if(n.kind==="inspection-error")return n.error;return e},et=(e,t)=>{let n=tt(e);if(n.kind==="thenable")return nt(n),Object.freeze({kind:"error",error:new M(t)});if(n.kind==="inspection-error")return Object.freeze({kind:"error",error:n.error});return Object.freeze({kind:"value",value:e})},ot=(e,t,n,o=jt)=>{let{node:r}=e,i=[],s=t.getSelectorRecord(r),a=s?.dependencies,c=a===void 0?new Set:void 0,d,l=0,h=t.getComparisonBaseline(r),A=!0,f=()=>{let u=c;if(u!==void 0)return u;u=new Set;for(let m of i)u.add(m.node);return c=u,u};n.enter(t,r,i);let S=t.getSelectorGraphVersion(),_=n.getSelectorGraphPublicationCount(t),I=S,H=_,He=S,Be=_,pe,ye=!1,Le=S,Ae=0,Y,kt=(u)=>{if(u!==Le)Le=u,Ae=0,Y?.reset();if(Ae++,(a?.length??0)<3&&Ae<3)return;if(Y===void 0)Y=Vt();return Y.enabled?Y:void 0},vt=(u)=>{if(ye)return;let m=t.beginSelectorGraphObservation?.(u);if(m===void 0)return;ye=!0,pe=m},be=(u,m,b,k)=>b-u===k-m,Ge=(u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t),b=be(I,H,u,m))=>{if(u===I)return;if(!ye&&t.beginSelectorGraphObservation!==void 0){I=u,H=m;return}let k=pe?.takeAddedEdges();if(b){I=u,H=m;return}if(k!==void 0){let v=!1;for(let T of k)if(o(T.head,T.tail,t,n,2,i.length)!==void 0){v=!0;break}if(!v){I=u,H=m;return}}for(let v=0;v<i.length;v++){let T=i[v],C=o(T.node,r,t,n,0,i.length);if(!C)continue;if(c!==void 0)for(let V=i.length-1;V>=v;V--)c.delete(i[V].node);if(i.length=v,l++,n.getControlFault().kind==="fault")return;let w=new Z(r,[r,...C]);n.latchCycle(t,r,w);return}I=u,H=m},ke=()=>{let u=t.getSelectorGraphVersion(),m=n.getSelectorGraphPublicationCount(t);He=u,Be=m;let b=be(I,H,u,m);if(!b)n.revalidateAncestorPrefixes(t,r);Ge(u,m,b)};n.setPrefixRevalidator(t,r,Ge);let gt=(u)=>{if(!A)throw new we;let m=n.getControlFault();if(m.kind==="fault")throw m.error;let b=n.getCycle(t,r);if(b!==void 0)throw b;let k=n.activeCyclePath(t,u);if(k){let p=new Z(r,k);throw n.latchCycle(t,r,p),p}let v=i.length,T,C=!1;if(c===void 0){let p=a?.[v];if(p!==void 0&&Object.is(p.node,u))T=!1,C=!0;else T=f().has(u)}else T=c.has(u);if(!T&&!C&&a!==void 0&&a.length>0){let p=a[i.length];if(p!==void 0&&Object.is(p.node,u))C=!0;else{if(d===void 0){d=new Set;for(let G of a)d.add(G.node)}C=d.has(u)}}let B=l,w=t.serve(u,n);ke();let V=n.getCycle(t,r);if(V!==void 0)throw V;let X=c!==void 0?c.has(u):l===B&&i.length===v?!1:f().has(u),P=He,L=Be,j=X||C&&P===S,se=a===void 0&&be(S,_,P,L);if(!j&&!se){let p=o(u,r,t,n,1,i.length,kt(P));if(p){let G=n.getControlFault();if(G.kind==="fault")throw G.error;let We=new Z(r,[r,...p]);throw n.latchCycle(t,r,We),We}}if(!X){let p=s?.dependencies[i.length];c?.add(u),i.push(p!==void 0&&Object.is(p.node,u)&&Object.is(p.token,w.token)?p:Object.freeze({node:u,token:w.token})),vt(u)}if(I=P,H=L,w.outcome.kind==="control-error"){n.latchControlFault(w.outcome.error);let p=n.getControlFault();if(p.kind==="fault")throw p.error;throw w.outcome.error}let Q=n.getControlFault();if(Q.kind==="fault")throw Q.error;if(w.outcome.kind==="error")throw new ve(u,w.outcome.error);return w.outcome.value};try{let u,m,b=!1;try{u=e.get(gt)}catch(V){b=!0,m=V}finally{A=!1}if(b)m=Je(m,"getter");let k=b?void 0:et(u,"getter");ke();let v=n.getControlFault();if(v.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:v.error},i);let T=n.getCycle(t,r);if(T!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:T},i);if(b)return O(r,t.createOutcomeToken(),{kind:"error",error:m instanceof M?m:new ae(r,m)},i);if(k===void 0)throw Error("Selector result classification was not completed");let C=n.getControlFault();if(C.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:C.error},i);if(k.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:k.error instanceof M?k.error:new ae(r,k.error)},i);let B=k.value,w;if(h){let V=e.equal??Object.is,X,P,L=!1;try{X=V(h.value,B)}catch(G){L=!0,P=Je(G,"comparator")}let j=L?void 0:et(X,"comparator");ke();let se=n.getControlFault();if(se.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:se.error},i);let Q=n.getCycle(t,r);if(Q!==void 0)return O(r,t.createOutcomeToken(),{kind:"error",error:Q},i);if(L)return O(r,t.createOutcomeToken(),{kind:"error",error:P instanceof M?P:new ce(r,P)},i);if(j===void 0)throw Error("Selector comparator classification was not completed");let p=n.getControlFault();if(p.kind==="fault")return O(r,t.createOutcomeToken(),{kind:"control-error",error:p.error},i);if(j.kind==="error")return O(r,t.createOutcomeToken(),{kind:"error",error:j.error instanceof M?j.error:new ce(r,j.error)},i);if(j.value!==!0&&j.value!==!1)return O(r,t.createOutcomeToken(),{kind:"error",error:new ge},i);if(j.value===!0)B=h.value,w=h.current?h.token:void 0}return O(r,w??t.createOutcomeToken(),{kind:"value",value:B},i)}finally{try{pe?.close()}finally{n.leave(t,r)}}};class y{#t=[];#n;#o=0;#i;#a=xt;latchControlFault(e){if(this.#a.kind==="fault")return;this.#a=Object.freeze({kind:"fault",error:e})}getControlFault(){return this.#a}noteSelectorGraphPublication(e){let t=this.#n;if(t===void 0){this.#n=e,this.#o=1;return}if(Object.is(t,e)){this.#o++;return}let n=this.#i??(this.#i=new WeakMap);n.set(e,(n.get(e)??0)+1)}getSelectorGraphPublicationCount(e){return Object.is(this.#n,e)?this.#o:this.#i?.get(e)??0}enter(e,t,n){this.#t.push({host:e,selector:t,dependencyPrefix:n,revalidatePrefix:void 0,cycleError:void 0})}leave(e,t){let n=this.#t.pop();if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame corruption")}isActive(e,t){return this.#t.some((n)=>Object.is(n.host,e)&&Object.is(n.selector,t))}activeCyclePath(e,t){let n=this.#t.findIndex((o)=>Object.is(o.host,e)&&Object.is(o.selector,t));if(n===-1)return;return Object.freeze([...this.#t.slice(n).filter((o)=>Object.is(o.host,e)).map((o)=>o.selector),t])}setPrefixRevalidator(e,t,n){let o=this.#r(e,t);if(o.revalidatePrefix!==void 0)throw Error("Selector prefix revalidator is already installed");o.revalidatePrefix=n}revalidateAncestorPrefixes(e,t){this.#r(e,t);for(let n=0;n<this.#t.length-1;n++){let o=this.#t[n];if(!Object.is(o.host,e))continue;let r=o.revalidatePrefix;if(r===void 0)throw Error("Selector prefix revalidator is not installed");r()}}getTransientDependencies(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o.dependencyPrefix}return}latchCycle(e,t,n){let o=this.#s(e,t);o.cycleError??=n}getCycle(e,t){return this.#r(e,t).cycleError}#r(e,t){let n=this.#t[this.#t.length-1];if(!n||!Object.is(n.host,e)||!Object.is(n.selector,t))throw Error("Selector evaluation frame is not active");return n}#s(e,t){for(let n=this.#t.length-1;n>=0;n--){let o=this.#t[n];if(Object.is(o.host,e)&&Object.is(o.selector,t))return o}throw Error("Selector evaluation frame is not active")}}var xt=Object.freeze({kind:"none"});var rt=Symbol("no-committed-selector-baseline");class Se{#t;#n=new Map;#o=new Map;#i=new Map;#a;#r=1;#s=0;#d;constructor(e,t,n){this.#t=e,this.#a=t,this.#d=n}readSelector(e){let t=new y,n=this.serve(e,t);if(n.outcome.kind!=="value")throw n.outcome.error;return n.outcome.value}advanceGeneration(e){if(e!==this.#a+1)throw Error("Scratch selector generation is not contiguous");this.#a=e,this.#n.clear(),this.#o.clear()}revoke(){this.#n.clear(),this.#o.clear(),this.#i.clear(),this.#t=void 0}serve(e,t){let n=this.#c(),o=n.resolveState(e,t);if(o.kind==="atom"){let a=this.#o.get(e);if(a!==void 0)return a;let c=Object.freeze({token:this.createOutcomeToken(),outcome:n.readDraftAtomOutcome(e,t)});return this.#o.set(e,c),c}let r=this.#n.get(e);if(r!==void 0)return r.served;let i=n.runSelectorActivity(t,()=>this.#d(o.definition,this,t));if(i.outcome.kind==="control-error")throw i.outcome.error;let s=Object.freeze({token:i.token,outcome:i.outcome});return this.#s++,t.noteSelectorGraphPublication(this),this.#n.set(e,Object.freeze({served:s,dependencies:i.dependencies})),s}getSelectorRecord(e){let t=this.#n.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorGraphVersion(){return this.#s}getComparisonBaseline(e){let t=this.#i.get(e);if(t===void 0)t=this.#c().captureCommittedSelectorSuccess(e)??rt,this.#i.set(e,t);return t===rt?void 0:Object.freeze({current:!1,value:t.value})}createOutcomeToken(){return Object.freeze({id:this.#r++})}#c(){if(this.#t===void 0)throw Error("Scratch selector host is revoked");return this.#t}}var it=4096,Pt=Object.freeze([]);class at{onDeadReference;onEmptinessProbe;#t=new WeakMap;#n=new Set;constructor(e,t){this.onDeadReference=e;this.onEmptinessProbe=t}add(e){if(this.#t.has(e))return;let t=new WeakRef(e);this.#t.set(e,t),this.#n.add(t)}delete(e){let t=this.#t.get(e);if(t===void 0)return;this.#t.delete(e),this.#n.delete(t)}forEach(e){for(let t of this.#n){let n=t.deref();if(n===void 0){this.#n.delete(t),this.onDeadReference?.();continue}e(n)}}isEmpty(){for(let e of this.#n){if(this.onEmptinessProbe?.(),e.deref()!==void 0)return!1;this.#n.delete(e),this.onDeadReference?.()}return!0}clear(){this.#n.clear(),this.#t=new WeakMap}}class me{coordinator;parent;name;children;namedChildren=new Map;atomOverrides=new WeakMap;#t=new WeakMap;#n;#o=new WeakMap;#i;#a=new WeakMap;#r=new WeakSet;#s=0;#d=0;#c;#l=!1;#h;#u="live";constructor(e,t,n){this.coordinator=e,this.parent=t,this.name=n,this.children=this.#p(),this.#n=this.#p()}get status(){return this.#u}get facade(){if(this.#h===void 0)throw Error("Store scope facade is not installed");return this.#h}installFacade(e){if(this.#h!==void 0)throw Error("Store scope facade is already installed");this.#h=e}markDisposing(){if(this.#u==="live")this.#u="disposing"}markDisposed(){this.#u="disposed"}getAtomView(e){return this.#t.get(e)}getMaterializedServedOutcome(e){let t=this.#t.get(e);if(t!==void 0)return t.served;let n=e,o=this.#o.get(n);return o!==void 0&&!this.#r.has(n)?o.served:void 0}createAtomView(e,t,n){let o=this.#t.get(e);if(o!==void 0)return o;let r={scope:this,atom:e,served:Object.freeze({token:this.createOutcomeToken(),outcome:t}),inheritedFrom:n,inheritingChildren:this.#p()};if(this.#t.set(e,r),this.#n.add(r),n!==void 0)n.inheritingChildren.add(r),this.coordinator.recordCounter("routeAdds");return r}attachAtomView(e,t){if(Object.is(e.inheritedFrom,t))return;this.detachAtomView(e),e.inheritedFrom=t,t.inheritingChildren.add(e),this.coordinator.recordCounter("routeAdds")}detachAtomView(e){if(e.inheritedFrom===void 0)return;e.inheritedFrom.inheritingChildren.delete(e),e.inheritedFrom=void 0,this.coordinator.recordCounter("routeRemoves")}updateAtomView(e,t){e.served=Object.freeze({token:this.createOutcomeToken(),outcome:t}),this.coordinator.reachSubscriptionTarget(this,e.atom)}captureCommittedSelectorSuccess(e){let t=this.#o.get(e)?.lastSuccess;return t===void 0?void 0:Object.freeze({value:t.value})}isSelectorDirty(e){return this.#r.has(e)}getCommittedSelectorDependencies(e){return this.#o.get(e)?.dependencies}markDependents(e){this.#a.get(e)?.forEach((t)=>{if(this.coordinator.enqueueSelector(this,t))this.#r.add(t)})}dropRecords(){this.#n.forEach((e)=>{this.detachAtomView(e),e.inheritingChildren.clear()}),this.#n.clear(),this.atomOverrides=new WeakMap,this.#t=new WeakMap,this.#o=new WeakMap,this.#i=void 0,this.#a=new WeakMap,this.#r=new WeakSet,this.#s++,this.#e()}serve(e,t){let n=this.coordinator.runtimeDomain;if(W(n,e,t)==="invalid")throw TypeError("Selector get requires a valid State");return this.serveKnownLocal(e,t)}serveKnownLocal(e,t){let n=this.coordinator.runtimeDomain;if(n.atoms.has(e)){let a=this.#t.get(e);if(a!==void 0)return a.served;return this.coordinator.serveScopeAtom(this,e,t)}let o=n.selectors.get(e);if(o===void 0)throw TypeError("Unknown committed StoreTree state");let r=e,i=this.#o.get(r);if(i!==void 0&&this.coordinator.postSourceApply)this.coordinator.prepareSelectorRead(this,r,t),i=this.#o.get(r);if(i!==void 0&&!this.#r.has(r))return i.served;let s=re(n,t,()=>this.coordinator.evaluate(o,this,t));if(s.outcome.kind==="control-error"&&!this.coordinator.postSourceApply)throw s.outcome.error;return this.#A(r,s,t)}getSelectorRecord(e){let t=this.#o.get(e);return t===void 0?void 0:Object.freeze({dependencies:t.dependencies})}getSelectorDependencyNodes(e){let t=this.#o.get(e);if(t===void 0)return;let n=e,o=this.#i?.get(n);if(o===void 0){let r=[];for(let s of t.dependencies)if(this.coordinator.runtimeDomain.selectors.has(s.node))r.push(s.node);o=Object.freeze(r);let i=this.#i;if(i===void 0)i=new WeakMap,this.#i=i;i.set(n,o)}return o}getSelectorGraphVersion(){return this.#s}beginSelectorGraphObservation(e){if(!this.coordinator.runtimeDomain.selectors.has(e))return;if(this.#d===0)this.#c=[],this.#l=!1;this.#d++;let t=this.#c?.length??0,n=!1;return Object.freeze({takeAddedEdges:()=>{if(n||this.#l)return;let o=this.#c;if(o===void 0)return;if(t===o.length)return Pt;let r=Object.freeze(o.slice(t));return t=o.length,r},close:()=>{if(n)return;if(n=!0,this.#d--,this.#d!==0)return;this.#c=void 0,this.#l=!1}})}getComparisonBaseline(e){let t=this.#o.get(e);if(t?.lastSuccess===void 0)return;return t.served.outcome.kind==="value"?Object.freeze({current:!0,value:t.lastSuccess.value,token:t.served.token}):Object.freeze({current:!1,value:t.lastSuccess.value})}createOutcomeToken(){return this.coordinator.createOutcomeToken()}#A(e,t,n){let o=this.#o.get(e),r=Object.freeze({token:t.token,outcome:t.outcome}),i=Object.freeze({served:r,dependencies:t.dependencies,lastSuccess:t.outcome.kind==="value"?Object.freeze({value:t.outcome.value,token:t.token}):o?.lastSuccess}),s=this.#y(e,o?.dependencies??st,t.dependencies),a=s?this.#S(e,o?.dependencies??st,t.dependencies):void 0;if(s)this.#i?.delete(e);if(this.#s++,n.noteSelectorGraphPublication(this),this.#o.set(e,i),this.#r.delete(e),a!==void 0)this.#m(a);if(o!==void 0&&!Object.is(o.served.token,t.token))this.coordinator.reachSubscriptionTarget(this,e),this.markDependents(e);if(t.outcome.kind==="control-error")this.coordinator.latchPropagationControlFault(t.outcome.error);return r}#y(e,t,n){if(t.length===n.length){let o=0;while(o<t.length&&Object.is(t[o].node,n[o].node))o++;if(o===t.length)return!1}for(let o of t){let r=this.#a.get(o.node);if(r?.delete(e),r?.isEmpty())this.#a.delete(o.node)}for(let o of n){let r=this.#a.get(o.node);if(r===void 0)r=this.#p(),this.#a.set(o.node,r);r.add(e)}return!0}#S(e,t,n){if(this.#d===0||this.#l)return;let o=this.#c;if(o===void 0){this.#e();return}let r=it-o.length,i=this.coordinator.runtimeDomain.selectors,s=new Set;for(let c of t)if(i.has(c.node))s.add(c.node);let a=[];for(let c of n)if(i.has(c.node)&&!s.has(c.node)){if(a.push(Object.freeze({tail:e,head:c.node})),a.length>r){this.#e();return}}return a}#m(e){if(e.length===0)return;let t=this.#c;if(t===void 0||t.length+e.length>it){this.#e();return}t.push(...e)}#e(){if(this.#d===0)return;this.#c=[],this.#l=!0}#p(){return new at(this.coordinator.instrumented?()=>this.coordinator.recordCounter("deadRouteCompactions"):void 0)}}var st=Object.freeze([]);class xe{transaction=Object.freeze({});#t;#n;#o;#i;#a;#r;#s;#d;#c;#l;#h;#u;#A;#y;#S;#m;#e;generation=0;active=!0;constructor(e){this.#t=e}get hasIntents(){return this.#o!==void 0||this.#i!==void 0||this.#a!==void 0||this.#r!==void 0}get singleIntentScope(){return this.#n}get singleIntent(){return this.#i===void 0?this.#o:void 0}stage(e,t){let n=this.#r;if(n!==void 0){let i=n.get(e);if(i===void 0)i=this.#f(),n.set(e,i);i.set(t.atom,t),this.#p();return}let o=this.#a;if(o!==void 0){if(Object.is(this.#n,e))o.set(t.atom,t);else{let i=this.#f();i.set(this.#n,o);let s=this.#f();s.set(t.atom,t),i.set(e,s),this.#r=i,this.#a=void 0,this.#n=void 0}this.#p();return}let r=this.#o;if(r===void 0){this.#n=e,this.#o=t,this.#p();return}if(Object.is(this.#n,e)&&Object.is(r.atom,t.atom)){this.#o=t,this.#p();return}if(Object.is(this.#n,e)){let i=this.#i;if(i===void 0){this.#i=t,this.#p();return}if(Object.is(i.atom,t.atom)){this.#i=t,this.#p();return}let s=this.#f();s.set(r.atom,r),s.set(i.atom,i),s.set(t.atom,t),this.#a=s}else{let i=this.#f(),s=this.#f();if(s.set(r.atom,r),this.#i!==void 0)s.set(this.#i.atom,this.#i);i.set(this.#n,s);let a=this.#f();a.set(t.atom,t),i.set(e,a),this.#r=i,this.#n=void 0}this.#o=void 0,this.#i=void 0,this.#p()}forEachIntent(e){let t=this.#o;if(t!==void 0){if(e(this.#n,t),this.#i!==void 0)e(this.#n,this.#i);return}let n=this.#a;if(n!==void 0){let r=this.#n;for(let i of n.values())e(r,i);return}let o=this.#r;if(o===void 0)return;for(let[r,i]of o)for(let s of i.values())e(r,s)}getIntent(e,t){let n=this.#o;if(n!==void 0&&Object.is(this.#n,e)&&Object.is(n.atom,t))return n;let o=this.#i;if(o!==void 0&&Object.is(this.#n,e)&&Object.is(o.atom,t))return o;if(Object.is(this.#n,e))return this.#a?.get(t);return this.#r?.get(e)?.get(t)}getAtomBaseline(e,t){if(this.#c!==void 0&&Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;if(this.#h!==void 0&&Object.is(this.#s,e)&&Object.is(this.#l,t))return this.#h;if(Object.is(this.#s,e))return this.#u?.get(t);return this.#A?.get(e)?.get(t)}setAtomBaseline(e,t,n){let o=this.#A;if(o!==void 0){let s=o.get(e);if(s===void 0)s=this.#f(),o.set(e,s);if(!s.has(t))s.set(t,n);return}let r=this.#u;if(r!==void 0){if(Object.is(this.#s,e)){if(!r.has(t))r.set(t,n)}else{let s=this.#f();s.set(this.#s,r);let a=this.#f();a.set(t,n),s.set(e,a),this.#A=s,this.#u=void 0,this.#s=void 0}return}let i=this.#c;if(i===void 0){this.#s=e,this.#d=t,this.#c=n;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t))return;if(Object.is(this.#s,e)){let s=this.#h;if(s===void 0){this.#l=t,this.#h=n;return}if(Object.is(this.#l,t))return;let a=this.#f();a.set(this.#d,i),a.set(this.#l,s),a.set(t,n),this.#u=a}else{let s=this.#f(),a=this.#f();if(a.set(this.#d,i),this.#l!==void 0&&this.#h!==void 0)a.set(this.#l,this.#h);s.set(this.#s,a);let c=this.#f();c.set(t,n),s.set(e,c),this.#A=s,this.#s=void 0}this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0}getFallback(e){if(Object.is(this.#y,e))return this.#S;return this.#m?.get(e)}hasFallback(e){return Object.is(this.#y,e)||(this.#m?.has(e)??!1)}setFallback(e,t){let n=this.#m;if(n!==void 0){n.set(e,t);return}if(this.#S===void 0){this.#y=e,this.#S=t;return}if(Object.is(this.#y,e)){this.#S=t;return}let o=this.#f();o.set(this.#y,this.#S),o.set(e,t),this.#m=o,this.#y=void 0,this.#S=void 0}forEachFallback(e){if(this.#y!==void 0&&this.#S!==void 0)e(this.#y,this.#S);if(this.#m!==void 0)for(let[t,n]of this.#m)e(t,n)}#p(){this.generation+=1;let e=this.#e;if(e!==void 0)for(let t of e.values())t.advanceGeneration(this.generation)}getScratchHost(e){return this.#e?.get(e)}installScratchHost(e,t){let n=this.#e,o=n===void 0;if(n===void 0)n=new Map,this.#e=n;return n.set(e,t),o}close(){if(!this.active)return;this.active=!1;let e=this.#e;if(e!==void 0){for(let t of e.values())t.revoke();e.clear()}this.#e=void 0}release(){if(this.#a?.clear(),this.#r!==void 0){for(let e of this.#r.values())e.clear();this.#r.clear()}if(this.#u?.clear(),this.#A!==void 0){for(let e of this.#A.values())e.clear();this.#A.clear()}this.#m?.clear(),this.#n=void 0,this.#o=void 0,this.#i=void 0,this.#a=void 0,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=void 0,this.#l=void 0,this.#h=void 0,this.#u=void 0,this.#A=void 0,this.#y=void 0,this.#S=void 0,this.#m=void 0,this.#e?.clear(),this.#e=void 0}#f(){return this.#t?.(),new Map}}class ct{get;set;update;reset;scope;constructor(e,t,n){this.get=(o)=>e.transactionGet(t,n,o),this.set=(o,r)=>e.transactionSet(t,n,o,r),this.update=(o,r)=>e.transactionUpdate(t,n,o,r),this.reset=(o)=>e.transactionReset(t,n,o),this.scope=(...o)=>e.transactionScope(t,n,o[0],o.length,o[1]),ie(this,e.runtimeDomain.ownerToken),e.runtimeDomain.transactionCursors.set(this,t),Object.freeze(this)}}var Pe=(e,t,n)=>new ct(e,t,n),Ie=(e)=>{let t=N(e);if(t.kind==="not-thenable")return;if(t.kind==="inspection-error")throw t.error;throw E(t),new J},dt=(e)=>{let t=N(e);if(t.kind==="not-thenable")throw e;if(t.kind==="inspection-error")throw t.error;throw E(t),new J};var It=(e)=>function(){let n=e.target;if(n===void 0)return;n.host.removeSubscription(e)},pt=Object.freeze({sourceEpoch:0,routeVisits:1,deadRouteCompactions:2,scratchHostAllocations:3,propagationSettlements:4,disposalVisits:5,warmParentHops:6,scopeNodesCreated:7,storeFacadesCreated:8,namedScopeHits:9,namedScopeMisses:10,routeAdds:11,routeRemoves:12,fallbackPublications:13,draftCreations:14,scratchMapAllocations:15,finalResolutionVisits:16,finalPreflightVisits:17,draftStorageAllocations:18,commitWorksetAllocations:19,subscriptionIndexMapsCreated:20,subscriptionTargetsCreated:21,subscriptionRegistrations:22,subscriptionRemovals:23,unsubscribeClosuresCreated:24,activeSubscriptionScopes:25,activeSubscriptionTargets:26,activeSubscriptions:27,notificationTargetsReached:28,notificationSnapshots:29,subscriberCallbacksAttempted:30,subscriberErrors:31}),zt=32,yt=new WeakMap,an=()=>{let e=new Uint32Array(zt),t=Object.freeze({read(n){return e[pt[n]]??0}});return yt.set(t,e),t},R=(e)=>Object.freeze({kind:"value",value:e}),Mt=(e)=>Object.freeze({kind:"error",error:e}),lt=(e)=>e.kind==="value"?R(e.value):Mt(e.error),ut=(e,t)=>{if(e.kind!==t.kind)return!1;if(e.kind==="value"&&t.kind==="value")return Object.is(e.value,t.value);return e.kind!=="value"&&t.kind!=="value"&&Object.is(e.error,t.error)},ft=1,ze=2,ht=4,Ft=(e)=>({onAllocation:e,preflightAtom:void 0,preflightScope:void 0,preflightOutcome:void 0,secondPreflightAtom:void 0,secondPreflightScope:void 0,secondPreflightOutcome:void 0,preflight:void 0,consideredRecord:void 0,secondConsideredRecord:void 0,considered:void 0,affectedRecord:void 0,affectedBefore:void 0,secondAffectedRecord:void 0,secondAffectedBefore:void 0,affected:void 0}),Fe=(e)=>(e.onAllocation?.(),new Map),_t=(e)=>(e.onAllocation?.(),new Set),Me=(e,t,n)=>{if(e.preflightOutcome!==void 0&&Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return e.preflightOutcome;if(e.secondPreflightOutcome!==void 0&&Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return e.secondPreflightOutcome;return e.preflight?.get(t)?.get(n)},St=(e,t,n,o)=>{if(e.preflightOutcome===void 0){e.preflightAtom=t,e.preflightScope=n,e.preflightOutcome=o;return}if(Object.is(e.preflightAtom,t)&&Object.is(e.preflightScope,n))return;if(e.secondPreflightOutcome===void 0){e.secondPreflightAtom=t,e.secondPreflightScope=n,e.secondPreflightOutcome=o;return}if(Object.is(e.secondPreflightAtom,t)&&Object.is(e.secondPreflightScope,n))return;let r=e.preflight;if(r===void 0)r=Fe(e),e.preflight=r;let i=r.get(t);if(i===void 0)i=Fe(e),r.set(t,i);i.set(n,o)},Ht=(e,t)=>{if(Object.is(e.consideredRecord,t)||Object.is(e.secondConsideredRecord,t))return!1;if(e.consideredRecord===void 0)return e.consideredRecord=t,!0;if(e.secondConsideredRecord===void 0)return e.secondConsideredRecord=t,!0;let n=e.considered;if(n===void 0)n=_t(e),e.considered=n;if(n.has(t))return!1;return n.add(t),!0},Bt=(e,t,n)=>{if(e.affectedRecord===void 0){e.affectedRecord=t,e.affectedBefore=n;return}if(e.secondAffectedRecord===void 0){e.secondAffectedRecord=t,e.secondAffectedBefore=n;return}let o=e.affected;if(o===void 0)o=Fe(e),e.affected=o;o.set(t,n)};class At{#t=new WeakMap;#n;#o=1;#i=0;#a=!1;#r;#s;#d;#c=0;#l;#h;#u;#A=1;#y=0;#S;#m;#e;#p;#f;evaluate;constructor(e,t,n){this.#e=e,this.#p=t===void 0?void 0:yt.get(t),this.#f=n,this.evaluate=n?.evaluate??ot,this.#n=new me(this),this.recordCounter("scopeNodesCreated")}get runtimeDomain(){return this.#e}get postSourceApply(){return this.#a}get instrumented(){return this.#p!==void 0}get rootScope(){return this.#n}recordCounter(e,t=1){let n=this.#p;if(n===void 0)return;n[pt[e]]+=t}#T(){return this.recordCounter("draftCreations"),new xe(this.instrumented?()=>this.recordCounter("draftStorageAllocations"):void 0)}get(e,t){let n=new y,o=t,r=x(this.#e,o,n),i=De(this.#e,"StoreTree.get");if(this.#b(e),r==="invalid")throw TypeError("StoreTree.get requires a valid State");if(i===void 0){let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value")throw s.outcome.error;return s.outcome.value}try{let s=e.serveKnownLocal(o,n);if(s.outcome.kind!=="value"){if(s.outcome.kind==="control-error")i.latchControlFault(s.outcome.error);throw s.outcome.error}return s.outcome.value}catch(s){let a=n.getControlFault();if(a.kind==="fault")i.latchControlFault(a.error);throw s}}sub(e,t,n){let o=t,r,i=this.#e.states.has(o)?"local":x(this.#e,o,r=new y);if(D(this.#e,"StoreTree.sub"),this.#b(e),i==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("StoreTree.sub requires a valid State");if(typeof n!=="function")throw TypeError("StoreTree.sub requires a callback function");let s=e.getMaterializedServedOutcome(o)??e.serveKnownLocal(o,r??new y);if(s.outcome.kind==="control-error")throw s.outcome.error;let a=this.#u;if(a===void 0){if(a=new Map,this.#u=a,this.instrumented)this.recordCounter("subscriptionIndexMapsCreated")}let c=a.get(e);if(c===void 0){if(c=new Map,a.set(e,c),this.instrumented)this.recordCounter("subscriptionIndexMapsCreated"),this.recordCounter("activeSubscriptionScopes")}let d=c.get(o);if(d===void 0){if(d={host:this,scope:e,state:o,head:void 0,tail:void 0,reachedEpoch:0},c.set(o,d),this.instrumented)this.recordCounter("subscriptionTargetsCreated"),this.recordCounter("activeSubscriptionTargets")}let l={callback:n,target:d,previous:d.tail,next:void 0};if(d.tail===void 0)d.head=l;else d.tail.next=l;if(d.tail=l,this.instrumented)this.recordCounter("subscriptionRegistrations"),this.recordCounter("activeSubscriptions"),this.recordCounter("unsubscribeClosuresCreated");return It(l)}removeSubscription(e){let t=e.target;if(t===void 0)return;Xe(this.#e);let{previous:n,next:o}=e;if(n===void 0)t.head=o;else n.next=o;if(o===void 0)t.tail=n;else o.previous=n;e.callback=void 0,e.target=void 0,e.previous=void 0,e.next=void 0;let r=this.instrumented;if(r)this.recordCounter("subscriptionRemovals"),this.recordCounter("activeSubscriptions",-1);if(t.head!==void 0)return;let i=this.#u,s=i?.get(t.scope);if(s?.get(t.state)===t){if(s.delete(t.state),r)this.recordCounter("activeSubscriptionTargets",-1)}if(s!==void 0&&s.size===0){if(i?.delete(t.scope),r)this.recordCounter("activeSubscriptionScopes",-1)}if(i?.size===0)this.#u=void 0}set(e,t,n){this.#O(e,t,"StoreTree.set","set",n)}update(e,t,n){this.#O(e,t,"StoreTree.update","update",n)}reset(e,t){this.#O(e,t,"StoreTree.reset","reset")}scope(e,t,n){if(t!==0&&(typeof n==="object"||typeof n==="function")&&n!==null)x(this.#e,n,new y);if(D(this.#e,"StoreTree.scope"),this.#b(e),t===0)return this.#j(e);if(t!==1||typeof n!=="string")throw TypeError("StoreTree.scope requires a string name");let o=e.namedChildren.get(n);if(o!==void 0)return this.recordCounter("namedScopeHits"),o.facade;return this.recordCounter("namedScopeMisses"),this.#j(e,n)}dispose(e){if(D(this.#e,"StoreTree.dispose"),e.status!=="live")return;let t=[],n=[Object.freeze({node:e,expanded:!1})];while(n.length>0){let{node:o,expanded:r}=n.pop();if(r){t.push(o);continue}o.markDisposing(),n.push(Object.freeze({node:o,expanded:!0}));let i=[];o.children.forEach((s)=>i.push(s));for(let s=i.length-1;s>=0;s--)n.push(Object.freeze({node:i[s],expanded:!1}))}for(let o of t){this.recordCounter("disposalVisits");let r=o.parent;if(r!==void 0){if(o.name!==void 0&&Object.is(r.namedChildren.get(o.name),o))r.namedChildren.delete(o.name);r.children.delete(o)}this.#$(o),o.dropRecords(),o.namedChildren.clear(),o.children.clear(),o.markDisposed()}if(Object.is(e,this.#n))this.#t=new WeakMap}txn(e,t,n){if(D(this.#e,"StoreTree.txn"),this.#b(e),typeof t!=="function"||n!==void 0&&typeof n!=="string")throw TypeError("StoreTree.txn requires a callback");let o=this.#T(),r=Pe(this,o,e),i;try{i=Ye(this.#e,o.transaction,()=>t(r))}catch(s){throw o.close(),o.release(),s}o.close();try{let s=new y;ue(this.#e,s,()=>Ie(i)),this.#F(o)}finally{o.release()}return i}readHydrationSnapshot(e,t){let n=new y,o=t,r=x(this.#e,o,n);if(D(this.#e,"adapter readHydrationSnapshot"),this.#b(e),r==="invalid"||!this.#e.atoms.has(o)&&!this.#e.selectors.has(o))throw TypeError("readHydrationSnapshot requires a valid State");let i=this.#T(),s;try{if(this.#e.atoms.has(o)){let a=this.#k(i,e,o,n);if(a.kind!=="value")throw a.error;return a.value}return s=this.#K(i,e),s.readSelector(o)}finally{s?.revoke(),i.close(),i.forEachFallback((a,c)=>{if(this.#t.has(a))return;this.#t.set(a,c),this.recordCounter("fallbackPublications")}),i.release()}}transactionGet(e,t,n){let o=n,r=new y,i=x(this.#e,o,r);if(fe(this.#e,e.transaction,e.active),this.#b(t),i==="invalid")throw TypeError("Transaction.get requires a valid State");if(this.#e.atoms.has(o)){let a=this.#k(e,t,o,r);if(a.kind!=="value")throw a.error;return a.value}if(!this.#e.selectors.has(o))throw TypeError("Transaction.get requires a readable State");let s=e.getScratchHost(t);if(s===void 0){if(s=this.#q(e,t),e.installScratchHost(t,s))this.recordCounter("scratchMapAllocations")}return s.readSelector(o)}transactionSet(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.set"),this.#P(e,t,r,o,i)}transactionUpdate(e,t,n,o){let r=n,i=new y;this.#R(e,t,r,i,"Transaction.update"),this.#I(e,t,r,o,i,"Transaction.update")}transactionReset(e,t,n){let o=n,r=new y;this.#R(e,t,o,r,"Transaction.reset"),this.#z(e,t,o,r)}transactionScope(e,t,n,o,r){let i=new y;if(typeof n!=="string")x(this.#e,n,i);fe(this.#e,e.transaction,e.active),this.#b(t);let s=this.#Y(t,n);if(o!==1&&o!==2)throw TypeError("Transaction.scope requires a target and optional callback");let a=Pe(this,e,s);if(o===1)return a;if(typeof r!=="function")throw TypeError("Transaction.scope requires a callback function");let c;try{c=r(a)}catch(l){let h=new y;return ue(this.#e,h,()=>dt(l))}let d=new y;return ue(this.#e,d,()=>Ie(c)),c}createOutcomeToken(){return Object.freeze({id:this.#o++})}#q(e,t){return this.recordCounter("scratchHostAllocations"),new Se(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:(n)=>t.captureCommittedSelectorSuccess(n),runSelectorActivity:(n,o)=>re(this.#e,n,o)}),e.generation,this.evaluate)}#K(e,t){return this.recordCounter("scratchHostAllocations"),new Se(Object.freeze({resolveState:(n,o)=>this.#V(n,o),readDraftAtomOutcome:(n,o)=>this.#k(e,t,n,o),captureCommittedSelectorSuccess:()=>{return},runSelectorActivity:(n,o)=>re(this.#e,n,o)}),e.generation,this.evaluate)}#V(e,t){if(W(this.#e,e,t)==="invalid")throw TypeError("Selector get requires a valid State");if(this.#e.atoms.has(e))return Object.freeze({kind:"atom"});let n=this.#e.selectors.get(e);if(n===void 0)throw TypeError("Unknown scratch StoreTree State");return Object.freeze({kind:"selector",definition:n})}#j(e,t){let n=new me(this,e,t);this.recordCounter("scopeNodesCreated");let o=new _e(this,n,this.#f);if(e.children.add(n),t!==void 0)e.namedChildren.set(t,n);return o}#Y(e,t){if(typeof t==="string"){let i=e.namedChildren.get(t);if(i===void 0)throw new Ce;return this.#b(i),i}let n=t,o=this.#e.stores.get(n);if(o!==void 0){let i=o;if(this.#b(i),!Object.is(i.coordinator,this))throw new Ne;return i}let r=this.#e.transactionCursors.get(n);if(r!==void 0){if(!r.active)throw new de;throw new le}throw new le}#b(e){if(e.status!=="live")throw new Re}#X(e,t,n,o){let r=x(this.#e,t,n);D(this.#e,o),this.#b(e),this.#x(t,r,o)}#O(e,t,n,o,r){let i=t,s=new y;this.#X(e,i,s,n);let a=this.#T();try{if(o==="set")this.#P(a,e,i,r,s);else if(o==="update")this.#I(a,e,i,r,s,n);else this.#z(a,e,i,s)}catch(c){throw a.close(),a.release(),c}a.close();try{this.#F(a)}finally{a.release()}}#$(e){let t=this.#u,n=t?.get(e);if(n===void 0)return;let o=0;for(let r of n.values()){let i=r.head;while(i!==void 0){let s=i.next;i.callback=void 0,i.target=void 0,i.previous=void 0,i.next=void 0,o++,i=s}r.head=void 0,r.tail=void 0}if(t.delete(e),t.size===0)this.#u=void 0;if(this.instrumented)this.recordCounter("subscriptionRemovals",o),this.recordCounter("activeSubscriptions",-o),this.recordCounter("activeSubscriptionTargets",-n.size),this.recordCounter("activeSubscriptionScopes",-1)}#R(e,t,n,o,r){let i=x(this.#e,n,o);fe(this.#e,e.transaction,e.active),this.#b(t),this.#x(n,i,r)}#x(e,t,n){if(t==="invalid"||!this.#e.atoms.has(e))throw TypeError(`${n} requires a valid Atom`)}#P(e,t,n,o,r){let i=F(this.#e,r,()=>ne(o));if(i.kind==="error")throw i.error;let s=this.#C(e,t,n,r);this.#U(e,t,n,i.value,s,r)}#I(e,t,n,o,r,i){if(typeof o!=="function")throw TypeError(`${i} requires an updater function`);let s=this.#C(e,t,n,r),a=e.hasIntents?this.#k(e,t,n,r):s.outcome;if(a.kind!=="value")throw a.error;let c=this.#J(o,a.value,r);this.#U(e,t,n,c,s,r)}#z(e,t,n,o){this.#C(e,t,n,o);let r=t.parent===void 0?Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0}):this.#M(e,t.parent,n,o);if(r.outcome.kind!=="value")throw r.outcome.error;let i=r.reachesFallback&&e.hasFallback(n);e.stage(t,Object.freeze({kind:"reset",atom:n,publishDraftFallback:i}))}#C(e,t,n,o){let r=e.getAtomBaseline(t,n);if(r!==void 0)return r;let i=t.atomOverrides.has(n),s=t,a;while(s!==void 0){if(s.atomOverrides.has(n)){a=R(s.atomOverrides.get(n));break}s=s.parent}let c=a===void 0,d=Object.freeze({owned:i,outcome:a??this.#N(e,n,o),reachesFallback:c});return e.setAtomBaseline(t,n,d),d}#k(e,t,n,o){return this.#M(e,t,n,o).outcome}#M(e,t,n,o){let r=t;while(r!==void 0){let i=e.getIntent(r,n);if(i?.kind==="set")return Object.freeze({outcome:R(i.value),reachesFallback:!1});if(i===void 0&&r.atomOverrides.has(n))return Object.freeze({outcome:R(r.atomOverrides.get(n)),reachesFallback:!1});r=r.parent}return Object.freeze({outcome:this.#N(e,n,o),reachesFallback:!0})}#N(e,t,n){let o=this.#t.get(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);let i=r.fallback.initialize,s=e.getFallback(t);if(s!==void 0)return s;let a=lt(F(this.#e,n,()=>Ee(i)));return e.setFallback(t,a),a}#Q(e,t,n,o){let r=this.#v(e).equal;if(r===void 0)return Object.is(t,n)?t:n;return this.#Z(r,t,n,o)?t:n}#Z(e,t,n,o){return F(this.#e,o,()=>{let r;try{r=e(t,n)}catch(s){let a=N(s);if(a.kind==="not-thenable")throw s;if(a.kind==="inspection-error")throw a.error;throw E(a),new te}let i=N(r);if(i.kind==="inspection-error")throw i.error;if(i.kind==="thenable")throw E(i),new te;if(r!==!0&&r!==!1)throw new te;return r})}#J(e,t,n){return F(this.#e,n,()=>{let o;try{o=e(t)}catch(i){let s=N(i);if(s.kind==="not-thenable")throw i;if(s.kind==="inspection-error")throw s.error;throw E(s),new ee}let r=ne(o);if(r.kind==="error")throw r.error;return r.value})}#F(e){if(!e.hasIntents)return;let{singleIntent:t,singleIntentScope:n}=e;if(t?.kind==="reset"&&n!==void 0&&!t.publishDraftFallback&&e.getAtomBaseline(n,t.atom)?.owned===!1)return;let o=Ft(this.instrumented?()=>this.recordCounter("commitWorksetAllocations"):void 0),r,i;if(t!==void 0&&n!==void 0)r=this.#_(e,n,t,o);else e.forEachIntent((a,c)=>{let d=this.#_(e,a,c,o);if(r===void 0){r=d;return}if(i===void 0)i=[];i.push(d)});if(r===void 0)return;if(this.#f?.(1,e,this.#e.atoms),this.#H(e,r),i!==void 0)for(let a of i)this.#H(e,a);let s=this.#B(r);if(i!==void 0)for(let a of i){let c=this.#B(a);s||=c}if(this.#L(r),i!==void 0)for(let a of i)this.#L(a);this.#se();try{let a,c,d=o.affectedRecord,l=o.affectedBefore;if(d!==void 0&&l!==void 0)a=this.#E(o,d,l);let{secondAffectedRecord:h,secondAffectedBefore:A}=o;if(h!==void 0&&A!==void 0){let f=this.#E(o,h,A);if(f!==void 0)if(a===void 0)a=f;else c=[f]}if(o.affected!==void 0)for(let[f,S]of o.affected){let _=this.#E(o,f,S);if(_===void 0)continue;if(a===void 0)a=_;else{if(c===void 0)c=[];c.push(_)}}if(s)this.#i+=1,this.recordCounter("sourceEpoch");this.#f?.(2,a===void 0?0:1+(c?.length??0)),this.#ie(a,c)}catch(a){throw this.#g(),a}}#_(e,t,n,o){let r=e.getAtomBaseline(t,n.atom);if(r===void 0)throw Error("TreeDraft atom baseline is missing");this.#G(e,t,n.atom,o);let i=Object.freeze({scope:t,intent:n,ownershipChanged:n.kind==="set"?!r.owned||!Object.is(t.atomOverrides.get(n.atom),n.value):r.owned}),s=t.getAtomView(n.atom);if(s!==void 0)this.#ee(e,s,o);return i}#H(e,t){if(!t.intent.publishDraftFallback)return;let n=e.getFallback(t.intent.atom);if(n!==void 0&&!this.#t.has(t.intent.atom))this.#t.set(t.intent.atom,n),this.recordCounter("fallbackPublications")}#B(e){let{intent:t,scope:n}=e;if(t.kind==="set")n.atomOverrides.set(t.atom,t.value);else n.atomOverrides.delete(t.atom);return e.ownershipChanged}#L({scope:e,intent:t}){let n=e.getAtomView(t.atom);if(n===void 0)return;if(t.kind==="set"||e.parent===void 0)e.detachAtomView(n);else e.attachAtomView(n,this.#oe(e.parent,t.atom))}#E(e,t,n){let o=Me(e,t.atom,t.scope);if(o===void 0)throw Error("Affected AtomView final outcome is missing");if(this.recordCounter("finalResolutionVisits"),ut(n,o))return;return t.scope.updateAtomView(t,o),t}#ee(e,t,n){let o=[t];while(o.length!==0){let r=o.pop();if(!Ht(n,r))continue;let i=r.served.outcome,s=this.#G(e,r.scope,r.atom,n);if(ut(i,s))continue;Bt(n,r,i);let a=o.length;r.inheritingChildren.forEach((c)=>{this.recordCounter("routeVisits"),o.push(c)});for(let c=a,d=o.length-1;c<d;c++,d--){let l=o[c];o[c]=o[d],o[d]=l}}}#G(e,t,n,o){let r=Me(o,n,t);if(r!==void 0)return r;let i=t,s,a,c;while(i!==void 0){let d=Me(o,n,i);if(d!==void 0){c=d;break}if(s===void 0)s=i;else{if(a===void 0)a=[];a.push(i)}let l=e.getIntent(i,n);if(l?.kind==="set"){c=R(l.value);break}if(l===void 0&&i.atomOverrides.has(n)){c=R(i.atomOverrides.get(n));break}i=i.parent}if(c??=this.#te(e,n),s!==void 0)St(o,n,s,c),this.recordCounter("finalPreflightVisits");if(a!==void 0)for(let d of a)St(o,n,d,c),this.recordCounter("finalPreflightVisits");return c}#te(e,t){let n=this.#t.get(t);if(n!==void 0)return n;let o=e.getFallback(t);if(o!==void 0)return o;let r=this.#v(t);if(r.fallback.kind==="eager")return R(r.fallback.value);throw Error("Final Atom fallback was not resolved during staging")}#ne(e){let t=this.#t.get(e);if(t!==void 0)return t;let n=this.#v(e);if(n.fallback.kind==="eager")return R(n.fallback.value);throw Error("Committed Atom fallback is not materialized")}#oe(e,t){let n=e,o=[],r;while(!0){let i=n.getAtomView(t);if(i!==void 0){r=i;break}if(n.atomOverrides.has(t)){r=n.createAtomView(t,R(n.atomOverrides.get(t)));break}if(n.parent===void 0){r=n.createAtomView(t,this.#ne(t));break}o.push(n),n=n.parent}for(let i=o.length-1;i>=0;i--)r=o[i].createAtomView(t,r.served.outcome,r);return r}serveScopeAtom(e,t,n){let o=e,r=[],i;while(!0){let s=o.getAtomView(t);if(s!==void 0){i=s;break}if(o.atomOverrides.has(t)){i=o.createAtomView(t,R(o.atomOverrides.get(t)));break}if(o.parent===void 0){i=o.createAtomView(t,this.#re(t,n));break}this.recordCounter("warmParentHops"),r.push(o),o=o.parent}for(let s=r.length-1;s>=0;s--)i=r[s].createAtomView(t,i.served.outcome,i);return i.served}#re(e,t){let n=this.#t.get(e);if(n!==void 0)return n;let o=this.#v(e);if(o.fallback.kind==="eager")return R(o.fallback.value);let r=o.fallback.initialize,i=lt(F(this.#e,t,()=>Ee(r)));return this.#t.set(e,i),this.recordCounter("fallbackPublications"),i}#v(e){let t=this.#e.atoms.get(e);if(t===void 0)throw TypeError("Unknown committed StoreTree Atom");return t}#ie(e,t){if(e===void 0){this.#g();return}this.recordCounter("propagationSettlements"),this.#r=[],this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0,this.#h=void 0,this.#a=!0;let n;try{if(e.scope.markDependents(e.atom),t!==void 0)for(let r of t)r.scope.markDependents(r.atom);let o=0;while(o<this.#r.length){let r=this.#r[o++],i=this.#r[o++];this.#D(r,i)}}finally{n=this.#h,this.#h=void 0,this.#a=!1,this.#r=void 0,this.#s=void 0,this.#d=void 0,this.#c=0,this.#l=void 0}this.#ae(n)}#se(){this.#S=void 0,this.#m=void 0,this.#y=this.#u===void 0?0:this.#A++}#g(){this.#y=0,this.#S=void 0,this.#m=void 0}reachSubscriptionTarget(e,t){let n=this.#y,o=this.#u?.get(e)?.get(t);if(n===0||o===void 0||o.reachedEpoch===n)return;if(o.reachedEpoch=n,this.instrumented)this.recordCounter("notificationTargetsReached");if(this.#S===void 0){this.#S=o;return}if(this.#m===void 0)this.#m=[o];else this.#m.push(o)}#ae(e){let t=this.#S;if(t===void 0){if(this.#g(),e!==void 0)throw e;return}let n,o,r=(d)=>{let l=d.head;while(l!==void 0){let h=l.callback;if(h!==void 0)if(n===void 0)n=h;else if(o===void 0)o=[n,h];else o.push(h);l=l.next}};r(t);let i=this.#m;if(i!==void 0)for(let d of i)r(d);if(this.#g(),n===void 0){if(e!==void 0)throw e;return}let s=Object.freeze(o??[n]),a=this.instrumented;if(a)this.recordCounter("notificationSnapshots");let c;for(let d of s){if(a)this.recordCounter("subscriberCallbacksAttempted");let l=new y,h=!1,A;try{Ke(this.#e,l,()=>{try{let f=d(),S=N(f);if(S.kind==="thenable")E(S);else if(S.kind==="inspection-error")h=!0,A=S.error}catch(f){h=!0,A=f;let S=N(f);if(S.kind==="thenable")E(S)}})}catch(f){h=!0,A=f}if(h){if(c===void 0)c=[];if(c.push(A),a)this.recordCounter("subscriberErrors")}}if(c===void 0){if(e!==void 0)throw e;return}throw new Oe(e===void 0?c:[e,...c])}enqueueSelector(e,t){let n=this.#r;if(n===void 0)return!1;if((this.#W(e,t)&ft)!==0)return!0;return this.#w(e,t,ft),n.push(e,t),!0}prepareSelectorRead(e,t,n){if(this.#r===void 0)return;this.#D(e,t,n)}#D(e,t,n){if((this.#W(e,t)&(ht|ze))!==0)return;this.#w(e,t,ze);try{let r=e.getSelectorGraphVersion(),i=e.getCommittedSelectorDependencies(t);if(i!==void 0){for(let s of i)if(this.#e.selectors.has(s.node))this.#D(e,s.node)}if(e.isSelectorDirty(t)){let s=r===e.getSelectorGraphVersion();if(n!==void 0&&s)e.serve(t,n);else e.serve(t,new y)}this.#w(e,t,ht)}finally{this.#w(e,t,0,ze)}}#W(e,t){if(Object.is(this.#s,e)&&Object.is(this.#d,t))return this.#c;return this.#l?.get(e)?.get(t)??0}#w(e,t,n,o=0){if(this.#s===void 0){this.#s=e,this.#d=t,this.#c=n&~o;return}if(Object.is(this.#s,e)&&Object.is(this.#d,t)){this.#c=(this.#c|n)&~o;return}let r=this.#l;if(r===void 0)r=new Map,this.#l=r;let i=r.get(e);if(i===void 0)i=new Map,r.set(e,i);i.set(t,((i.get(t)??0)|n)&~o)}latchPropagationControlFault(e){this.#h??=e}#U(e,t,n,o,r,i){let s=r.outcome.kind==="value"?this.#Q(n,r.outcome.value,o,i):o;e.stage(t,Object.freeze({kind:"set",atom:n,value:s,publishDraftFallback:r.reachesFallback&&e.hasFallback(n)}))}}class _e{get;sub;set;update;reset;txn;scope;dispose;constructor(e,t,n){this.get=(o)=>e.get(t,o),this.sub=(o,r)=>e.sub(t,o,r),this.set=(o,r)=>e.set(t,o,r),this.update=(o,r)=>e.update(t,o,r),this.reset=(o)=>e.reset(t,o),this.txn=(o,r)=>e.txn(t,o,r),this.scope=function(o){return e.scope(t,arguments.length,o)},this.dispose=()=>e.dispose(t),t.installFacade(this),ie(this,e.runtimeDomain.ownerToken),e.runtimeDomain.stores.set(this,t),e.recordCounter("storeFacadesCreated"),n?.(0,this,t),Object.freeze(this)}}var mt=(e)=>{if(e.equal!==void 0&&typeof e.equal!=="function")throw TypeError("Atom equal must be a function");return{...e.name===void 0?{}:{name:e.name},...e.equal===void 0?{}:{equal:e.equal}}},bt=(e)=>{let t={states:new WeakSet,atoms:new WeakMap,selectors:new WeakMap,stores:new WeakMap,transactionCursors:new WeakMap,ownerToken:Object.freeze({}),activity:void 0},n=(c,d={})=>{let l=new y,h=F(t,l,()=>ne(c));if(h.kind==="error")throw h.error;let A=he("atom",t.ownerToken);return t.states.add(A),t.atoms.set(A,Object.freeze({fallback:Object.freeze({kind:"eager",value:h.value}),...mt(d)})),A},o=(c,d={})=>{if(typeof c!=="function")throw TypeError("atomLazy requires an initializer function");let l=he("atom",t.ownerToken);return t.states.add(l),t.atoms.set(l,Object.freeze({fallback:Object.freeze({kind:"lazy",initialize:c}),...mt(d)})),l},r=(c,d={})=>{if(typeof c!=="function")throw TypeError("selector requires a getter function");if(d.equal!==void 0&&typeof d.equal!=="function")throw TypeError("selector equal must be a function");let l=he("selector",t.ownerToken),h=Object.freeze({node:l,get:c,...d.name===void 0?{}:{name:d.name},...d.equal===void 0?{}:{equal:d.equal}});return t.states.add(l),t.selectors.set(l,h),l},i=(c)=>{let d=new y;if(x(t,c,d)==="invalid")return;return t.stores.get(c)},a=Object.freeze({assertStore:(c)=>{let d=i(c);if(D(t,"adapter assertStore"),d===void 0)throw TypeError("assertStore requires a valid Store")},read:(c,d)=>{if(i(c)===void 0)throw De(t,"adapter read"),TypeError("read requires a valid Store");return c.get(d)},subscribe:(c,d,l)=>{if(i(c)===void 0)throw D(t,"adapter subscribe"),TypeError("subscribe requires a valid Store");return c.sub(d,l)},readHydrationSnapshot:(c,d)=>{let l=i(c);if(l===void 0)throw D(t,"adapter readHydrationSnapshot"),TypeError("readHydrationSnapshot requires a valid Store");return l.coordinator.readHydrationSnapshot(l,d)}});return Object.freeze({atom:n,atomLazy:o,selector:r,adapter:a,createStoreTree:(c=e,d)=>{D(t,"createStoreTree");let l=new At(t,c,d);return new _e(l,l.rootScope,d)}})};var Lt=bt(),ln=(e,t)=>Lt.createStoreTree(e,t);
2
+ export{Z as a,ot as b,Te as c,Oe as d,U as e,q as f,K as g,de as h,J as i,ee as j,te as k,Re as l,Ce as m,Ne as n,le as o,an as p,Lt as q,ln as r};
@@ -0,0 +1 @@
1
+ var P=typeof Map==="function",V=typeof Set==="function",W=typeof ArrayBuffer==="function"&&typeof ArrayBuffer.isView==="function",g=typeof SharedArrayBuffer==="function",D=typeof ArrayBuffer==="function"?ArrayBuffer.prototype:void 0,G=g?SharedArrayBuffer.prototype:void 0,c=(e,n)=>{if(e===void 0)return;return Object.getOwnPropertyDescriptor(e,n)?.get},R=c(D,"byteLength"),E=c(G,"byteLength"),Z=c(typeof DataView==="function"?DataView.prototype:void 0,"byteLength"),J=c(typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Symbol.toStringTag),I=typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Q=c(I,"buffer"),X=c(I,"byteOffset"),Y=c(I,"byteLength"),v=c(typeof DataView==="function"?DataView.prototype:void 0,"buffer"),j=c(typeof DataView==="function"?DataView.prototype:void 0,"byteOffset"),K=c(P?Map.prototype:void 0,"size"),ee=P?Map.prototype.keys:void 0,ne=P?Map.prototype.has:void 0,C=P?Map.prototype.get:void 0,M=c(V?Set.prototype:void 0,"size"),te=V?Set.prototype.values:void 0,re=V?Set.prototype.has:void 0,N=c(RegExp.prototype,"source"),oe=["hasIndices","global","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky"].map((e)=>c(RegExp.prototype,e)),T=Date.prototype.valueOf,fe=Number.prototype.valueOf,ae=String.prototype.valueOf,se=Boolean.prototype.valueOf,ue=typeof BigInt==="function"?BigInt.prototype.valueOf:void 0,ie=Symbol.prototype.valueOf,ye=Function.prototype.toString,F=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,B=(e,n)=>e===n||e!==e&&n!==n,ce=(e,n,t,f,o)=>{if(o===0)return!0;if(o>=64&&((n|f)&3)===0){let s=Math.floor(o/4),p=new Uint32Array(e,n,s),m=new Uint32Array(t,f,s);for(let k=s;k--!==0;)if(p[k]!==m[k])return!1;let i=s*4,b=o-i;if(b===0)return!0;n+=i,f+=i,o=b}let u=new Uint8Array(e,n,o),y=new Uint8Array(t,f,o);for(let s=o;s--!==0;)if(u[s]!==y[s])return!1;return!0},H=(e,n,t,f,o)=>{let u=0;for(let s=t.length;s--!==0;){let p=t[s];if(!h.call(e,p))continue;if(u++,!h.call(n,p))return!1;if(!w(e[p],n[p],o))return!1}let y=0;for(let s=f.length;s--!==0;)if(h.call(n,f[s]))y++;return u===y},S=(e,n,t)=>{let f=Object.keys(e);if(f.length!==Object.keys(n).length)return!1;for(let o=f.length;o--!==0;){let u=f[o];if(!F.call(n,u))return!1;if(!w(e[u],n[u],t))return!1}return H(e,n,Object.getOwnPropertySymbols(e),Object.getOwnPropertySymbols(n),t)},z=(e,n)=>{let t=Reflect.ownKeys(e);return t.length===n+1&&t[n]==="length"},d=(e,n)=>e.call(n),U=(e,n)=>e.call(n),pe=(e,n)=>{let t=Object.getPrototypeOf(e);while(t!==null){if(typeof Object.getOwnPropertyDescriptor(t,n)?.get==="function")return!0;t=Object.getPrototypeOf(t)}return!1},q=(e,n)=>{if(!W)return;if(ArrayBuffer.isView(e)){let t=J?.call(e);if(typeof t==="string")return{brand:t,buffer:U(Q,e),byteOffset:d(X,e),byteLength:d(Y,e)};return{brand:"DataView",buffer:U(v,e),byteOffset:d(j,e),byteLength:d(Z,e)}}if(e instanceof ArrayBuffer)return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)};if(g&&e instanceof SharedArrayBuffer)return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)};if(!n)return;if(!pe(e,"byteLength"))return;try{return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)}}catch{}if(g)try{return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)}}catch{return}return},_=(e)=>{if(typeof Node<"u"&&e instanceof Node)return!0;return typeof e.nodeType==="number"&&typeof e.nodeName==="string"&&typeof e.cloneNode==="function"&&"ownerDocument"in e},O=(e)=>{let n=Object.getPrototypeOf(e);if(n===null||n===Object.prototype)return!0;while(n!==null&&n!==Object.prototype){let t=Object.getOwnPropertyDescriptor(n,"constructor")?.value;if(typeof t==="function"&&/\{\s*\[native code\]\s*\}/.test(ye.call(t)))return!1;n=Object.getPrototypeOf(n)}return!0},w=(e,n,t)=>{if(B(e,n))return!0;if(e===null||n===null||typeof e!=="object"||typeof n!=="object")return!1;let f=e,o=n,u=Object.getPrototypeOf(f),y=Object.getPrototypeOf(o),s=u===y,p=q(f,!s||u!==null&&u!==Object.prototype&&u!==D&&(!g||u!==G)),m=q(o,!s||y!==null&&y!==Object.prototype&&y!==D&&(!g||y!==G));if(!s&&(p===void 0||m===void 0||p.brand!==m.brand))return!1;let i=t??{leftAncestors:[],rightAncestors:[]};if(i.leftAncestors.includes(f)||i.rightAncestors.includes(o))return!1;i.leftAncestors.push(f),i.rightAncestors.push(o);try{return le(f,o,i,p,m)}finally{i.leftAncestors.pop(),i.rightAncestors.pop()}},le=(e,n,t,f,o)=>{if(Array.isArray(e)){if(!Array.isArray(n))return!1;let r=e.length;if(r!==n.length)return!1;for(let a=r;a--!==0;)if(!w(e[a],n[a],t))return!1;if(!z(e,r)||!z(n,r))return S(e,n,t);return!0}if(P&&(e instanceof Map||n instanceof Map)){if(!(e instanceof Map)||!(n instanceof Map))return!1;let r,a;try{r=K.call(e),a=K.call(n)}catch{return!1}if(r!==a)return!1;for(let l of ee.call(e)){if(!ne.call(n,l))return!1;if(!w(C.call(e,l),C.call(n,l),t))return!1}return S(e,n,t)}if(V&&(e instanceof Set||n instanceof Set)){if(!(e instanceof Set)||!(n instanceof Set))return!1;let r,a;try{r=M.call(e),a=M.call(n)}catch{return!1}if(r!==a)return!1;for(let l of te.call(e))if(!re.call(n,l))return!1;return S(e,n,t)}if(f!==void 0||o!==void 0){if(f===void 0||o===void 0||f.brand!==o.brand||f.byteLength!==o.byteLength)return!1;return ce(f.buffer,f.byteOffset,o.buffer,o.byteOffset,f.byteLength)}if(e instanceof RegExp||n instanceof RegExp){if(!(e instanceof RegExp)||!(n instanceof RegExp))return!1;try{if(N.call(e)!==N.call(n))return!1;for(let r of oe)if(r!==void 0&&r.call(e)!==r.call(n))return!1}catch{return!1}return S(e,n,t)}if(e instanceof Date||n instanceof Date){if(!(e instanceof Date)||!(n instanceof Date))return!1;try{if(!B(T.call(e),T.call(n)))return!1}catch{return!1}return S(e,n,t)}let u=e instanceof Number||n instanceof Number?fe:e instanceof String||n instanceof String?ae:e instanceof Boolean||n instanceof Boolean?se:typeof BigInt==="function"&&(e instanceof BigInt||n instanceof BigInt)?ue:e instanceof Symbol||n instanceof Symbol?ie:void 0;if(u!==void 0){try{if(!B(u.call(e),u.call(n)))return!1}catch{return!1}return S(e,n,t)}let y=Object.getPrototypeOf(e),s=Object.getPrototypeOf(n),p=y===null||y===Object.prototype,m=s===null||s===Object.prototype;if(!p&&(_(e)||!O(e))||!m&&(_(n)||!O(n)))return!1;let i=e.valueOf,b=n.valueOf;if(typeof i==="function"&&i!==Object.prototype.valueOf||typeof b==="function"&&b!==Object.prototype.valueOf){if(typeof i!=="function"||typeof b!=="function")return!1;let r=i.call(e),a=b.call(n),l=r===null||typeof r!=="object"&&typeof r!=="function";if(l!==(a===null||typeof a!=="object"&&typeof a!=="function"))return!1;if(l&&!B(r,a))return!1}else{let r=e.toString,a=n.toString;if(typeof r==="function"&&r!==Object.prototype.toString||typeof a==="function"&&a!==Object.prototype.toString){if(typeof r!=="function"||typeof a!=="function"||r.call(e)!==a.call(n))return!1}}let A=Object.keys(e);if(A.length!==Object.keys(n).length)return!1;for(let r=A.length;r--!==0;)if(!F.call(n,A[r]))return!1;for(let r=A.length;r--!==0;){let a=A[r];if((a==="_owner"||a==="__v"||a==="__o")&&e.$$typeof)continue;if(!w(e[a],n[a],t))return!1}let L=Object.getOwnPropertySymbols(e),x=Object.getOwnPropertySymbols(n);if(L.length!==0||x.length!==0)return H(e,n,L,x,t);return!0},me=(e,n)=>w(e,n);export{me as deepEqual};
@@ -0,0 +1 @@
1
+ import{a as o,c as a,d as n,e as l,f as p,g as c,h as i,i as s,j as u,k as y,l as v,m as E,n as m,o as S,q as t}from"./chunk-g4tkm20t.js";var f=(r,e={})=>t.atomLazy(r,e),d=(r,e={})=>t.atom(r,e);Object.defineProperty(d,"lazy",{configurable:!1,enumerable:!0,value:f,writable:!1});var T=Object.freeze(d),x=(r,e={})=>t.selector(r,e);function V(){if(arguments.length!==0)throw TypeError("store() accepts no arguments");return t.createStoreTree()}var R=T,h=x,F=V,k=l,g=y,D=u,O=s,M=S,N=a,q=E,P=p,z=o,w=v,U=m,G=n,j=i,L=c;export{k as CallbackCapabilityError,g as InvalidAtomComparatorResultError,D as InvalidSynchronousAtomValueError,O as InvalidTransactionCallbackResultError,M as InvalidTransactionTargetError,N as RuntimeMismatchError,q as ScopeNotFoundError,P as SelectorCapabilityError,z as SelectorCircularDependencyError,w as StoreDisposedError,U as StoreTreeMismatchError,G as SubscriberNotificationError,j as TransactionClosedError,L as TransactionPhaseError,R as atom,h as selector,F as store};
@@ -0,0 +1 @@
1
+ import{b as U,d as G,p as Y,r as Z}from"./chunk-g4tkm20t.js";var ee=2048,ne=1e5,M=256,q=1024,A=1e4,te=32,oe=20000,P=new Set(["span","operation","commit"]),re=new Set(["type","id","sequence","seqStart","seqEnd","startUs","durationUs","spanId","parentSpanId","operationId","commitId","evaluationId","searchId","name","result","totals"]),K=new Set(["value","previousValue","nextValue","resultValue","error","callback","updater"]),ie=()=>{},J=Symbol("inspection dependency path root"),se=1;class O{#o;#e=[];#r=0;constructor(e){this.#o=e}add(e){if(this.#o===0)return!0;if(this.#e.length<this.#o)return this.#e.push(e),!1;return this.#e[this.#r]=e,this.#r=(this.#r+1)%this.#o,!0}snapshot(){if(this.#e.length<this.#o||this.#r===0)return Object.freeze([...this.#e]);return Object.freeze([...this.#e.slice(this.#r),...this.#e.slice(0,this.#r)])}}var _=(e)=>{if(e.length===0)return;let t=Number.POSITIVE_INFINITY,n=0;for(let o of e){let r="sequence"in o?o.sequence:void 0;t=Math.min(t,o.seqStart??r??0),n=Math.max(n,o.seqEnd??r??0)}return Object.freeze({firstSequence:t,lastSequence:n})},L=(e,t,n,o)=>{let r=e??t;if(!Number.isSafeInteger(r)||r<(o?0:1))throw TypeError(`${n} capacity must be ${o?"a non-negative":"a positive"} safe integer`);return r},W=(e)=>e.length<=M?e:e.slice(0,M),T=()=>({searches:0,visits:0,maxVisits:0,found:0}),ae=()=>({selectorEvaluations:0,proposedTopologyChanges:0,proposedTopologyIdentical:0,transientSelectorHostsCreated:0,propagationSettled:0,notificationTargets:0,subscriberCallbacks:0,cycle:{searches:0,visits:0,maxVisits:0,found:0,prefixRevalidation:0,newEdgeProof:0,topologyDeltaProof:0,committed:0,scratch:0,hydration:0,lanes:{committed:{prefixRevalidation:T(),newEdgeProof:T(),topologyDeltaProof:T()},scratch:{prefixRevalidation:T(),newEdgeProof:T(),topologyDeltaProof:T()},hydration:{prefixRevalidation:T(),newEdgeProof:T(),topologyDeltaProof:T()}}}}),V=(e)=>Object.freeze({selectorEvaluations:e.selectorEvaluations,proposedTopologyChanges:e.proposedTopologyChanges,proposedTopologyIdentical:e.proposedTopologyIdentical,transientSelectorHostsCreated:e.transientSelectorHostsCreated,propagationSettled:e.propagationSettled,notificationTargets:e.notificationTargets,subscriberCallbacks:e.subscriberCallbacks,cycle:Object.freeze({searches:e.cycle.searches,visits:e.cycle.visits,maxVisits:e.cycle.maxVisits,found:e.cycle.found,bySite:Object.freeze({prefixRevalidation:e.cycle.prefixRevalidation,newEdgeProof:e.cycle.newEdgeProof,topologyDeltaProof:e.cycle.topologyDeltaProof}),byHost:Object.freeze({committed:e.cycle.committed,scratch:e.cycle.scratch,hydration:e.cycle.hydration}),byLane:Object.freeze({committed:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.committed.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.committed.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.committed.topologyDeltaProof})}),scratch:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.scratch.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.scratch.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.scratch.topologyDeltaProof})}),hydration:Object.freeze({prefixRevalidation:Object.freeze({...e.cycle.lanes.hydration.prefixRevalidation}),newEdgeProof:Object.freeze({...e.cycle.lanes.hydration.newEdgeProof}),topologyDeltaProof:Object.freeze({...e.cycle.lanes.hydration.topologyDeltaProof})})})})}),N=(e,t,n,o)=>{if(t.remaining--<=0||o>te)return null;if(e===null)return null;if(typeof e==="string")return e.length<=q?e:e.slice(0,q);if(typeof e==="boolean")return e;if(typeof e==="number")return Number.isFinite(e)?e:null;if(typeof e!=="object")return null;if(n.has(e))return null;n.add(e);try{if(Array.isArray(e)){let s=[],a=Math.min(e.length,A);for(let c=0;c<a;c++)s.push(N(e[c],t,n,o+1));return Object.freeze(s)}let r={},i=Object.keys(e).slice(0,A);for(let s of i){if(K.has(s))continue;let a=Reflect.get(e,s);if(a===void 0)continue;r[s]=N(a,t,n,o+1)}return Object.freeze(r)}finally{n.delete(e)}},z=(e)=>{if(e===void 0)return ce;let t={},n={remaining:oe};for(let o of Object.keys(e).slice(0,A)){if(re.has(o)||K.has(o))continue;let r=e[o];if(r===void 0)continue;t[o]=N(r,n,new Set,0)}return Object.freeze(t)},ce=Object.freeze({}),de=(e,t)=>{if(t===void 0)return e;return Object.freeze({...e,...z(t)})},y=(e,t)=>t===void 0||!Number.isFinite(t)||t<=0?e:e+t,le=(e)=>{if((typeof e!=="object"||e===null)&&typeof e!=="function")return F;try{let t=e.then;return typeof t==="function"?{kind:"thenable",target:e,then:t}:F}catch(t){return{kind:"inspection-error",error:t}}},F=Object.freeze({kind:"not-thenable"});class X{#o;#e;#r;#u;#d="";#s=1;#g=1;#S=1;#v=1;#k=1;#C=1;#T=1;#R=1;#E=1;#n=[];#f=new WeakMap;#x=new WeakMap;#w=new WeakMap;#m=new WeakMap;#l=0;#a=0;#t;#y;#O;constructor(e,t){this.#O=t,this.#r=L(e.capacity?.summaries,ee,"Inspection summary",!1),this.#u=L(e.capacity?.details,ne,"Inspection detail",!0),this.#o=new O(this.#r),this.#e=new O(this.#u),this.#y=this.#p(),this.#j()}get recordingId(){return this.#d}registerStore(e,t){this.#w.set(e,t)}capture(e,t){let n=typeof e==="object"&&e!==null||typeof e==="function"?e:void 0,o=n===void 0?void 0:this.#w.get(n);if(o===void 0)throw TypeError("Inspection capture requires a Store owned by this inspector");let r;if(t!==void 0){let s=typeof t==="object"&&t!==null||typeof t==="function"?t:void 0,a=o.coordinator.runtimeDomain;if(s===void 0||!a.states.has(s))throw TypeError("Inspection capture requires a valid State");let c=a.atoms.get(s),h=a.selectors.get(s);if(c===void 0&&h===void 0)throw TypeError("Inspection capture requires a valid State");let g=c?.name??h?.name;r=this.reference(s,c===void 0?"selector":"atom",typeof g==="string"?g:void 0)}let i=this.#p();return Object.freeze({recordingId:this.#d,timeUs:this.#V(i),monotonicTimeMs:i,store:this.reference(o,"scope",o.name),...r===void 0?{}:{state:r},...this.#h()})}reference(e,t,n){if(this.#t!==void 0)return H;try{let o=this.#f.get(e);if(o===void 0)o=this.#E++,this.#f.set(e,o);let r=this.#x.get(e);if(r===void 0&&n!==void 0)r=W(n),this.#x.set(e,r);return Object.freeze({id:o,kind:t,...r===void 0?{}:{name:r}})}catch{return this.#c("reference"),H}}sessionId(e){let t=this.#m.get(e);if(t!==void 0)return t;let n=this.#T++;return this.#m.set(e,n),n}beginInterval(e){if(this.#t!==void 0)return B;try{let t=this.#A(e.type),n=Object.freeze({id:t,type:e.type}),o=Object.freeze({...this.#h(),...e.links}),r={token:n,parentId:this.#n[this.#n.length-1]?.token.id,links:o,name:e.name===void 0?void 0:W(e.name),seqStart:this.#s++,startUs:this.#b(),fields:z(e.fields),totals:P.has(e.type)?ae():void 0,commitId:void 0,commitSourceApplied:!1,commitChangedSources:void 0,commitOwnershipChanged:void 0,commitFailurePhase:void 0,operationIntents:0,counterStart:P.has(e.type)?this.#N():void 0};if(e.type==="commit"){let i=this.#i("operation");if(i!==void 0)i.commitId=t}return this.#n.push(r),n}catch{return this.#c("begin-interval"),B}}finishInterval(e,t={}){if(e.id===0||this.#t!==void 0)return;try{let n=this.#n.pop();if(n===void 0||!Object.is(n.token,e))throw Error("Inspection intervals must finish in LIFO order");this.#P(n);let o=this.#s++,r=Math.max(0,this.#b()-n.startUs),i=de(n.fields,t.fields),s=this.#z(n,o,r,i,t.result);if(P.has(n.token.type)){if(this.#o.add(s))this.#l++}else if(this.#e.add(s))this.#a++}catch{this.#c("finish-interval")}}record(e){if(this.#t!==void 0)return;try{let t=this.#s++,n=Object.freeze({...z(e.fields),type:e.type,sequence:t,timeUs:this.#b(),...this.#h(),...e.links});if(this.#e.add(n))this.#a++}catch{this.#c("record-detail")}}addWork(e){if(this.#t!==void 0)return;try{for(let t of this.#n){let n=t.totals;if(n===void 0)continue;n.selectorEvaluations=y(n.selectorEvaluations,e.selectorEvaluations),n.proposedTopologyChanges=y(n.proposedTopologyChanges,e.proposedTopologyChanges),n.proposedTopologyIdentical=y(n.proposedTopologyIdentical,e.proposedTopologyIdentical),n.transientSelectorHostsCreated=y(n.transientSelectorHostsCreated,e.transientSelectorHostsCreated),n.propagationSettled=y(n.propagationSettled,e.propagationSettled),n.notificationTargets=y(n.notificationTargets,e.notificationTargets),n.subscriberCallbacks=y(n.subscriberCallbacks,e.subscriberCallbacks);let o=e.cycle;if(o===void 0)continue;if(n.cycle.searches=y(n.cycle.searches,o.searches),n.cycle.visits=y(n.cycle.visits,o.visits),n.cycle.maxVisits=Math.max(n.cycle.maxVisits,o.maxVisits??0),n.cycle.found=y(n.cycle.found,o.found),o.site==="prefix-revalidation")n.cycle.prefixRevalidation+=o.searches??1;else if(o.site==="new-edge-proof")n.cycle.newEdgeProof+=o.searches??1;else if(o.site==="topology-delta-proof")n.cycle.topologyDeltaProof+=o.searches??1;if(o.host!==void 0)n.cycle[o.host]+=o.searches??1;if(o.host!==void 0&&o.site!==void 0){let r=o.site==="prefix-revalidation"?"prefixRevalidation":o.site==="new-edge-proof"?"newEdgeProof":"topologyDeltaProof",i=n.cycle.lanes[o.host][r];i.searches=y(i.searches,o.searches),i.visits=y(i.visits,o.visits),i.maxVisits=Math.max(i.maxVisits,o.maxVisits??0),i.found=y(i.found,o.found)}}}catch{this.#c("add-work")}}beginStoreOperation(e){return this.beginInterval({type:"operation",...e.name===void 0?{}:{name:e.name},fields:{operation:e.operation,scope:this.reference(e.scope,"scope",e.scopeName)}})}finishStoreOperation(e,t){let n=this.#i("operation"),o=n===void 0||!Object.is(n.token,e)||n.commitId===void 0||!n.commitSourceApplied?"none":t==="returned"?"committed":n.commitFailurePhase==="notify"?"committed-with-notification-error":"committed-with-propagation-error";this.finishInterval(e,{result:t,fields:{effect:o}})}beginStoreCommit(e){return this.beginInterval({type:"commit",links:{operationId:e.id}})}finishStoreCommit(e,t){let n=this.#i("operation");if(n!==void 0)n.commitSourceApplied||=t.sourceApplied,n.commitFailurePhase=t.failurePhase;this.finishInterval(e,{result:t.result,fields:{intents:t.intents,...t.changedSources===void 0?{}:{changedSources:t.changedSources},...t.ownershipChanged===void 0?{}:{ownershipChanged:t.ownershipChanged},sourceApplied:t.sourceApplied,notificationsCompleted:t.notificationsCompleted}})}recordStoreIntent(e){this.record({type:"intent",fields:{intent:e.intent,scope:this.reference(e.scope,"scope",e.scopeName),atom:this.reference(e.atom,"atom",e.atomName)}})}recordStoreEvent(...e){let t=e[0];if(t===0){let o=["set","update","reset","transaction"][e[1]];this.beginStoreOperation({operation:o,scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},...e[4]===void 0?{}:{name:e[4]}});return}if(t===1){let o=e[1]===0?"returned":"threw",r=this.#i("operation");if(r===void 0)return;let i=this.#i("commit");if(i!==void 0)this.#P(i),this.finishStoreCommit(i.token,{result:o,intents:r.operationIntents,...i.commitChangedSources===void 0?{}:{changedSources:i.commitChangedSources},...i.commitOwnershipChanged===void 0?{}:{ownershipChanged:i.commitOwnershipChanged},sourceApplied:i.commitSourceApplied,notificationsCompleted:o==="returned",...e[2]===void 0?{}:{failurePhase:e[2]===1?"notify":"propagate"}});this.finishStoreOperation(r.token,o);return}if(t===2){let o=this.#i("operation");if(o!==void 0)this.beginStoreCommit(o.token);return}if(t===3){let o=this.#i("commit");if(o!==void 0)o.commitSourceApplied=!0,o.commitChangedSources=e[1];return}let n=this.#i("operation");if(n!==void 0)n.operationIntents++;this.recordStoreIntent({intent:e[1]===0?"set":"reset",scope:e[2],...e[3]===void 0?{}:{scopeName:e[3]},atom:e[4],...e[5]===void 0?{}:{atomName:e[5]}})}hasActiveStoreOperation(){return this.#i("operation")!==void 0}beginDraftCommit(e,t){this.recordStoreEvent(2),e.forEachIntent((n,o)=>{let r=t.get(o.atom)?.name;this.recordStoreEvent(5,o.kind==="set"?0:2,n,n.name,o.atom,typeof r==="string"?r:void 0)})}findDependencyPath(e,t,n,o,r,i,s,a,c,h,g,S){let b=s===0?"prefix-revalidation":s===1?"new-edge-proof":"topology-delta-proof",w=this.beginInterval({type:"cycle-search",fields:{site:b,host:e,hostRef:t,start:this.#I(n),target:this.#I(o),graphVersion:r.getSelectorGraphVersion(),attributedSessionPublications:i.getSelectorGraphPublicationCount(r),evaluationGraphVersionDelta:r.getSelectorGraphVersion()-c,evaluationAttributedPublicationDelta:i.getSelectorGraphPublicationCount(r)-h,acceptedPrefixLength:a,parentWasCold:g}}),p=S?.beginSearch()??!1,d=[n],l=new Map([[n,J]]),v=0,k=0,I=1,x=0,R=0,f=0,C;while(d.length>0){let m=d.pop();if(v++,Object.is(m,o)){let u=[],E=m;while(E!==J)u.push(E),E=l.get(E);u.reverse(),C=Object.freeze(u);break}let j=i.getTransientDependencies(r,m);if(j){if(x++,j.length===0)continue;if(p&&S.hasProvenNoPath(m))continue;k+=j.length;for(let u of j){if(l.has(u.node))continue;l.set(u.node,m),d.push(u.node)}if(d.length>I)I=d.length;continue}if(r.getSelectorDependencyNodes!==void 0){let u=r.getSelectorDependencyNodes(m);if(u===void 0){f++;continue}if(R++,u.length===0)continue;if(p&&S.hasProvenNoPath(m))continue;k+=u.length;for(let E of u){if(l.has(E))continue;l.set(E,m),d.push(E)}if(d.length>I)I=d.length;continue}let D=r.getSelectorRecord(m);if(!D){f++;continue}if(R++,D.dependencies.length===0)continue;if(p&&S.hasProvenNoPath(m))continue;k+=D.dependencies.length;for(let u of D.dependencies){if(l.has(u.node))continue;l.set(u.node,m),d.push(u.node)}if(d.length>I)I=d.length}if(C===void 0)S?.completeNegative(l);return this.addWork({cycle:{searches:1,visits:v,maxVisits:v,found:C===void 0?0:1,site:b,host:e}}),this.finishInterval(w,{result:"returned",fields:{visits:v,edges:k,maxFrontier:I,transientExpansions:x,recordExpansions:R,terminalPrunes:f,found:C!==void 0,...C===void 0?{}:{path:C.map((m)=>this.#I(m))}}}),C}span(e,t){if(typeof e!=="string")throw TypeError("Inspection span name must be a string");if(typeof t!=="function")throw TypeError("Inspection span callback must be a function");let n=this.beginInterval({type:"span",name:e}),o;try{o=t()}catch(i){throw this.finishInterval(n,{result:"threw"}),i}let r=le(o);if(r.kind==="inspection-error")throw this.finishInterval(n,{result:"threw"}),r.error;if(r.kind==="thenable"){try{Reflect.apply(r.then,r.target,[void 0,ie])}catch{}throw this.finishInterval(n,{result:"async-rejected"}),TypeError("Inspection spans must be synchronous")}return this.finishInterval(n,{result:"returned"}),o}export(){this.#D("export");let e=[...this.#o.snapshot()].sort((r,i)=>r.seqStart-i.seqStart),t=[...this.#e.snapshot()].sort((r,i)=>(r.seqStart??r.sequence??0)-(i.seqStart??i.sequence??0)),n=_(e),o=_(t);return Object.freeze({schema:"valdres.inspect",schemaVersion:2,recordingId:this.#d,summaries:Object.freeze(e),details:Object.freeze(t),complete:this.#l===0&&this.#a===0&&this.#t===void 0,overflow:Object.freeze({summaries:this.#l,details:this.#a,retained:Object.freeze({...n===void 0?{}:{summaries:n},...o===void 0?{}:{details:o}})}),...this.#t===void 0?{}:{fault:this.#t}})}reset(){this.#D("reset"),this.#j()}createInspector(){let e=this;return Object.freeze({get recordingId(){return e.recordingId},capture:(t,n)=>e.capture(t,n),span:(t,n)=>e.span(t,n),export:()=>e.export(),reset:()=>e.reset()})}#j(){this.#d=`inspection-${se++}`,this.#o=new O(this.#r),this.#e=new O(this.#u),this.#s=1,this.#g=1,this.#S=1,this.#v=1,this.#k=1,this.#C=1,this.#T=1,this.#R=1,this.#E=1,this.#n=[],this.#f=new WeakMap,this.#m=new WeakMap,this.#l=0,this.#a=0,this.#t=void 0,this.#y=this.#p()}#A(e){if(e==="span")return this.#g++;if(e==="operation")return this.#S++;if(e==="commit")return this.#v++;if(e==="selector-evaluation")return this.#k++;if(e==="cycle-search")return this.#C++;return this.#R++}#h(){let e={};for(let t of this.#n){let{id:n,type:o}=t.token;if(t.links.sessionId!==void 0)e.sessionId=t.links.sessionId;if(o==="span")e.spanId=n;else if(o==="operation")e.operationId=n;else if(o==="commit")e.commitId=n;else if(o==="selector-evaluation")e.evaluationId=n;else if(o==="cycle-search")e.searchId=n}return e}#i(e){for(let t=this.#n.length-1;t>=0;t--){let n=this.#n[t];if(n.token.type===e)return n}return}#I(e){return typeof e==="object"&&e!==null||typeof e==="function"?this.reference(e,"state"):N(e,{remaining:1},new Set,0)}#z(e,t,n,o,r){let i={...o,type:e.token.type,seqStart:e.seqStart,seqEnd:t,startUs:e.startUs,durationUs:n,...e.links};if(e.token.type==="span")return Object.freeze({...i,type:"span",spanId:e.token.id,...e.links.spanId===void 0?{}:{parentSpanId:e.links.spanId},name:e.name??"",result:r??"returned",totals:V(e.totals)});if(e.token.type==="operation")return Object.freeze({...i,type:"operation",operationId:e.token.id,...e.name===void 0?{}:{name:e.name},...e.commitId===void 0?{}:{commitId:e.commitId},result:r==="threw"||r==="async-rejected"?"threw":"returned",effect:o.effect??(e.commitId===void 0?"none":"committed"),totals:V(e.totals)});if(e.token.type==="commit")return Object.freeze({...i,type:"commit",commitId:e.token.id,operationId:e.links.operationId??0,intents:o.intents??0,changedSources:o.changedSources??0,ownershipChanged:o.ownershipChanged??!1,sourceApplied:o.sourceApplied??!0,notificationsCompleted:o.notificationsCompleted??!0,totals:V(e.totals)});let s=e.token.type==="selector-evaluation"?{evaluationId:e.token.id}:e.token.type==="cycle-search"?{searchId:e.token.id}:{id:e.token.id};return Object.freeze({...i,...s})}#D(e){if(this.#n.length!==0)throw Error(`Inspection ${e} requires an idle Store`)}#N(){let e=(t)=>this.#O.read(t);return{sourceEpoch:e("sourceEpoch"),transientSelectorHostsCreated:e("scratchHostAllocations"),propagationSettled:e("propagationSettlements"),notificationTargets:e("notificationTargetsReached"),subscriberCallbacks:e("subscriberCallbacksAttempted")}}#P(e){let t=e.counterStart;if(t===void 0)return;e.counterStart=void 0;let n=this.#N();if(e.token.type==="commit")e.commitOwnershipChanged=n.sourceEpoch!==t.sourceEpoch;let o=e.totals;if(o===void 0)return;o.transientSelectorHostsCreated+=n.transientSelectorHostsCreated-t.transientSelectorHostsCreated,o.propagationSettled+=n.propagationSettled-t.propagationSettled,o.notificationTargets+=n.notificationTargets-t.notificationTargets,o.subscriberCallbacks+=n.subscriberCallbacks-t.subscriberCallbacks}#c(e){if(this.#t!==void 0)return;let t=this.#s++;this.#t=Object.freeze({type:"recorder-fault",phase:e,sequence:t}),this.#n=[]}#p(){return globalThis.performance?.now()??Date.now()}#V(e){return Math.max(0,Math.round((e-this.#y)*1000))}#b(){return this.#V(this.#p())}}var H=Object.freeze({id:0,kind:"store"}),B=Object.freeze({id:0,type:"operation"}),pe=(e)=>{let t=(r,i,s,a)=>{if(e.hasActiveStoreOperation())return a();e.recordStoreEvent(0,r,i,i.name,s);try{let c=a();return e.recordStoreEvent(1,0),c}catch(c){throw e.recordStoreEvent(1,1,c instanceof G?1:0),c}},n=(r,i,s)=>{if(r===0){let a=i,c=s;e.registerStore(a,c);let h=a,g=a.set,S=a.update,b=a.reset,w=a.txn;h.set=(p,d)=>t(0,c,void 0,()=>g(p,d)),h.update=(p,d)=>t(1,c,void 0,()=>S(p,d)),h.reset=(p)=>t(2,c,void 0,()=>b(p)),h.txn=(p,d)=>{if(typeof p!=="function"||d!==void 0&&typeof d!=="string")return w(p,d);return t(3,c,d,()=>w(p,d))};return}if(r===1){e.beginDraftCommit(i,s);return}if(r===2)e.recordStoreEvent(3,i)};return Object.assign(n,{evaluate:(r,i,s)=>{let a=i.getSelectorDependencyNodes!==void 0?"committed":e.hasActiveStoreOperation()?"scratch":"hydration",c=i.name,h=e.reference(i,a==="committed"?"scope":"scratch-host",typeof c==="string"?c:void 0),g=i.getSelectorGraphVersion(),S=s.getSelectorGraphPublicationCount(i),b=i.getSelectorRecord(r.node)?.dependencies,w=b?.length??0,p=e.beginInterval({type:"selector-evaluation",links:{sessionId:e.sessionId(s)},fields:{host:a,hostRef:h,selector:e.reference(r.node,"selector",typeof r.name==="string"?r.name:void 0),graphVersionStart:g,previousDependencyCount:w}});e.addWork({selectorEvaluations:1});let d=(l,v,k,I,x,R,f)=>e.findDependencyPath(a,h,l,v,k,I,x,R,g,S,b===void 0,f);try{let l=U(r,i,s,d),v=b===void 0||b.length!==l.dependencies.length||b.some((f,C)=>!Object.is(f.node,l.dependencies[C]?.node)),k=new Set(b?.map((f)=>f.node)),I=new Set(l.dependencies.map((f)=>f.node)),x=0,R=0;for(let f of I)if(!k.has(f))x++;for(let f of k)if(!I.has(f))R++;return e.addWork(v?{proposedTopologyChanges:1}:{proposedTopologyIdentical:1}),e.finishInterval(p,{result:"returned",fields:{outcome:l.outcome.kind,dependencyCount:l.dependencies.length,proposedTopologyChanged:v,proposedEdgesAdded:x,proposedEdgesRemoved:R,graphVersionEnd:i.getSelectorGraphVersion()}}),l}catch(l){throw e.finishInterval(p,{result:"threw",fields:{outcome:"threw",graphVersionEnd:i.getSelectorGraphVersion()}}),l}}}),Object.freeze(n)},Q=(e={})=>{let t=Y(),n=new X(e,t);return Object.freeze({recorder:n,inspect:n.createInspector(),instrumentation:t,trace:pe(n)})};var Ie=(e={})=>{let{inspect:t,instrumentation:n,trace:o}=Q(e),r=Z(n,o);return Object.freeze({store:r,inspect:t})};export{Ie as createInspectableStore};
@@ -0,0 +1 @@
1
+ var P=typeof Map==="function",V=typeof Set==="function",W=typeof ArrayBuffer==="function"&&typeof ArrayBuffer.isView==="function",g=typeof SharedArrayBuffer==="function",D=typeof ArrayBuffer==="function"?ArrayBuffer.prototype:void 0,G=g?SharedArrayBuffer.prototype:void 0,c=(e,n)=>{if(e===void 0)return;return Object.getOwnPropertyDescriptor(e,n)?.get},R=c(D,"byteLength"),E=c(G,"byteLength"),Z=c(typeof DataView==="function"?DataView.prototype:void 0,"byteLength"),J=c(typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Symbol.toStringTag),I=typeof Uint8Array==="function"?Object.getPrototypeOf(Uint8Array.prototype):void 0,Q=c(I,"buffer"),X=c(I,"byteOffset"),Y=c(I,"byteLength"),v=c(typeof DataView==="function"?DataView.prototype:void 0,"buffer"),j=c(typeof DataView==="function"?DataView.prototype:void 0,"byteOffset"),K=c(P?Map.prototype:void 0,"size"),ee=P?Map.prototype.keys:void 0,ne=P?Map.prototype.has:void 0,C=P?Map.prototype.get:void 0,M=c(V?Set.prototype:void 0,"size"),te=V?Set.prototype.values:void 0,re=V?Set.prototype.has:void 0,N=c(RegExp.prototype,"source"),oe=["hasIndices","global","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky"].map((e)=>c(RegExp.prototype,e)),T=Date.prototype.valueOf,fe=Number.prototype.valueOf,ae=String.prototype.valueOf,se=Boolean.prototype.valueOf,ue=typeof BigInt==="function"?BigInt.prototype.valueOf:void 0,ie=Symbol.prototype.valueOf,ye=Function.prototype.toString,F=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,B=(e,n)=>e===n||e!==e&&n!==n,ce=(e,n,t,f,o)=>{if(o===0)return!0;if(o>=64&&((n|f)&3)===0){let s=Math.floor(o/4),p=new Uint32Array(e,n,s),m=new Uint32Array(t,f,s);for(let k=s;k--!==0;)if(p[k]!==m[k])return!1;let i=s*4,b=o-i;if(b===0)return!0;n+=i,f+=i,o=b}let u=new Uint8Array(e,n,o),y=new Uint8Array(t,f,o);for(let s=o;s--!==0;)if(u[s]!==y[s])return!1;return!0},H=(e,n,t,f,o)=>{let u=0;for(let s=t.length;s--!==0;){let p=t[s];if(!h.call(e,p))continue;if(u++,!h.call(n,p))return!1;if(!w(e[p],n[p],o))return!1}let y=0;for(let s=f.length;s--!==0;)if(h.call(n,f[s]))y++;return u===y},S=(e,n,t)=>{let f=Object.keys(e);if(f.length!==Object.keys(n).length)return!1;for(let o=f.length;o--!==0;){let u=f[o];if(!F.call(n,u))return!1;if(!w(e[u],n[u],t))return!1}return H(e,n,Object.getOwnPropertySymbols(e),Object.getOwnPropertySymbols(n),t)},z=(e,n)=>{let t=Reflect.ownKeys(e);return t.length===n+1&&t[n]==="length"},d=(e,n)=>e.call(n),U=(e,n)=>e.call(n),pe=(e,n)=>{let t=Object.getPrototypeOf(e);while(t!==null){if(typeof Object.getOwnPropertyDescriptor(t,n)?.get==="function")return!0;t=Object.getPrototypeOf(t)}return!1},q=(e,n)=>{if(!W)return;if(ArrayBuffer.isView(e)){let t=J?.call(e);if(typeof t==="string")return{brand:t,buffer:U(Q,e),byteOffset:d(X,e),byteLength:d(Y,e)};return{brand:"DataView",buffer:U(v,e),byteOffset:d(j,e),byteLength:d(Z,e)}}if(e instanceof ArrayBuffer)return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)};if(g&&e instanceof SharedArrayBuffer)return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)};if(!n)return;if(!pe(e,"byteLength"))return;try{return{brand:"ArrayBuffer",buffer:e,byteOffset:0,byteLength:d(R,e)}}catch{}if(g)try{return{brand:"SharedArrayBuffer",buffer:e,byteOffset:0,byteLength:d(E,e)}}catch{return}return},_=(e)=>{if(typeof Node<"u"&&e instanceof Node)return!0;return typeof e.nodeType==="number"&&typeof e.nodeName==="string"&&typeof e.cloneNode==="function"&&"ownerDocument"in e},O=(e)=>{let n=Object.getPrototypeOf(e);if(n===null||n===Object.prototype)return!0;while(n!==null&&n!==Object.prototype){let t=Object.getOwnPropertyDescriptor(n,"constructor")?.value;if(typeof t==="function"&&/\{\s*\[native code\]\s*\}/.test(ye.call(t)))return!1;n=Object.getPrototypeOf(n)}return!0},w=(e,n,t)=>{if(B(e,n))return!0;if(e===null||n===null||typeof e!=="object"||typeof n!=="object")return!1;let f=e,o=n,u=Object.getPrototypeOf(f),y=Object.getPrototypeOf(o),s=u===y,p=q(f,!s||u!==null&&u!==Object.prototype&&u!==D&&(!g||u!==G)),m=q(o,!s||y!==null&&y!==Object.prototype&&y!==D&&(!g||y!==G));if(!s&&(p===void 0||m===void 0||p.brand!==m.brand))return!1;let i=t??{leftAncestors:[],rightAncestors:[]};if(i.leftAncestors.includes(f)||i.rightAncestors.includes(o))return!1;i.leftAncestors.push(f),i.rightAncestors.push(o);try{return le(f,o,i,p,m)}finally{i.leftAncestors.pop(),i.rightAncestors.pop()}},le=(e,n,t,f,o)=>{if(Array.isArray(e)){if(!Array.isArray(n))return!1;let r=e.length;if(r!==n.length)return!1;for(let a=r;a--!==0;)if(!w(e[a],n[a],t))return!1;if(!z(e,r)||!z(n,r))return S(e,n,t);return!0}if(P&&(e instanceof Map||n instanceof Map)){if(!(e instanceof Map)||!(n instanceof Map))return!1;let r,a;try{r=K.call(e),a=K.call(n)}catch{return!1}if(r!==a)return!1;for(let l of ee.call(e)){if(!ne.call(n,l))return!1;if(!w(C.call(e,l),C.call(n,l),t))return!1}return S(e,n,t)}if(V&&(e instanceof Set||n instanceof Set)){if(!(e instanceof Set)||!(n instanceof Set))return!1;let r,a;try{r=M.call(e),a=M.call(n)}catch{return!1}if(r!==a)return!1;for(let l of te.call(e))if(!re.call(n,l))return!1;return S(e,n,t)}if(f!==void 0||o!==void 0){if(f===void 0||o===void 0||f.brand!==o.brand||f.byteLength!==o.byteLength)return!1;return ce(f.buffer,f.byteOffset,o.buffer,o.byteOffset,f.byteLength)}if(e instanceof RegExp||n instanceof RegExp){if(!(e instanceof RegExp)||!(n instanceof RegExp))return!1;try{if(N.call(e)!==N.call(n))return!1;for(let r of oe)if(r!==void 0&&r.call(e)!==r.call(n))return!1}catch{return!1}return S(e,n,t)}if(e instanceof Date||n instanceof Date){if(!(e instanceof Date)||!(n instanceof Date))return!1;try{if(!B(T.call(e),T.call(n)))return!1}catch{return!1}return S(e,n,t)}let u=e instanceof Number||n instanceof Number?fe:e instanceof String||n instanceof String?ae:e instanceof Boolean||n instanceof Boolean?se:typeof BigInt==="function"&&(e instanceof BigInt||n instanceof BigInt)?ue:e instanceof Symbol||n instanceof Symbol?ie:void 0;if(u!==void 0){try{if(!B(u.call(e),u.call(n)))return!1}catch{return!1}return S(e,n,t)}let y=Object.getPrototypeOf(e),s=Object.getPrototypeOf(n),p=y===null||y===Object.prototype,m=s===null||s===Object.prototype;if(!p&&(_(e)||!O(e))||!m&&(_(n)||!O(n)))return!1;let i=e.valueOf,b=n.valueOf;if(typeof i==="function"&&i!==Object.prototype.valueOf||typeof b==="function"&&b!==Object.prototype.valueOf){if(typeof i!=="function"||typeof b!=="function")return!1;let r=i.call(e),a=b.call(n),l=r===null||typeof r!=="object"&&typeof r!=="function";if(l!==(a===null||typeof a!=="object"&&typeof a!=="function"))return!1;if(l&&!B(r,a))return!1}else{let r=e.toString,a=n.toString;if(typeof r==="function"&&r!==Object.prototype.toString||typeof a==="function"&&a!==Object.prototype.toString){if(typeof r!=="function"||typeof a!=="function"||r.call(e)!==a.call(n))return!1}}let A=Object.keys(e);if(A.length!==Object.keys(n).length)return!1;for(let r=A.length;r--!==0;)if(!F.call(n,A[r]))return!1;for(let r=A.length;r--!==0;){let a=A[r];if((a==="_owner"||a==="__v"||a==="__o")&&e.$$typeof)continue;if(!w(e[a],n[a],t))return!1}let L=Object.getOwnPropertySymbols(e),x=Object.getOwnPropertySymbols(n);if(L.length!==0||x.length!==0)return H(e,n,L,x,t);return!0},me=(e,n)=>w(e,n);export{me as deepEqual};