effect 3.10.0 → 3.10.2

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.
@@ -8,6 +8,17 @@ var version = _interopRequireWildcard(require("./internal/version.js"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  /**
11
+ * The `GlobalValue` module ensures that a single instance of a value is created globally,
12
+ * even when modules are imported multiple times (e.g., due to mixing CommonJS and ESM builds)
13
+ * or during hot-reloading in development environments like Next.js or Remix.
14
+ *
15
+ * It achieves this by using a versioned global store, identified by a unique `Symbol` tied to
16
+ * the current version of the `effect` library. The store holds values that are keyed by an identifier,
17
+ * allowing the reuse of previously computed instances across imports or reloads.
18
+ *
19
+ * This pattern is particularly useful in scenarios where frequent reloading can cause services or
20
+ * single-instance objects to be recreated unnecessarily, such as in development environments with hot-reloading.
21
+ *
11
22
  * @since 2.0.0
12
23
  */
13
24
 
@@ -18,6 +29,24 @@ if (!(globalStoreId in globalThis)) {
18
29
  }
19
30
  const globalStore = globalThis[globalStoreId];
20
31
  /**
32
+ * Retrieves or computes a global value associated with the given `id`. If the value for this `id`
33
+ * has already been computed, it will be returned from the global store. If it does not exist yet,
34
+ * the provided `compute` function will be executed to compute the value, store it, and then return it.
35
+ *
36
+ * This ensures that even in cases where the module is imported multiple times (e.g., in mixed environments
37
+ * like CommonJS and ESM, or during hot-reloading in development), the value is computed only once and reused
38
+ * thereafter.
39
+ *
40
+ * @example
41
+ * import { globalValue } from "effect/GlobalValue"
42
+ *
43
+ * // This cache will persist as long as the module is running,
44
+ * // even if reloaded or imported elsewhere
45
+ * const myCache = globalValue(
46
+ * Symbol.for("myCache"),
47
+ * () => new WeakMap<object, number>()
48
+ * )
49
+ *
21
50
  * @since 2.0.0
22
51
  */
23
52
  const globalValue = (id, compute) => {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalValue.js","names":["version","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","globalStoreId","Symbol","for","getCurrentVersion","globalThis","Map","globalStore","globalValue","id","compute","exports"],"sources":["../../src/GlobalValue.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAHhD;;;;AAKA,MAAMW,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,iDAAoCzB,OAAO,CAAC0B,iBAAiB,EAAE,EAAE,CAAC;AAEnG,IAAI,EAAEH,aAAa,IAAII,UAAU,CAAC,EAAE;EAClC;EAAEA,UAAkB,CAACJ,aAAa,CAAC,gBAAG,IAAIK,GAAG,EAAE;AACjD;AAEA,MAAMC,WAAW,GAAIF,UAAkB,CAACJ,aAAa,CAAsB;AAE3E;;;AAGO,MAAMO,WAAW,GAAGA,CAAIC,EAAW,EAAEC,OAAgB,KAAO;EACjE,IAAI,CAACH,WAAW,CAACnB,GAAG,CAACqB,EAAE,CAAC,EAAE;IACxBF,WAAW,CAACP,GAAG,CAACS,EAAE,EAAEC,OAAO,EAAE,CAAC;EAChC;EACA,OAAOH,WAAW,CAAClB,GAAG,CAACoB,EAAE,CAAE;AAC7B,CAAC;AAAAE,OAAA,CAAAH,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"GlobalValue.js","names":["version","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","globalStoreId","Symbol","for","getCurrentVersion","globalThis","Map","globalStore","globalValue","id","compute","exports"],"sources":["../../src/GlobalValue.ts"],"sourcesContent":[null],"mappings":";;;;;;AAcA,IAAAA,OAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAdhD;;;;;;;;;;;;;;;AAgBA,MAAMW,aAAa,gBAAGC,MAAM,CAACC,GAAG,CAAC,iDAAoCzB,OAAO,CAAC0B,iBAAiB,EAAE,EAAE,CAAC;AAEnG,IAAI,EAAEH,aAAa,IAAII,UAAU,CAAC,EAAE;EAClC;EAAEA,UAAkB,CAACJ,aAAa,CAAC,gBAAG,IAAIK,GAAG,EAAE;AACjD;AAEA,MAAMC,WAAW,GAAIF,UAAkB,CAACJ,aAAa,CAAsB;AAE3E;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAMO,WAAW,GAAGA,CAAIC,EAAW,EAAEC,OAAgB,KAAO;EACjE,IAAI,CAACH,WAAW,CAACnB,GAAG,CAACqB,EAAE,CAAC,EAAE;IACxBF,WAAW,CAACP,GAAG,CAACS,EAAE,EAAEC,OAAO,EAAE,CAAC;EAChC;EACA,OAAOH,WAAW,CAAClB,GAAG,CAACoB,EAAE,CAAE;AAC7B,CAAC;AAAAE,OAAA,CAAAH,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -57,171 +57,170 @@ class ChannelExecutor {
57
57
  } else {
58
58
  if (Effect.isEffect(this._currentChannel)) {
59
59
  this._currentChannel = core.fromEffect(this._currentChannel);
60
- } else {
61
- switch (this._currentChannel._tag) {
62
- case ChannelOpCodes.OP_BRACKET_OUT:
63
- {
64
- result = this.runBracketOut(this._currentChannel);
65
- break;
66
- }
67
- case ChannelOpCodes.OP_BRIDGE:
68
- {
69
- const bridgeInput = this._currentChannel.input;
70
- // PipeTo(left, Bridge(queue, channel))
71
- // In a fiber: repeatedly run left and push its outputs to the queue
72
- // Add a finalizer to interrupt the fiber and close the executor
73
- this._currentChannel = this._currentChannel.channel;
74
- if (this._input !== undefined) {
75
- const inputExecutor = this._input;
76
- this._input = undefined;
77
- const drainer = () => Effect.flatMap(bridgeInput.awaitRead(), () => Effect.suspend(() => {
78
- const state = inputExecutor.run();
79
- switch (state._tag) {
80
- case ChannelStateOpCodes.OP_DONE:
81
- {
82
- return Exit.match(inputExecutor.getDone(), {
83
- onFailure: cause => bridgeInput.error(cause),
84
- onSuccess: value => bridgeInput.done(value)
85
- });
86
- }
87
- case ChannelStateOpCodes.OP_EMIT:
88
- {
89
- return Effect.flatMap(bridgeInput.emit(inputExecutor.getEmit()), () => drainer());
90
- }
91
- case ChannelStateOpCodes.OP_FROM_EFFECT:
92
- {
93
- return Effect.matchCauseEffect(state.effect, {
94
- onFailure: cause => bridgeInput.error(cause),
95
- onSuccess: () => drainer()
96
- });
97
- }
98
- case ChannelStateOpCodes.OP_READ:
99
- {
100
- return readUpstream(state, () => drainer(), cause => bridgeInput.error(cause));
101
- }
102
- }
103
- }));
104
- result = ChannelState.fromEffect(Effect.flatMap(Effect.forkDaemon(drainer()), fiber => Effect.sync(() => this.addFinalizer(exit => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.suspend(() => {
105
- const effect = this.restorePipe(exit, inputExecutor);
106
- return effect !== undefined ? effect : Effect.void;
107
- }))))));
108
- }
109
- break;
110
- }
111
- case ChannelOpCodes.OP_CONCAT_ALL:
112
- {
113
- const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => Effect.sync(() => {
114
- const prevLastClose = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
115
- this._closeLastSubstream = (0, _Function.pipe)(prevLastClose, Effect.zipRight(effect));
116
- }));
117
- executor._input = this._input;
118
- const channel = this._currentChannel;
119
- this._activeSubexecutor = new Subexecutor.PullFromUpstream(executor, value => channel.k(value), undefined, [], (x, y) => channel.combineInners(x, y), (x, y) => channel.combineAll(x, y), request => channel.onPull(request), value => channel.onEmit(value));
120
- this._closeLastSubstream = undefined;
121
- this._currentChannel = undefined;
122
- break;
123
- }
124
- case ChannelOpCodes.OP_EMIT:
125
- {
126
- this._emitted = this._currentChannel.out;
127
- this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.void;
128
- result = ChannelState.Emit();
129
- break;
130
- }
131
- case ChannelOpCodes.OP_ENSURING:
132
- {
133
- this.runEnsuring(this._currentChannel);
134
- break;
135
- }
136
- case ChannelOpCodes.OP_FAIL:
137
- {
138
- result = this.doneHalt(this._currentChannel.error());
139
- break;
140
- }
141
- case ChannelOpCodes.OP_FOLD:
142
- {
143
- this._doneStack.push(this._currentChannel.k);
144
- this._currentChannel = this._currentChannel.channel;
145
- break;
146
- }
147
- case ChannelOpCodes.OP_FROM_EFFECT:
148
- {
149
- const effect = this._providedEnv === undefined ? this._currentChannel.effect() : (0, _Function.pipe)(this._currentChannel.effect(), Effect.provide(this._providedEnv));
150
- result = ChannelState.fromEffect(Effect.matchCauseEffect(effect, {
151
- onFailure: cause => {
152
- const state = this.doneHalt(cause);
153
- return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
154
- },
155
- onSuccess: value => {
156
- const state = this.doneSucceed(value);
157
- return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
60
+ }
61
+ switch (this._currentChannel._tag) {
62
+ case ChannelOpCodes.OP_BRACKET_OUT:
63
+ {
64
+ result = this.runBracketOut(this._currentChannel);
65
+ break;
66
+ }
67
+ case ChannelOpCodes.OP_BRIDGE:
68
+ {
69
+ const bridgeInput = this._currentChannel.input;
70
+ // PipeTo(left, Bridge(queue, channel))
71
+ // In a fiber: repeatedly run left and push its outputs to the queue
72
+ // Add a finalizer to interrupt the fiber and close the executor
73
+ this._currentChannel = this._currentChannel.channel;
74
+ if (this._input !== undefined) {
75
+ const inputExecutor = this._input;
76
+ this._input = undefined;
77
+ const drainer = () => Effect.flatMap(bridgeInput.awaitRead(), () => Effect.suspend(() => {
78
+ const state = inputExecutor.run();
79
+ switch (state._tag) {
80
+ case ChannelStateOpCodes.OP_DONE:
81
+ {
82
+ return Exit.match(inputExecutor.getDone(), {
83
+ onFailure: cause => bridgeInput.error(cause),
84
+ onSuccess: value => bridgeInput.done(value)
85
+ });
86
+ }
87
+ case ChannelStateOpCodes.OP_EMIT:
88
+ {
89
+ return Effect.flatMap(bridgeInput.emit(inputExecutor.getEmit()), () => drainer());
90
+ }
91
+ case ChannelStateOpCodes.OP_FROM_EFFECT:
92
+ {
93
+ return Effect.matchCauseEffect(state.effect, {
94
+ onFailure: cause => bridgeInput.error(cause),
95
+ onSuccess: () => drainer()
96
+ });
97
+ }
98
+ case ChannelStateOpCodes.OP_READ:
99
+ {
100
+ return readUpstream(state, () => drainer(), cause => bridgeInput.error(cause));
101
+ }
158
102
  }
159
103
  }));
160
- break;
161
- }
162
- case ChannelOpCodes.OP_PIPE_TO:
163
- {
164
- const previousInput = this._input;
165
- const leftExec = new ChannelExecutor(this._currentChannel.left(), this._providedEnv, effect => this._executeCloseLastSubstream(effect));
166
- leftExec._input = previousInput;
167
- this._input = leftExec;
168
- this.addFinalizer(exit => {
169
- const effect = this.restorePipe(exit, previousInput);
104
+ result = ChannelState.fromEffect(Effect.flatMap(Effect.forkDaemon(Effect.interruptible(drainer())), fiber => Effect.sync(() => this.addFinalizer(exit => Effect.flatMap(Fiber.interrupt(fiber), () => Effect.suspend(() => {
105
+ const effect = this.restorePipe(exit, inputExecutor);
170
106
  return effect !== undefined ? effect : Effect.void;
171
- });
172
- this._currentChannel = this._currentChannel.right();
173
- break;
107
+ }))))));
174
108
  }
175
- case ChannelOpCodes.OP_PROVIDE:
176
- {
177
- const previousEnv = this._providedEnv;
178
- this._providedEnv = this._currentChannel.context();
179
- this._currentChannel = this._currentChannel.inner;
180
- this.addFinalizer(() => Effect.sync(() => {
181
- this._providedEnv = previousEnv;
182
- }));
183
- break;
184
- }
185
- case ChannelOpCodes.OP_READ:
186
- {
187
- const read = this._currentChannel;
188
- result = ChannelState.Read(this._input, _Function.identity, emitted => {
189
- try {
190
- this._currentChannel = read.more(emitted);
191
- } catch (error) {
192
- this._currentChannel = read.done.onExit(Exit.die(error));
193
- }
194
- return undefined;
195
- }, exit => {
196
- const onExit = exit => {
197
- return read.done.onExit(exit);
198
- };
199
- this._currentChannel = onExit(exit);
200
- return undefined;
201
- });
202
- break;
203
- }
204
- case ChannelOpCodes.OP_SUCCEED:
205
- {
206
- result = this.doneSucceed(this._currentChannel.evaluate());
207
- break;
208
- }
209
- case ChannelOpCodes.OP_SUCCEED_NOW:
210
- {
211
- result = this.doneSucceed(this._currentChannel.terminal);
212
- break;
213
- }
214
- case ChannelOpCodes.OP_SUSPEND:
215
- {
216
- this._currentChannel = this._currentChannel.channel();
217
- break;
218
- }
219
- default:
220
- {
221
- // @ts-expect-error
222
- this._currentChannel._tag;
223
- }
224
- }
109
+ break;
110
+ }
111
+ case ChannelOpCodes.OP_CONCAT_ALL:
112
+ {
113
+ const executor = new ChannelExecutor(this._currentChannel.value(), this._providedEnv, effect => Effect.sync(() => {
114
+ const prevLastClose = this._closeLastSubstream === undefined ? Effect.void : this._closeLastSubstream;
115
+ this._closeLastSubstream = (0, _Function.pipe)(prevLastClose, Effect.zipRight(effect));
116
+ }));
117
+ executor._input = this._input;
118
+ const channel = this._currentChannel;
119
+ this._activeSubexecutor = new Subexecutor.PullFromUpstream(executor, value => channel.k(value), undefined, [], (x, y) => channel.combineInners(x, y), (x, y) => channel.combineAll(x, y), request => channel.onPull(request), value => channel.onEmit(value));
120
+ this._closeLastSubstream = undefined;
121
+ this._currentChannel = undefined;
122
+ break;
123
+ }
124
+ case ChannelOpCodes.OP_EMIT:
125
+ {
126
+ this._emitted = this._currentChannel.out;
127
+ this._currentChannel = this._activeSubexecutor !== undefined ? undefined : core.void;
128
+ result = ChannelState.Emit();
129
+ break;
130
+ }
131
+ case ChannelOpCodes.OP_ENSURING:
132
+ {
133
+ this.runEnsuring(this._currentChannel);
134
+ break;
135
+ }
136
+ case ChannelOpCodes.OP_FAIL:
137
+ {
138
+ result = this.doneHalt(this._currentChannel.error());
139
+ break;
140
+ }
141
+ case ChannelOpCodes.OP_FOLD:
142
+ {
143
+ this._doneStack.push(this._currentChannel.k);
144
+ this._currentChannel = this._currentChannel.channel;
145
+ break;
146
+ }
147
+ case ChannelOpCodes.OP_FROM_EFFECT:
148
+ {
149
+ const effect = this._providedEnv === undefined ? this._currentChannel.effect() : (0, _Function.pipe)(this._currentChannel.effect(), Effect.provide(this._providedEnv));
150
+ result = ChannelState.fromEffect(Effect.matchCauseEffect(effect, {
151
+ onFailure: cause => {
152
+ const state = this.doneHalt(cause);
153
+ return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
154
+ },
155
+ onSuccess: value => {
156
+ const state = this.doneSucceed(value);
157
+ return state !== undefined && ChannelState.isFromEffect(state) ? state.effect : Effect.void;
158
+ }
159
+ }));
160
+ break;
161
+ }
162
+ case ChannelOpCodes.OP_PIPE_TO:
163
+ {
164
+ const previousInput = this._input;
165
+ const leftExec = new ChannelExecutor(this._currentChannel.left(), this._providedEnv, effect => this._executeCloseLastSubstream(effect));
166
+ leftExec._input = previousInput;
167
+ this._input = leftExec;
168
+ this.addFinalizer(exit => {
169
+ const effect = this.restorePipe(exit, previousInput);
170
+ return effect !== undefined ? effect : Effect.void;
171
+ });
172
+ this._currentChannel = this._currentChannel.right();
173
+ break;
174
+ }
175
+ case ChannelOpCodes.OP_PROVIDE:
176
+ {
177
+ const previousEnv = this._providedEnv;
178
+ this._providedEnv = this._currentChannel.context();
179
+ this._currentChannel = this._currentChannel.inner;
180
+ this.addFinalizer(() => Effect.sync(() => {
181
+ this._providedEnv = previousEnv;
182
+ }));
183
+ break;
184
+ }
185
+ case ChannelOpCodes.OP_READ:
186
+ {
187
+ const read = this._currentChannel;
188
+ result = ChannelState.Read(this._input, _Function.identity, emitted => {
189
+ try {
190
+ this._currentChannel = read.more(emitted);
191
+ } catch (error) {
192
+ this._currentChannel = read.done.onExit(Exit.die(error));
193
+ }
194
+ return undefined;
195
+ }, exit => {
196
+ const onExit = exit => {
197
+ return read.done.onExit(exit);
198
+ };
199
+ this._currentChannel = onExit(exit);
200
+ return undefined;
201
+ });
202
+ break;
203
+ }
204
+ case ChannelOpCodes.OP_SUCCEED:
205
+ {
206
+ result = this.doneSucceed(this._currentChannel.evaluate());
207
+ break;
208
+ }
209
+ case ChannelOpCodes.OP_SUCCEED_NOW:
210
+ {
211
+ result = this.doneSucceed(this._currentChannel.terminal);
212
+ break;
213
+ }
214
+ case ChannelOpCodes.OP_SUSPEND:
215
+ {
216
+ this._currentChannel = this._currentChannel.channel();
217
+ break;
218
+ }
219
+ default:
220
+ {
221
+ // @ts-expect-error
222
+ this._currentChannel._tag;
223
+ }
225
224
  }
226
225
  }
227
226
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"channelExecutor.js","names":["Cause","_interopRequireWildcard","require","Deferred","Effect","ExecutionStrategy","Exit","Fiber","_Function","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","pipe","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","identity","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","lastClose","rest","remainingExecutors","NoUpstream","reduce","curr","fin","exits","all","getOrElse","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","exports","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","yieldNow","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"channelExecutor.js","names":["Cause","_interopRequireWildcard","require","Deferred","Effect","ExecutionStrategy","Exit","Fiber","_Function","Option","Scope","core","ChannelOpCodes","ChildExecutorDecisionOpCodes","ChannelStateOpCodes","UpstreamPullStrategyOpCodes","ContinuationOpCodes","ChannelState","Continuation","Subexecutor","upstreamPullRequest","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ChannelExecutor","_activeSubexecutor","undefined","_cancelled","_closeLastSubstream","_currentChannel","_done","_doneStack","_emitted","_executeCloseLastSubstream","_input","_inProgressFinalizer","_providedEnv","constructor","initialChannel","providedEnv","executeCloseLastSubstream","run","result","processCancellation","runSubexecutor","Done","isEffect","fromEffect","_tag","OP_BRACKET_OUT","runBracketOut","OP_BRIDGE","bridgeInput","input","channel","inputExecutor","drainer","flatMap","awaitRead","suspend","state","OP_DONE","match","getDone","onFailure","cause","error","onSuccess","value","done","OP_EMIT","emit","getEmit","OP_FROM_EFFECT","matchCauseEffect","effect","OP_READ","readUpstream","forkDaemon","interruptible","fiber","sync","addFinalizer","exit","interrupt","restorePipe","void","OP_CONCAT_ALL","executor","prevLastClose","pipe","zipRight","PullFromUpstream","k","x","y","combineInners","combineAll","request","onPull","onEmit","out","Emit","OP_ENSURING","runEnsuring","OP_FAIL","doneHalt","OP_FOLD","push","provide","isFromEffect","doneSucceed","OP_PIPE_TO","previousInput","leftExec","left","right","OP_PROVIDE","previousEnv","context","inner","read","Read","identity","emitted","more","onExit","die","OP_SUCCEED","evaluate","OP_SUCCEED_NOW","terminal","OP_SUSPEND","failCause","cancelWith","clearInProgressFinalizer","storeInProgressFinalizer","finalizer","popAllFinalizers","finalizers","next","pop","length","runFinalizers","popNextFinalizers","builder","cont","OP_CONTINUATION_K","prev","currInput","close","runInProgressFinalizers","ensuring","closeSelf","selfFinalizers","closeSubexecutors","ifNotNull","zip","map","exit1","exit2","exit3","uninterruptible","succeed","head","reverse","finalizerEffect","f","onHalt","bracketOut","acquire","write","ContinuationFinalizerImpl","subexecutor","OP_PULL_FROM_CHILD","pullFromChild","childExecutor","parentSubexecutor","OP_PULL_FROM_UPSTREAM","pullFromUpstream","OP_DRAIN_CHILD_EXECUTORS","drainChildExecutors","replaceSubexecutor","nextSubExec","finishWithExit","finishSubexecutorWithCloseEffect","subexecutorDone","closeFuncs","forEach","closeFunc","closeEffect","discard","applyUpstreamPullStrategy","upstreamFinished","queue","strategy","OP_PULL_AFTER_NEXT","shouldPrepend","some","emitSeparator","OP_PULL_AFTER_ALL_ENQUEUED","shouldEnqueue","onEmitted","childExecutorDecision","OP_CONTINUE","OP_CLOSE","finishWithDoneValue","OP_YIELD","modifiedParent","enqueuePullFromChild","handleSubexecutorFailure","effectOrUndefinedIgnored","doneValue","upstreamExecutor","createChild","lastDone","combineChildResults","activeChildExecutors","combineWithChildResult","DrainChildExecutors","upstreamDone","performPullFromUpstream","activeChild","slice","PullFromChild","closeLastSubstream","updatedChildExecutors","Pulled","isSome","drain","lastClose","rest","remainingExecutors","NoUpstream","reduce","curr","fin","exits","all","getOrElse","readStack","current","upstream","dieMessage","emitEffect","doneEffect","onDone","onEffect","catchAllCause","exports","self","runScoped","scoped","channelDeferred","scopeDeferred","scope","acquireUseRelease","exec","runScopedInterpret","intoDeferred","await","zipLeft","finalize","tapErrorCause","uninterruptibleMask","restore","parent","fork","sequential","make","child","forkScoped","yieldNow","inheritAll","channelState","op"],"sources":["../../../../src/internal/channel/channelExecutor.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,iBAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,KAAA,GAAAT,uBAAA,CAAAC,OAAA;AAEA,IAAAS,IAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,cAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,4BAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,mBAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,2BAAA,GAAAd,uBAAA,CAAAC,OAAA;AACA,IAAAc,mBAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,YAAA,GAAAhB,uBAAA,CAAAC,OAAA;AACA,IAAAgB,YAAA,GAAAjB,uBAAA,CAAAC,OAAA;AACA,IAAAiB,WAAA,GAAAlB,uBAAA,CAAAC,OAAA;AACA,IAAAkB,mBAAA,GAAAnB,uBAAA,CAAAC,OAAA;AAA+D,SAAAmB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAArB,wBAAAqB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAuB/D;AACM,MAAOW,eAAe;EASlBC,kBAAkB,GAA6CC,SAAS;EAExEC,UAAU,GAA2CD,SAAS;EAE9DE,mBAAmB,GAAmDF,SAAS;EAE/EG,eAAe;EAEfC,KAAK,GAA4CJ,SAAS;EAE1DK,UAAU,GAAmC,EAAE;EAE/CC,QAAQ,GAAwBN,SAAS;EAEzCO,0BAA0B;EAI1BC,MAAM,GAAoCR,SAAS;EAEnDS,oBAAoB,GAAmDT,SAAS;EAEhFU,YAAY;EAEpBC,YACEC,cAAqF,EACrFC,WAAiD,EACjDC,yBAA6G;IAE7G,IAAI,CAACX,eAAe,GAAGS,cAAgC;IACvD,IAAI,CAACL,0BAA0B,GAAGO,yBAAyB;IAC3D,IAAI,CAACJ,YAAY,GAAGG,WAAW;EACjC;EAEAE,GAAGA,CAAA;IACD,IAAIC,MAAM,GAAwDhB,SAAS;IAC3E,OAAOgB,MAAM,KAAKhB,SAAS,EAAE;MAC3B,IAAI,IAAI,CAACC,UAAU,KAAKD,SAAS,EAAE;QACjCgB,MAAM,GAAG,IAAI,CAACC,mBAAmB,EAAE;MACrC,CAAC,MAAM,IAAI,IAAI,CAAClB,kBAAkB,KAAKC,SAAS,EAAE;QAChDgB,MAAM,GAAG,IAAI,CAACE,cAAc,EAAE;MAChC,CAAC,MAAM;QACL,IAAI;UACF,IAAI,IAAI,CAACf,eAAe,KAAKH,SAAS,EAAE;YACtCgB,MAAM,GAAG1C,YAAY,CAAC6C,IAAI,EAAE;UAC9B,CAAC,MAAM;YACL,IAAI1D,MAAM,CAAC2D,QAAQ,CAAC,IAAI,CAACjB,eAAe,CAAC,EAAE;cACzC,IAAI,CAACA,eAAe,GAAGnC,IAAI,CAACqD,UAAU,CAAC,IAAI,CAAClB,eAAe,CAAmB;YAChF;YACA,QAAQ,IAAI,CAACA,eAAe,CAACmB,IAAI;cAC/B,KAAKrD,cAAc,CAACsD,cAAc;gBAAE;kBAClCP,MAAM,GAAG,IAAI,CAACQ,aAAa,CAAC,IAAI,CAACrB,eAAe,CAAC;kBACjD;gBACF;cAEA,KAAKlC,cAAc,CAACwD,SAAS;gBAAE;kBAC7B,MAAMC,WAAW,GAAG,IAAI,CAACvB,eAAe,CAACwB,KAAK;kBAE9C;kBACA;kBACA;kBACA,IAAI,CAACxB,eAAe,GAAG,IAAI,CAACA,eAAe,CAACyB,OAAyB;kBAErE,IAAI,IAAI,CAACpB,MAAM,KAAKR,SAAS,EAAE;oBAC7B,MAAM6B,aAAa,GAAG,IAAI,CAACrB,MAAM;oBACjC,IAAI,CAACA,MAAM,GAAGR,SAAS;oBAEvB,MAAM8B,OAAO,GAAGA,CAAA,KACdrE,MAAM,CAACsE,OAAO,CAACL,WAAW,CAACM,SAAS,EAAE,EAAE,MACtCvE,MAAM,CAACwE,OAAO,CAAC,MAAK;sBAClB,MAAMC,KAAK,GAAGL,aAAa,CAACd,GAAG,EAA4B;sBAC3D,QAAQmB,KAAK,CAACZ,IAAI;wBAChB,KAAKnD,mBAAmB,CAACgE,OAAO;0BAAE;4BAChC,OAAOxE,IAAI,CAACyE,KAAK,CAACP,aAAa,CAACQ,OAAO,EAAE,EAAE;8BACzCC,SAAS,EAAGC,KAAK,IAAKb,WAAW,CAACc,KAAK,CAACD,KAAK,CAAC;8BAC9CE,SAAS,EAAGC,KAAK,IAAKhB,WAAW,CAACiB,IAAI,CAACD,KAAK;6BAC7C,CAAC;0BACJ;wBACA,KAAKvE,mBAAmB,CAACyE,OAAO;0BAAE;4BAChC,OAAOnF,MAAM,CAACsE,OAAO,CACnBL,WAAW,CAACmB,IAAI,CAAChB,aAAa,CAACiB,OAAO,EAAE,CAAC,EACzC,MAAMhB,OAAO,EAAE,CAChB;0BACH;wBACA,KAAK3D,mBAAmB,CAAC4E,cAAc;0BAAE;4BACvC,OAAOtF,MAAM,CAACuF,gBAAgB,CAACd,KAAK,CAACe,MAAM,EAAE;8BAC3CX,SAAS,EAAGC,KAAK,IAAKb,WAAW,CAACc,KAAK,CAACD,KAAK,CAAC;8BAC9CE,SAAS,EAAEA,CAAA,KAAMX,OAAO;6BACzB,CAAC;0BACJ;wBACA,KAAK3D,mBAAmB,CAAC+E,OAAO;0BAAE;4BAChC,OAAOC,YAAY,CACjBjB,KAAK,EACL,MAAMJ,OAAO,EAAE,EACdS,KAAK,IAAKb,WAAW,CAACc,KAAK,CAACD,KAAK,CAAC,CACpC;0BACH;sBACF;oBACF,CAAC,CAAC,CAAuC;oBAE7CvB,MAAM,GAAG1C,YAAY,CAAC+C,UAAU,CAC9B5D,MAAM,CAACsE,OAAO,CACZtE,MAAM,CAAC2F,UAAU,CAAC3F,MAAM,CAAC4F,aAAa,CAACvB,OAAO,EAAE,CAAC,CAAC,EACjDwB,KAAK,IACJ7F,MAAM,CAAC8F,IAAI,CAAC,MACV,IAAI,CAACC,YAAY,CAAEC,IAAI,IACrBhG,MAAM,CAACsE,OAAO,CAACnE,KAAK,CAAC8F,SAAS,CAACJ,KAAK,CAAC,EAAE,MACrC7F,MAAM,CAACwE,OAAO,CAAC,MAAK;sBAClB,MAAMgB,MAAM,GAAG,IAAI,CAACU,WAAW,CAACF,IAAI,EAAE5B,aAAa,CAAC;sBACpD,OAAOoB,MAAM,KAAKjD,SAAS,GAAGiD,MAAM,GAAGxF,MAAM,CAACmG,IAAI;oBACpD,CAAC,CAAC,CAAC,CACN,CACF,CACJ,CACF;kBACH;kBAEA;gBACF;cAEA,KAAK3F,cAAc,CAAC4F,aAAa;gBAAE;kBACjC,MAAMC,QAAQ,GAAwB,IAAIhE,eAAe,CACvD,IAAI,CAACK,eAAe,CAACuC,KAAK,EAQzB,EACD,IAAI,CAAChC,YAAY,EAChBuC,MAAM,IACLxF,MAAM,CAAC8F,IAAI,CAAC,MAAK;oBACf,MAAMQ,aAAa,GAAG,IAAI,CAAC7D,mBAAmB,KAAKF,SAAS,GACxDvC,MAAM,CAACmG,IAAI,GACX,IAAI,CAAC1D,mBAAmB;oBAC5B,IAAI,CAACA,mBAAmB,GAAG,IAAA8D,cAAI,EAACD,aAAa,EAAEtG,MAAM,CAACwG,QAAQ,CAAChB,MAAM,CAAC,CAAC;kBACzE,CAAC,CAAC,CACL;kBACDa,QAAQ,CAACtD,MAAM,GAAG,IAAI,CAACA,MAAM;kBAE7B,MAAMoB,OAAO,GAAG,IAAI,CAACzB,eAAe;kBACpC,IAAI,CAACJ,kBAAkB,GAAG,IAAIvB,WAAW,CAAC0F,gBAAgB,CACxDJ,QAAQ,EACPpB,KAAK,IAAKd,OAAO,CAACuC,CAAC,CAACzB,KAAK,CAAC,EAC3B1C,SAAS,EACT,EAAE,EACF,CAACoE,CAAC,EAAEC,CAAC,KAAKzC,OAAO,CAAC0C,aAAa,CAACF,CAAC,EAAEC,CAAC,CAAC,EACrC,CAACD,CAAC,EAAEC,CAAC,KAAKzC,OAAO,CAAC2C,UAAU,CAACH,CAAC,EAAEC,CAAC,CAAC,EACjCG,OAAO,IAAK5C,OAAO,CAAC6C,MAAM,CAACD,OAAO,CAAC,EACnC9B,KAAK,IAAKd,OAAO,CAAC8C,MAAM,CAAChC,KAAK,CAAC,CACjC;kBAED,IAAI,CAACxC,mBAAmB,GAAGF,SAAS;kBACpC,IAAI,CAACG,eAAe,GAAGH,SAAS;kBAEhC;gBACF;cAEA,KAAK/B,cAAc,CAAC2E,OAAO;gBAAE;kBAC3B,IAAI,CAACtC,QAAQ,GAAG,IAAI,CAACH,eAAe,CAACwE,GAAG;kBACxC,IAAI,CAACxE,eAAe,GAAI,IAAI,CAACJ,kBAAkB,KAAKC,SAAS,GAC3DA,SAAS,GACThC,IAAI,CAAC4F,IAAmC;kBAC1C5C,MAAM,GAAG1C,YAAY,CAACsG,IAAI,EAAE;kBAC5B;gBACF;cAEA,KAAK3G,cAAc,CAAC4G,WAAW;gBAAE;kBAC/B,IAAI,CAACC,WAAW,CAAC,IAAI,CAAC3E,eAAe,CAAC;kBACtC;gBACF;cAEA,KAAKlC,cAAc,CAAC8G,OAAO;gBAAE;kBAC3B/D,MAAM,GAAG,IAAI,CAACgE,QAAQ,CAAC,IAAI,CAAC7E,eAAe,CAACqC,KAAK,EAAE,CAAC;kBACpD;gBACF;cAEA,KAAKvE,cAAc,CAACgH,OAAO;gBAAE;kBAC3B,IAAI,CAAC5E,UAAU,CAAC6E,IAAI,CAAC,IAAI,CAAC/E,eAAe,CAACgE,CAA4B,CAAC;kBACvE,IAAI,CAAChE,eAAe,GAAG,IAAI,CAACA,eAAe,CAACyB,OAAyB;kBACrE;gBACF;cAEA,KAAK3D,cAAc,CAAC8E,cAAc;gBAAE;kBAClC,MAAME,MAAM,GAAG,IAAI,CAACvC,YAAY,KAAKV,SAAS,GAC5C,IAAI,CAACG,eAAe,CAAC8C,MAAM,EAAE,GAC7B,IAAAe,cAAI,EACF,IAAI,CAAC7D,eAAe,CAAC8C,MAAM,EAAE,EAC7BxF,MAAM,CAAC0H,OAAO,CAAC,IAAI,CAACzE,YAAY,CAAC,CAClC;kBAEHM,MAAM,GAAG1C,YAAY,CAAC+C,UAAU,CAC9B5D,MAAM,CAACuF,gBAAgB,CAACC,MAAM,EAAE;oBAC9BX,SAAS,EAAGC,KAAK,IAAI;sBACnB,MAAML,KAAK,GAAG,IAAI,CAAC8C,QAAQ,CAACzC,KAAK,CAAC;sBAClC,OAAOL,KAAK,KAAKlC,SAAS,IAAI1B,YAAY,CAAC8G,YAAY,CAAClD,KAAK,CAAC,GAC5DA,KAAK,CAACe,MAAM,GACZxF,MAAM,CAACmG,IAAI;oBACf,CAAC;oBACDnB,SAAS,EAAGC,KAAK,IAAI;sBACnB,MAAMR,KAAK,GAAG,IAAI,CAACmD,WAAW,CAAC3C,KAAK,CAAC;sBACrC,OAAOR,KAAK,KAAKlC,SAAS,IAAI1B,YAAY,CAAC8G,YAAY,CAAClD,KAAK,CAAC,GAC5DA,KAAK,CAACe,MAAM,GACZxF,MAAM,CAACmG,IAAI;oBACf;mBACD,CAAC,CACoD;kBAExD;gBACF;cAEA,KAAK3F,cAAc,CAACqH,UAAU;gBAAE;kBAC9B,MAAMC,aAAa,GAAG,IAAI,CAAC/E,MAAM;kBAEjC,MAAMgF,QAAQ,GAAwB,IAAI1F,eAAe,CACvD,IAAI,CAACK,eAAe,CAACsF,IAAI,EAA0E,EACnG,IAAI,CAAC/E,YAAY,EAChBuC,MAAM,IAAK,IAAI,CAAC1C,0BAA0B,CAAC0C,MAAM,CAAC,CACpD;kBACDuC,QAAQ,CAAChF,MAAM,GAAG+E,aAAa;kBAC/B,IAAI,CAAC/E,MAAM,GAAGgF,QAAQ;kBAEtB,IAAI,CAAChC,YAAY,CAAEC,IAAI,IAAI;oBACzB,MAAMR,MAAM,GAAG,IAAI,CAACU,WAAW,CAACF,IAAI,EAAE8B,aAAa,CAAC;oBACpD,OAAOtC,MAAM,KAAKjD,SAAS,GAAGiD,MAAM,GAAGxF,MAAM,CAACmG,IAAI;kBACpD,CAAC,CAAC;kBAEF,IAAI,CAACzD,eAAe,GAAG,IAAI,CAACA,eAAe,CAACuF,KAAK,EAAoB;kBAErE;gBACF;cAEA,KAAKzH,cAAc,CAAC0H,UAAU;gBAAE;kBAC9B,MAAMC,WAAW,GAAG,IAAI,CAAClF,YAAY;kBACrC,IAAI,CAACA,YAAY,GAAG,IAAI,CAACP,eAAe,CAAC0F,OAAO,EAAE;kBAClD,IAAI,CAAC1F,eAAe,GAAG,IAAI,CAACA,eAAe,CAAC2F,KAAuB;kBACnE,IAAI,CAACtC,YAAY,CAAC,MAChB/F,MAAM,CAAC8F,IAAI,CAAC,MAAK;oBACf,IAAI,CAAC7C,YAAY,GAAGkF,WAAW;kBACjC,CAAC,CAAC,CACH;kBACD;gBACF;cAEA,KAAK3H,cAAc,CAACiF,OAAO;gBAAE;kBAC3B,MAAM6C,IAAI,GAAG,IAAI,CAAC5F,eAAe;kBACjCa,MAAM,GAAG1C,YAAY,CAAC0H,IAAI,CACxB,IAAI,CAACxF,MAAO,EACZyF,kBAAQ,EACPC,OAAO,IAAI;oBACV,IAAI;sBACF,IAAI,CAAC/F,eAAe,GAAG4F,IAAI,CAACI,IAAI,CAACD,OAAO,CAAmB;oBAC7D,CAAC,CAAC,OAAO1D,KAAK,EAAE;sBACd,IAAI,CAACrC,eAAe,GAAG4F,IAAI,CAACpD,IAAI,CAACyD,MAAM,CAACzI,IAAI,CAAC0I,GAAG,CAAC7D,KAAK,CAAC,CAAmB;oBAC5E;oBACA,OAAOxC,SAAS;kBAClB,CAAC,EACAyD,IAAI,IAAI;oBACP,MAAM2C,MAAM,GAAI3C,IAAiC,IAAoB;sBACnE,OAAOsC,IAAI,CAACpD,IAAI,CAACyD,MAAM,CAAC3C,IAAI,CAAmB;oBACjD,CAAC;oBACD,IAAI,CAACtD,eAAe,GAAGiG,MAAM,CAAC3C,IAAI,CAAC;oBACnC,OAAOzD,SAAS;kBAClB,CAAC,CACF;kBACD;gBACF;cAEA,KAAK/B,cAAc,CAACqI,UAAU;gBAAE;kBAC9BtF,MAAM,GAAG,IAAI,CAACqE,WAAW,CAAC,IAAI,CAAClF,eAAe,CAACoG,QAAQ,EAAE,CAAC;kBAC1D;gBACF;cAEA,KAAKtI,cAAc,CAACuI,cAAc;gBAAE;kBAClCxF,MAAM,GAAG,IAAI,CAACqE,WAAW,CAAC,IAAI,CAAClF,eAAe,CAACsG,QAAQ,CAAC;kBACxD;gBACF;cAEA,KAAKxI,cAAc,CAACyI,UAAU;gBAAE;kBAC9B,IAAI,CAACvG,eAAe,GAAG,IAAI,CAACA,eAAe,CAACyB,OAAO,EAAoB;kBACvE;gBACF;cAEA;gBAAS;kBACP;kBACA,IAAI,CAACzB,eAAe,CAACmB,IAAI;gBAC3B;YACF;UACF;QACF,CAAC,CAAC,OAAOkB,KAAK,EAAE;UACd,IAAI,CAACrC,eAAe,GAAGnC,IAAI,CAAC2I,SAAS,CAACtJ,KAAK,CAACgJ,GAAG,CAAC7D,KAAK,CAAC,CAAmB;QAC3E;MACF;IACF;IACA,OAAOxB,MAAM;EACf;EAEAqB,OAAOA,CAAA;IACL,OAAO,IAAI,CAACjC,KAAmC;EACjD;EAEA0C,OAAOA,CAAA;IACL,OAAO,IAAI,CAACxC,QAAmB;EACjC;EAEAsG,UAAUA,CAACnD,IAAgC;IACzC,IAAI,CAACxD,UAAU,GAAGwD,IAAI;EACxB;EAEAoD,wBAAwBA,CAAA;IACtB,IAAI,CAACpG,oBAAoB,GAAGT,SAAS;EACvC;EAEA8G,wBAAwBA,CAACC,SAAyD;IAChF,IAAI,CAACtG,oBAAoB,GAAGsG,SAAS;EACvC;EAEAC,gBAAgBA,CAACvD,IAAiC;IAChD,MAAMwD,UAAU,GAAgC,EAAE;IAClD,IAAIC,IAAI,GAAG,IAAI,CAAC7G,UAAU,CAAC8G,GAAG,EAAwC;IACtE,OAAOD,IAAI,EAAE;MACX,IAAIA,IAAI,CAAC5F,IAAI,KAAK,uBAAuB,EAAE;QACzC2F,UAAU,CAAC/B,IAAI,CAACgC,IAAI,CAACH,SAAiC,CAAC;MACzD;MACAG,IAAI,GAAG,IAAI,CAAC7G,UAAU,CAAC8G,GAAG,EAAwC;IACpE;IACA,MAAMlE,MAAM,GAAIgE,UAAU,CAACG,MAAM,KAAK,CAAC,GAAG3J,MAAM,CAACmG,IAAI,GAAGyD,aAAa,CAACJ,UAAU,EAAExD,IAAI,CAIrF;IACD,IAAI,CAACqD,wBAAwB,CAAC7D,MAAM,CAAC;IACrC,OAAOA,MAAM;EACf;EAEAqE,iBAAiBA,CAAA;IACf,MAAMC,OAAO,GAAqE,EAAE;IACpF,OAAO,IAAI,CAAClH,UAAU,CAAC+G,MAAM,KAAK,CAAC,EAAE;MACnC,MAAMI,IAAI,GAAG,IAAI,CAACnH,UAAU,CAAC,IAAI,CAACA,UAAU,CAAC+G,MAAM,GAAG,CAAC,CAA2B;MAClF,IAAII,IAAI,CAAClG,IAAI,KAAKjD,mBAAmB,CAACoJ,iBAAiB,EAAE;QACvD,OAAOF,OAAO;MAChB;MACAA,OAAO,CAACrC,IAAI,CAACsC,IAAiE,CAAC;MAC/E,IAAI,CAACnH,UAAU,CAAC8G,GAAG,EAAE;IACvB;IACA,OAAOI,OAAO;EAChB;EAEA5D,WAAWA,CACTF,IAAiC,EACjCiE,IAAqC;IAErC,MAAMC,SAAS,GAAG,IAAI,CAACnH,MAAM;IAC7B,IAAI,CAACA,MAAM,GAAGkH,IAAI;IAClB,IAAIC,SAAS,KAAK3H,SAAS,EAAE;MAC3B,MAAMiD,MAAM,GAAG0E,SAAS,CAACC,KAAK,CAACnE,IAAI,CAAC;MACpC,OAAOR,MAAM;IACf;IACA,OAAOxF,MAAM,CAACmG,IAAI;EACpB;EAEAgE,KAAKA,CAACnE,IAAiC;IACrC,IAAIoE,uBAAuB,GAAmD7H,SAAS;IACvF,MAAM+G,SAAS,GAAG,IAAI,CAACtG,oBAAoB;IAC3C,IAAIsG,SAAS,KAAK/G,SAAS,EAAE;MAC3B6H,uBAAuB,GAAG,IAAA7D,cAAI,EAC5B+C,SAAS,EACTtJ,MAAM,CAACqK,QAAQ,CAACrK,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAACsD,wBAAwB,EAAE,CAAC,CAAC,CACpE;IACH;IAEA,IAAIkB,SAAS,GAAmD/H,SAAS;IACzE,MAAMgI,cAAc,GAAG,IAAI,CAAChB,gBAAgB,CAACvD,IAAI,CAAC;IAClD,IAAIuE,cAAc,KAAKhI,SAAS,EAAE;MAChC+H,SAAS,GAAG,IAAA/D,cAAI,EACdgE,cAAc,EACdvK,MAAM,CAACqK,QAAQ,CAACrK,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAACsD,wBAAwB,EAAE,CAAC,CAAC,CACpE;IACH;IAEA,MAAMoB,iBAAiB,GAAG,IAAI,CAAClI,kBAAkB,KAAKC,SAAS,GAC7DA,SAAS,GACT,IAAI,CAACD,kBAAkB,CAAC6H,KAAK,CAACnE,IAAI,CAAC;IAErC,IACEwE,iBAAiB,KAAKjI,SAAS,IAC/B6H,uBAAuB,KAAK7H,SAAS,IACrC+H,SAAS,KAAK/H,SAAS,EACvB;MACA,OAAOA,SAAS;IAClB;IAEA,OAAO,IAAAgE,cAAI,EACTvG,MAAM,CAACgG,IAAI,CAACyE,SAAS,CAACD,iBAAiB,CAAC,CAAC,EACzCxK,MAAM,CAAC0K,GAAG,CAAC1K,MAAM,CAACgG,IAAI,CAACyE,SAAS,CAACL,uBAAuB,CAAC,CAAC,CAAC,EAC3DpK,MAAM,CAAC0K,GAAG,CAAC1K,MAAM,CAACgG,IAAI,CAACyE,SAAS,CAACH,SAAS,CAAC,CAAC,CAAC,EAC7CtK,MAAM,CAAC2K,GAAG,CAAC,CAAC,CAAC,CAACC,KAAK,EAAEC,KAAK,CAAC,EAAEC,KAAK,CAAC,KAAK,IAAAvE,cAAI,EAACqE,KAAK,EAAE1K,IAAI,CAACsG,QAAQ,CAACqE,KAAK,CAAC,EAAE3K,IAAI,CAACsG,QAAQ,CAACsE,KAAK,CAAC,CAAC,CAAC,EAChG9K,MAAM,CAAC+K,eAAe;IACtB;IACA/K,MAAM,CAACsE,OAAO,CAAE0B,IAAI,IAAKhG,MAAM,CAACwE,OAAO,CAAC,MAAMwB,IAAI,CAAC,CAAC,CACrD;EACH;EAEA4B,WAAWA,CAAC3C,KAAc;IACxB,IAAI,IAAI,CAACrC,UAAU,CAAC+G,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAAChH,KAAK,GAAGzC,IAAI,CAAC8K,OAAO,CAAC/F,KAAK,CAAC;MAChC,IAAI,CAACvC,eAAe,GAAGH,SAAS;MAChC,OAAO1B,YAAY,CAAC6C,IAAI,EAAE;IAC5B;IAEA,MAAMuH,IAAI,GAAG,IAAI,CAACrI,UAAU,CAAC,IAAI,CAACA,UAAU,CAAC+G,MAAM,GAAG,CAAC,CAA2B;IAClF,IAAIsB,IAAI,CAACpH,IAAI,KAAKjD,mBAAmB,CAACoJ,iBAAiB,EAAE;MACvD,IAAI,CAACpH,UAAU,CAAC8G,GAAG,EAAE;MACrB,IAAI,CAAChH,eAAe,GAAGuI,IAAI,CAACjG,SAAS,CAACC,KAAK,CAAmB;MAC9D,OAAO1C,SAAS;IAClB;IAEA,MAAMiH,UAAU,GAAG,IAAI,CAACK,iBAAiB,EAAE;IAC3C,IAAI,IAAI,CAACjH,UAAU,CAAC+G,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAAC/G,UAAU,GAAG4G,UAAU,CAAC0B,OAAO,EAAE;MACtC,IAAI,CAACvI,KAAK,GAAGzC,IAAI,CAAC8K,OAAO,CAAC/F,KAAK,CAAC;MAChC,IAAI,CAACvC,eAAe,GAAGH,SAAS;MAChC,OAAO1B,YAAY,CAAC6C,IAAI,EAAE;IAC5B;IAEA,MAAMyH,eAAe,GAAGvB,aAAa,CAACJ,UAAU,CAACmB,GAAG,CAAES,CAAC,IAAKA,CAAC,CAAC9B,SAAS,CAAC,EAAEpJ,IAAI,CAAC8K,OAAO,CAAC/F,KAAK,CAAC,CAAE;IAC/F,IAAI,CAACoE,wBAAwB,CAAC8B,eAAe,CAAC;IAE9C,MAAM3F,MAAM,GAAG,IAAAe,cAAI,EACjB4E,eAAe,EACfnL,MAAM,CAACqK,QAAQ,CAACrK,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAACsD,wBAAwB,EAAE,CAAC,CAAC,EACnEpJ,MAAM,CAAC+K,eAAe,EACtB/K,MAAM,CAACsE,OAAO,CAAC,MAAMtE,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAAC8B,WAAW,CAAC3C,KAAK,CAAC,CAAC,CAAC,CACjE;IAED,OAAOpE,YAAY,CAAC+C,UAAU,CAAC4B,MAAM,CAAC;EACxC;EAEA+B,QAAQA,CAACzC,KAA2B;IAClC,IAAI,IAAI,CAAClC,UAAU,CAAC+G,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAAChH,KAAK,GAAGzC,IAAI,CAACgJ,SAAS,CAACpE,KAAK,CAAC;MAClC,IAAI,CAACpC,eAAe,GAAGH,SAAS;MAChC,OAAO1B,YAAY,CAAC6C,IAAI,EAAE;IAC5B;IAEA,MAAMuH,IAAI,GAAG,IAAI,CAACrI,UAAU,CAAC,IAAI,CAACA,UAAU,CAAC+G,MAAM,GAAG,CAAC,CAA2B;IAClF,IAAIsB,IAAI,CAACpH,IAAI,KAAKjD,mBAAmB,CAACoJ,iBAAiB,EAAE;MACvD,IAAI,CAACpH,UAAU,CAAC8G,GAAG,EAAE;MACrB,IAAI,CAAChH,eAAe,GAAGuI,IAAI,CAACI,MAAM,CAACvG,KAAK,CAAmB;MAC3D,OAAOvC,SAAS;IAClB;IAEA,MAAMiH,UAAU,GAAG,IAAI,CAACK,iBAAiB,EAAE;IAC3C,IAAI,IAAI,CAACjH,UAAU,CAAC+G,MAAM,KAAK,CAAC,EAAE;MAChC,IAAI,CAAC/G,UAAU,GAAG4G,UAAU,CAAC0B,OAAO,EAAE;MACtC,IAAI,CAACvI,KAAK,GAAGzC,IAAI,CAACgJ,SAAS,CAACpE,KAAK,CAAC;MAClC,IAAI,CAACpC,eAAe,GAAGH,SAAS;MAChC,OAAO1B,YAAY,CAAC6C,IAAI,EAAE;IAC5B;IAEA,MAAMyH,eAAe,GAAGvB,aAAa,CAACJ,UAAU,CAACmB,GAAG,CAAES,CAAC,IAAKA,CAAC,CAAC9B,SAAS,CAAC,EAAEpJ,IAAI,CAACgJ,SAAS,CAACpE,KAAK,CAAC,CAAE;IACjG,IAAI,CAACuE,wBAAwB,CAAC8B,eAAe,CAAC;IAE9C,MAAM3F,MAAM,GAAG,IAAAe,cAAI,EACjB4E,eAAe,EACfnL,MAAM,CAACqK,QAAQ,CAACrK,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAACsD,wBAAwB,EAAE,CAAC,CAAC,EACnEpJ,MAAM,CAAC+K,eAAe,EACtB/K,MAAM,CAACsE,OAAO,CAAC,MAAMtE,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAI,CAACyB,QAAQ,CAACzC,KAAK,CAAC,CAAC,CAAC,CAC9D;IAED,OAAOjE,YAAY,CAAC+C,UAAU,CAAC4B,MAAM,CAAC;EACxC;EAEAhC,mBAAmBA,CAAA;IACjB,IAAI,CAACd,eAAe,GAAGH,SAAS;IAChC,IAAI,CAACI,KAAK,GAAG,IAAI,CAACH,UAAU;IAC5B,IAAI,CAACA,UAAU,GAAGD,SAAS;IAC3B,OAAO1B,YAAY,CAAC6C,IAAI,EAAE;EAC5B;EAEAK,aAAaA,CAACuH,UAA2B;IACvC,MAAM9F,MAAM,GAAGxF,MAAM,CAAC+K,eAAe,CACnC/K,MAAM,CAACuF,gBAAgB,CAAC,IAAI,CAACmC,OAAO,CAAC4D,UAAU,CAACC,OAAO,EAAyC,CAAC,EAAE;MACjG1G,SAAS,EAAGC,KAAK,IACf9E,MAAM,CAAC8F,IAAI,CAAC,MAAK;QACf,IAAI,CAACpD,eAAe,GAAGnC,IAAI,CAAC2I,SAAS,CAACpE,KAAK,CAAmB;MAChE,CAAC,CAAC;MACJE,SAAS,EAAGkC,GAAG,IACblH,MAAM,CAAC8F,IAAI,CAAC,MAAK;QACf,IAAI,CAACC,YAAY,CAAEC,IAAI,IACrB,IAAI,CAAC0B,OAAO,CAAC4D,UAAU,CAAChC,SAAS,CAACpC,GAAG,EAAElB,IAAI,CAAC,CAAuC,CACpF;QACD,IAAI,CAACtD,eAAe,GAAGnC,IAAI,CAACiL,KAAK,CAACtE,GAAG,CAAmB;MAC1D,CAAC;KACJ,CAAC,CACH;IACD,OAAOrG,YAAY,CAAC+C,UAAU,CAAC4B,MAAM,CAA4C;EACnF;EAEAkC,OAAOA,CAAClC,MAAgD;IACtD,IAAI,IAAI,CAACvC,YAAY,KAAKV,SAAS,EAAE;MACnC,OAAOiD,MAAM;IACf;IACA,OAAO,IAAAe,cAAI,EAACf,MAAM,EAAExF,MAAM,CAAC0H,OAAO,CAAC,IAAI,CAACzE,YAAY,CAAC,CAAC;EACxD;EAEAoE,WAAWA,CAACgD,QAAuB;IACjC,IAAI,CAACtE,YAAY,CAACsE,QAAQ,CAACf,SAAiC,CAAC;IAC7D,IAAI,CAAC5G,eAAe,GAAG2H,QAAQ,CAAClG,OAAyB;EAC3D;EAEA4B,YAAYA,CAACqF,CAAuB;IAClC,IAAI,CAACxI,UAAU,CAAC6E,IAAI,CAAC,IAAI3G,YAAY,CAAC2K,yBAAyB,CAACL,CAAC,CAAC,CAAC;EACrE;EAEA3H,cAAcA,CAAA;IACZ,MAAMiI,WAAW,GAAG,IAAI,CAACpJ,kBAAgD;IACzE,QAAQoJ,WAAW,CAAC7H,IAAI;MACtB,KAAK9C,WAAW,CAAC4K,kBAAkB;QAAE;UACnC,OAAO,IAAI,CAACC,aAAa,CACvBF,WAAW,CAACG,aAAa,EACzBH,WAAW,CAACI,iBAAiB,EAC7BJ,WAAW,CAACzE,MAAM,EAClByE,WAAW,CACZ;QACH;MACA,KAAK3K,WAAW,CAACgL,qBAAqB;QAAE;UACtC,OAAO,IAAI,CAACC,gBAAgB,CAACN,WAAW,CAAC;QAC3C;MACA,KAAK3K,WAAW,CAACkL,wBAAwB;QAAE;UACzC,OAAO,IAAI,CAACC,mBAAmB,CAACR,WAAW,CAAC;QAC9C;MACA,KAAK3K,WAAW,CAACoE,OAAO;QAAE;UACxB,IAAI,CAACtC,QAAQ,GAAG6I,WAAW,CAACzG,KAAK;UACjC,IAAI,CAAC3C,kBAAkB,GAAGoJ,WAAW,CAACjC,IAAI;UAC1C,OAAO5I,YAAY,CAACsG,IAAI,EAAE;QAC5B;IACF;EACF;EAEAgF,kBAAkBA,CAACC,WAAyC;IAC1D,IAAI,CAAC1J,eAAe,GAAGH,SAAS;IAChC,IAAI,CAACD,kBAAkB,GAAG8J,WAAW;EACvC;EAEAC,cAAcA,CAACrG,IAAiC;IAC9C,MAAMvB,KAAK,GAAGvE,IAAI,CAACyE,KAAK,CAACqB,IAAI,EAAE;MAC7BnB,SAAS,EAAGC,KAAK,IAAK,IAAI,CAACyC,QAAQ,CAACzC,KAAK,CAAC;MAC1CE,SAAS,EAAGC,KAAK,IAAK,IAAI,CAAC2C,WAAW,CAAC3C,KAAK;KAC7C,CAAC;IACF,IAAI,CAAC3C,kBAAkB,GAAGC,SAAS;IACnC,OAAOkC,KAAK,KAAKlC,SAAS,GACxBvC,MAAM,CAACmG,IAAI,GACXtF,YAAY,CAAC2E,MAAM,CAACf,KAAK,CAAC;EAC9B;EAEA6H,gCAAgCA,CAC9BC,eAA4C,EAC5C,GAAGC,UAAwG;IAE3G,IAAI,CAACzG,YAAY,CAAC,MAChB,IAAAQ,cAAI,EACFiG,UAAU,EACVxM,MAAM,CAACyM,OAAO,CAAEC,SAAS,IACvB,IAAAnG,cAAI,EACFvG,MAAM,CAAC8F,IAAI,CAAC,MAAM4G,SAAS,CAACH,eAAe,CAAC,CAAC,EAC7CvM,MAAM,CAACsE,OAAO,CAAEqI,WAAW,IAAKA,WAAW,KAAKpK,SAAS,GAAGoK,WAAW,GAAG3M,MAAM,CAACmG,IAAI,CAAC,CACvF,EAAE;MAAEyG,OAAO,EAAE;IAAI,CAAE,CAAC,CACxB,CACF;IACD,MAAMnI,KAAK,GAAG,IAAA8B,cAAI,EAChBgG,eAAe,EACfrM,IAAI,CAACyE,KAAK,CAAC;MACTE,SAAS,EAAGC,KAAK,IAAK,IAAI,CAACyC,QAAQ,CAACzC,KAAK,CAAC;MAC1CE,SAAS,EAAGC,KAAK,IAAK,IAAI,CAAC2C,WAAW,CAAC3C,KAAK;KAC7C,CAAC,CACH;IACD,IAAI,CAAC3C,kBAAkB,GAAGC,SAAS;IACnC,OAAOkC,KAAK;EACd;EAEAoI,yBAAyBA,CACvBC,gBAAyB,EACzBC,KAAgE,EAChEC,QAA4D;IAE5D,QAAQA,QAAQ,CAACnJ,IAAI;MACnB,KAAKlD,2BAA2B,CAACsM,kBAAkB;QAAE;UACnD,MAAMC,aAAa,GAAG,CAACJ,gBAAgB,IAAIC,KAAK,CAACI,IAAI,CAAEzB,WAAW,IAAKA,WAAW,KAAKnJ,SAAS,CAAC;UACjG,OAAO,CAACyK,QAAQ,CAACI,aAAa,EAAEF,aAAa,GAAG,CAAC3K,SAAS,EAAE,GAAGwK,KAAK,CAAC,GAAGA,KAAK,CAAC;QAChF;MACA,KAAKpM,2BAA2B,CAAC0M,0BAA0B;QAAE;UAC3D,MAAMC,aAAa,GAAG,CAACR,gBAAgB,IAAIC,KAAK,CAACI,IAAI,CAAEzB,WAAW,IAAKA,WAAW,KAAKnJ,SAAS,CAAC;UACjG,OAAO,CAACyK,QAAQ,CAACI,aAAa,EAAEE,aAAa,GAAG,CAAC,GAAGP,KAAK,EAAExK,SAAS,CAAC,GAAGwK,KAAK,CAAC;QAChF;IACF;EACF;EAEAnB,aAAaA,CACXC,aAAkC,EAClCC,iBAA+C,EAC/CyB,SAA4E,EAC5E7B,WAA2C;IAE3C,OAAO7K,YAAY,CAAC0H,IAAI,CACtBsD,aAAa,EACbrD,kBAAQ,EACPC,OAAO,IAAI;MACV,MAAM+E,qBAAqB,GAAGD,SAAS,CAAC9E,OAAO,CAAC;MAChD,QAAQ+E,qBAAqB,CAAC3J,IAAI;QAChC,KAAKpD,4BAA4B,CAACgN,WAAW;UAAE;YAC7C;UACF;QACA,KAAKhN,4BAA4B,CAACiN,QAAQ;UAAE;YAC1C,IAAI,CAACC,mBAAmB,CAAC9B,aAAa,EAAEC,iBAAiB,EAAE0B,qBAAqB,CAACvI,KAAK,CAAC;YACvF;UACF;QACA,KAAKxE,4BAA4B,CAACmN,QAAQ;UAAE;YAC1C,MAAMC,cAAc,GAAG/B,iBAAiB,CAACgC,oBAAoB,CAACpC,WAAW,CAAC;YAC1E,IAAI,CAACS,kBAAkB,CAAC0B,cAAc,CAAC;YACvC;UACF;MACF;MACA,IAAI,CAACvL,kBAAkB,GAAG,IAAIvB,WAAW,CAACoG,IAAI,CAACsB,OAAO,EAAE,IAAI,CAACnG,kBAAmB,CAAC;MACjF,OAAOC,SAAS;IAClB,CAAC,EACDrC,IAAI,CAACyE,KAAK,CAAC;MACTE,SAAS,EAAGC,KAAK,IAAI;QACnB,MAAML,KAAK,GAAG,IAAI,CAACsJ,wBAAwB,CAAClC,aAAa,EAAEC,iBAAiB,EAAEhH,KAAK,CAAC;QACpF,OAAOL,KAAK,KAAKlC,SAAS,GACxBA,SAAS,GACT1B,YAAY,CAACmN,wBAAwB,CAACvJ,KAAK,CAAoC;MACnF,CAAC;MACDO,SAAS,EAAGiJ,SAAS,IAAI;QACvB,IAAI,CAACN,mBAAmB,CAAC9B,aAAa,EAAEC,iBAAiB,EAAEmC,SAAS,CAAC;QACrE,OAAO1L,SAAS;MAClB;KACD,CAAC,CACH;EACH;EAEAoL,mBAAmBA,CACjB9B,aAAkC,EAClCC,iBAA+C,EAC/CmC,SAAkB;IAElB,MAAMvC,WAAW,GAAGI,iBAA+C;IACnE,QAAQJ,WAAW,CAAC7H,IAAI;MACtB,KAAK9C,WAAW,CAACgL,qBAAqB;QAAE;UACtC,MAAM8B,cAAc,GAAG,IAAI9M,WAAW,CAAC0F,gBAAgB,CACrDiF,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAACyC,WAAW,EACvBzC,WAAW,CAAC0C,QAAQ,KAAK7L,SAAS,GAC9BmJ,WAAW,CAAC2C,mBAAmB,CAC/B3C,WAAW,CAAC0C,QAAQ,EACpBH,SAAS,CACV,GACCA,SAAS,EACbvC,WAAW,CAAC4C,oBAAoB,EAChC5C,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,EAClB0E,WAAW,CAACzE,MAAM,CACnB;UACD,IAAI,CAACxE,mBAAmB,GAAGoJ,aAAa,CAAC1B,KAAK,CAACjK,IAAI,CAAC8K,OAAO,CAACiD,SAAS,CAAC,CAAC;UACvE,IAAI,CAAC9B,kBAAkB,CAAC0B,cAAc,CAAC;UACvC;QACF;MACA,KAAK9M,WAAW,CAACkL,wBAAwB;QAAE;UACzC,MAAM4B,cAAc,GAAG,IAAI9M,WAAW,CAACyN,mBAAmB,CACxD9C,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAAC0C,QAAQ,KAAK7L,SAAS,GAC9BmJ,WAAW,CAAC2C,mBAAmB,CAC/B3C,WAAW,CAAC0C,QAAQ,EACpBH,SAAS,CACV,GACCA,SAAS,EACbvC,WAAW,CAAC4C,oBAAoB,EAChC5C,WAAW,CAAC+C,YAAY,EACxB/C,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,CACnB;UACD,IAAI,CAACvE,mBAAmB,GAAGoJ,aAAa,CAAC1B,KAAK,CAACjK,IAAI,CAAC8K,OAAO,CAACiD,SAAS,CAAC,CAAC;UACvE,IAAI,CAAC9B,kBAAkB,CAAC0B,cAAc,CAAC;UACvC;QACF;MACA;QAAS;UACP;QACF;IACF;EACF;EAEAE,wBAAwBA,CACtBlC,aAAkC,EAClCC,iBAA+C,EAC/ChH,KAA2B;IAE3B,OAAO,IAAI,CAACwH,gCAAgC,CAC1CpM,IAAI,CAACgJ,SAAS,CAACpE,KAAK,CAAC,EACpBkB,IAAI,IAAK8F,iBAAiB,CAAC3B,KAAK,CAACnE,IAAI,CAAC,EACtCA,IAAI,IAAK6F,aAAa,CAAC1B,KAAK,CAACnE,IAAI,CAAC,CACpC;EACH;EAEAgG,gBAAgBA,CACdN,WAA8C;IAE9C,IAAIA,WAAW,CAAC4C,oBAAoB,CAAC3E,MAAM,KAAK,CAAC,EAAE;MACjD,OAAO,IAAI,CAAC+E,uBAAuB,CAAChD,WAAW,CAAC;IAClD;IAEA,MAAMiD,WAAW,GAAGjD,WAAW,CAAC4C,oBAAoB,CAAC,CAAC,CAAC;IAEvD,MAAMxC,iBAAiB,GAAG,IAAI/K,WAAW,CAAC0F,gBAAgB,CACxDiF,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAACyC,WAAW,EACvBzC,WAAW,CAAC0C,QAAQ,EACpB1C,WAAW,CAAC4C,oBAAoB,CAACM,KAAK,CAAC,CAAC,CAAC,EACzClD,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,EAClB0E,WAAW,CAACzE,MAAM,CACnB;IAED,IAAI0H,WAAW,KAAKpM,SAAS,EAAE;MAC7B,OAAO,IAAI,CAACmM,uBAAuB,CAAC5C,iBAAiB,CAAC;IACxD;IAEA,IAAI,CAACK,kBAAkB,CACrB,IAAIpL,WAAW,CAAC8N,aAAa,CAC3BF,WAAW,CAAC9C,aAAa,EACzBC,iBAAiB,EACjB6C,WAAW,CAAC1H,MAAM,CACnB,CACF;IAED,OAAO1E,SAAS;EAClB;EAEAmM,uBAAuBA,CACrBhD,WAA8C;IAE9C,OAAO7K,YAAY,CAAC0H,IAAI,CACtBmD,WAAW,CAACwC,gBAAgB,EAC3B1I,MAAM,IAAI;MACT,MAAMsJ,kBAAkB,GAAG,IAAI,CAACrM,mBAAmB,KAAKF,SAAS,GAAGvC,MAAM,CAACmG,IAAI,GAAG,IAAI,CAAC1D,mBAAmB;MAC1G,IAAI,CAACA,mBAAmB,GAAGF,SAAS;MACpC,OAAO,IAAAgE,cAAI,EACT,IAAI,CAACzD,0BAA0B,CAACgM,kBAAkB,CAAC,EACnD9O,MAAM,CAACwG,QAAQ,CAAChB,MAAM,CAAC,CACxB;IACH,CAAC,EACAiD,OAAO,IAAI;MACV,IAAI,IAAI,CAAChG,mBAAmB,KAAKF,SAAS,EAAE;QAC1C,MAAMuM,kBAAkB,GAAG,IAAI,CAACrM,mBAAmB;QACnD,IAAI,CAACA,mBAAmB,GAAGF,SAAS;QACpC,OAAO,IAAAgE,cAAI,EACT,IAAI,CAACzD,0BAA0B,CAACgM,kBAAkB,CAAC,EACnD9O,MAAM,CAAC2K,GAAG,CAAC,MAAK;UACd,MAAMkB,aAAa,GAAwB,IAAIxJ,eAAe,CAC5DqJ,WAAW,CAACyC,WAAW,CAAC1F,OAAO,CAAC,EAChC,IAAI,CAACxF,YAAY,EACjB,IAAI,CAACH,0BAA0B,CAChC;UAED+I,aAAa,CAAC9I,MAAM,GAAG,IAAI,CAACA,MAAM;UAElC,MAAM,CAACqK,aAAa,EAAE2B,qBAAqB,CAAC,GAAG,IAAI,CAAClC,yBAAyB,CAC3E,KAAK,EACLnB,WAAW,CAAC4C,oBAAoB,EAChC5C,WAAW,CAAC1E,MAAM,CAAChG,mBAAmB,CAACgO,MAAM,CAACvG,OAAO,CAAC,CAAC,CACxD;UAED,IAAI,CAACnG,kBAAkB,GAAG,IAAIvB,WAAW,CAAC8N,aAAa,CACrDhD,aAAa,EACb,IAAI9K,WAAW,CAAC0F,gBAAgB,CAC9BiF,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAACyC,WAAW,EACvBzC,WAAW,CAAC0C,QAAQ,EACpBW,qBAAqB,EACrBrD,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,EAClB0E,WAAW,CAACzE,MAAM,CACnB,EACDyE,WAAW,CAACzE,MAAM,CACnB;UAED,IAAI5G,MAAM,CAAC4O,MAAM,CAAC7B,aAAa,CAAC,EAAE;YAChC,IAAI,CAAC9K,kBAAkB,GAAG,IAAIvB,WAAW,CAACoG,IAAI,CAACiG,aAAa,CAACnI,KAAK,EAAE,IAAI,CAAC3C,kBAAkB,CAAC;UAC9F;UAEA,OAAOC,SAAS;QAClB,CAAC,CAAC,CACH;MACH;MAEA,MAAMsJ,aAAa,GAAwB,IAAIxJ,eAAe,CAC5DqJ,WAAW,CAACyC,WAAW,CAAC1F,OAAO,CAAC,EAChC,IAAI,CAACxF,YAAY,EACjB,IAAI,CAACH,0BAA0B,CAChC;MAED+I,aAAa,CAAC9I,MAAM,GAAG,IAAI,CAACA,MAAM;MAElC,MAAM,CAACqK,aAAa,EAAE2B,qBAAqB,CAAC,GAAG,IAAI,CAAClC,yBAAyB,CAC3E,KAAK,EACLnB,WAAW,CAAC4C,oBAAoB,EAChC5C,WAAW,CAAC1E,MAAM,CAAChG,mBAAmB,CAACgO,MAAM,CAACvG,OAAO,CAAC,CAAC,CACxD;MAED,IAAI,CAACnG,kBAAkB,GAAG,IAAIvB,WAAW,CAAC8N,aAAa,CACrDhD,aAAa,EACb,IAAI9K,WAAW,CAAC0F,gBAAgB,CAC9BiF,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAACyC,WAAW,EACvBzC,WAAW,CAAC0C,QAAQ,EACpBW,qBAAqB,EACrBrD,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,EAClB0E,WAAW,CAACzE,MAAM,CACnB,EACDyE,WAAW,CAACzE,MAAM,CACnB;MAED,IAAI5G,MAAM,CAAC4O,MAAM,CAAC7B,aAAa,CAAC,EAAE;QAChC,IAAI,CAAC9K,kBAAkB,GAAG,IAAIvB,WAAW,CAACoG,IAAI,CAACiG,aAAa,CAACnI,KAAK,EAAE,IAAI,CAAC3C,kBAAkB,CAAC;MAC9F;MAEA,OAAOC,SAAS;IAClB,CAAC,EACAyD,IAAI,IAAI;MACP,IAAI0F,WAAW,CAAC4C,oBAAoB,CAACnB,IAAI,CAAEzB,WAAW,IAAKA,WAAW,KAAKnJ,SAAS,CAAC,EAAE;QACrF,MAAM2M,KAAK,GAAG,IAAInO,WAAW,CAACyN,mBAAmB,CAC/C9C,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAAC0C,QAAQ,EACpB,CAAC7L,SAAS,EAAE,GAAGmJ,WAAW,CAAC4C,oBAAoB,CAAC,EAChD5C,WAAW,CAACwC,gBAAgB,CAACtJ,OAAO,EAAE,EACtC8G,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,CACnB;QAED,IAAI,IAAI,CAACvE,mBAAmB,KAAKF,SAAS,EAAE;UAC1C,MAAMuM,kBAAkB,GAAG,IAAI,CAACrM,mBAAmB;UACnD,IAAI,CAACA,mBAAmB,GAAGF,SAAS;UACpC,OAAO,IAAAgE,cAAI,EACT,IAAI,CAACzD,0BAA0B,CAACgM,kBAAkB,CAAC,EACnD9O,MAAM,CAAC2K,GAAG,CAAC,MAAM,IAAI,CAACwB,kBAAkB,CAAC+C,KAAK,CAAC,CAAC,CACjD;QACH;QAEA,IAAI,CAAC/C,kBAAkB,CAAC+C,KAAK,CAAC;QAE9B,OAAO3M,SAAS;MAClB;MAEA,MAAMuM,kBAAkB,GAAG,IAAI,CAACrM,mBAAmB;MACnD,MAAMgC,KAAK,GAAG,IAAI,CAAC6H,gCAAgC,CACjD,IAAA/F,cAAI,EAACP,IAAI,EAAE9F,IAAI,CAACyK,GAAG,CAAE/I,CAAC,IAAK8J,WAAW,CAAC6C,sBAAsB,CAAC7C,WAAW,CAAC0C,QAAQ,EAAExM,CAAC,CAAC,CAAC,CAAC,EACxF,MAAMkN,kBAAkB,EACvB9I,IAAI,IAAK0F,WAAW,CAACwC,gBAAgB,CAAC/D,KAAK,CAACnE,IAAI,CAAC,CACnD;MACD,OAAOvB,KAAK,KAAKlC,SAAS,GACxBA,SAAS;MACT;MACA1B,YAAY,CAACmN,wBAAwB,CAACvJ,KAA8C,CAAC;IACzF,CAAC,CACF;EACH;EAEAyH,mBAAmBA,CACjBR,WAAiD;IAEjD,IAAIA,WAAW,CAAC4C,oBAAoB,CAAC3E,MAAM,KAAK,CAAC,EAAE;MACjD,MAAMwF,SAAS,GAAG,IAAI,CAAC1M,mBAAmB;MAC1C,IAAI0M,SAAS,KAAK5M,SAAS,EAAE;QAC3B,IAAI,CAACwD,YAAY,CAAC,MAAM/F,MAAM,CAACgL,OAAO,CAACmE,SAAS,CAAC,CAAC;MACpD;MACA,OAAO,IAAI,CAAC7C,gCAAgC,CAC1CZ,WAAW,CAAC+C,YAAY,EACxB,MAAMU,SAAS,EACdnJ,IAAI,IAAK0F,WAAW,CAACwC,gBAAgB,CAAC/D,KAAK,CAACnE,IAAI,CAAC,CACnD;IACH;IAEA,MAAM2I,WAAW,GAAGjD,WAAW,CAAC4C,oBAAoB,CAAC,CAAC,CAAC;IACvD,MAAMc,IAAI,GAAG1D,WAAW,CAAC4C,oBAAoB,CAACM,KAAK,CAAC,CAAC,CAAC;IAEtD,IAAID,WAAW,KAAKpM,SAAS,EAAE;MAC7B,MAAM,CAAC6K,aAAa,EAAEiC,kBAAkB,CAAC,GAAG,IAAI,CAACxC,yBAAyB,CACxE,IAAI,EACJuC,IAAI,EACJ1D,WAAW,CAAC1E,MAAM,CAChBhG,mBAAmB,CAACsO,UAAU,CAACF,IAAI,CAACG,MAAM,CAAC,CAAC7N,CAAC,EAAE8N,IAAI,KAAKA,IAAI,KAAKjN,SAAS,GAAGb,CAAC,GAAG,CAAC,GAAGA,CAAC,EAAE,CAAC,CAAC,CAAC,CAC5F,CACF;MAED,IAAI,CAACyK,kBAAkB,CACrB,IAAIpL,WAAW,CAACyN,mBAAmB,CACjC9C,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAAC0C,QAAQ,EACpBiB,kBAAkB,EAClB3D,WAAW,CAAC+C,YAAY,EACxB/C,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,CACnB,CACF;MAED,IAAI3G,MAAM,CAAC4O,MAAM,CAAC7B,aAAa,CAAC,EAAE;QAChC,IAAI,CAACvK,QAAQ,GAAGuK,aAAa,CAACnI,KAAK;QACnC,OAAOpE,YAAY,CAACsG,IAAI,EAAE;MAC5B;MAEA,OAAO5E,SAAS;IAClB;IAEA,MAAMuJ,iBAAiB,GAAG,IAAI/K,WAAW,CAACyN,mBAAmB,CAC3D9C,WAAW,CAACwC,gBAAgB,EAC5BxC,WAAW,CAAC0C,QAAQ,EACpBgB,IAAI,EACJ1D,WAAW,CAAC+C,YAAY,EACxB/C,WAAW,CAAC2C,mBAAmB,EAC/B3C,WAAW,CAAC6C,sBAAsB,EAClC7C,WAAW,CAAC1E,MAAM,CACnB;IAED,IAAI,CAACmF,kBAAkB,CACrB,IAAIpL,WAAW,CAAC8N,aAAa,CAC3BF,WAAW,CAAC9C,aAAa,EACzBC,iBAAiB,EACjB6C,WAAW,CAAC1H,MAAM,CACnB,CACF;IAED,OAAO1E,SAAS;EAClB;;;AAGF,MAAMkI,SAAS,GAASjF,MAAsD,IAC5EA,MAAM,KAAKjD,SAAS,GAAGiD,MAAM,GAAGxF,MAAM,CAACmG,IAAI;AAE7C,MAAMyD,aAAa,GAAGA,CACpBJ,UAAuC,EACvCxD,IAAiC,KACK;EACtC,OAAO,IAAAO,cAAI,EACTvG,MAAM,CAACyM,OAAO,CAACjD,UAAU,EAAGiG,GAAG,IAAKzP,MAAM,CAACgG,IAAI,CAACyJ,GAAG,CAACzJ,IAAI,CAAC,CAAC,CAAC,EAC3DhG,MAAM,CAAC2K,GAAG,CAAE+E,KAAK,IAAK,IAAAnJ,cAAI,EAACrG,IAAI,CAACyP,GAAG,CAACD,KAAK,CAAC,EAAErP,MAAM,CAACuP,SAAS,CAAC,MAAM1P,IAAI,CAACiG,IAAI,CAAC,CAAC,CAAC,EAC/EnG,MAAM,CAACsE,OAAO,CAAE0B,IAAI,IAAKhG,MAAM,CAACwE,OAAO,CAAC,MAAMwB,IAA0B,CAAC,CAAC,CAC3E;AACH,CAAC;AAED;;;AAGO,MAAMN,YAAY,GAAGA,CAC1BtE,CAAoB,EACpB4D,SAAwC,EACxCH,SAA6D,KAClC;EAC3B,MAAMgL,SAAS,GAAG,CAACzO,CAAsB,CAAC;EAC1C,MAAMkH,IAAI,GAAGA,CAAA,KAA8B;IACzC,MAAMwH,OAAO,GAAGD,SAAS,CAACnG,GAAG,EAAE;IAC/B,IAAIoG,OAAO,KAAKvN,SAAS,IAAIuN,OAAO,CAACC,QAAQ,KAAKxN,SAAS,EAAE;MAC3D,OAAOvC,MAAM,CAACgQ,UAAU,CAAC,+CAA+C,CAAC;IAC3E;IACA,MAAMvL,KAAK,GAAGqL,OAAO,CAACC,QAAQ,CAACzM,GAAG,EAA4B;IAC9D,QAAQmB,KAAK,CAACZ,IAAI;MAChB,KAAKnD,mBAAmB,CAACyE,OAAO;QAAE;UAChC,MAAM8K,UAAU,GAAGH,OAAO,CAAC7I,MAAM,CAAC6I,OAAO,CAACC,QAAQ,CAAC1K,OAAO,EAAE,CAAC;UAC7D,IAAIwK,SAAS,CAAClG,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAIsG,UAAU,KAAK1N,SAAS,EAAE;cAC5B,OAAOvC,MAAM,CAACwE,OAAO,CAACQ,SAAS,CAAC;YAClC;YACA,OAAO,IAAAuB,cAAI,EACT0J,UAAiC,EACjCjQ,MAAM,CAACuF,gBAAgB,CAAC;cAAEV,SAAS;cAAEG;YAAS,CAAE,CAAC,CAClD;UACH;UACA,IAAIiL,UAAU,KAAK1N,SAAS,EAAE;YAC5B,OAAOvC,MAAM,CAACwE,OAAO,CAAC,MAAM8D,IAAI,EAAE,CAAC;UACrC;UACA,OAAO,IAAA/B,cAAI,EACT0J,UAAiC,EACjCjQ,MAAM,CAACuF,gBAAgB,CAAC;YAAEV,SAAS;YAAEG,SAAS,EAAEA,CAAA,KAAMsD,IAAI;UAAE,CAAE,CAAC,CAChE;QACH;MAEA,KAAK5H,mBAAmB,CAACgE,OAAO;QAAE;UAChC,MAAMwL,UAAU,GAAGJ,OAAO,CAACK,MAAM,CAACL,OAAO,CAACC,QAAQ,CAACnL,OAAO,EAAE,CAAC;UAC7D,IAAIiL,SAAS,CAAClG,MAAM,KAAK,CAAC,EAAE;YAC1B,IAAIuG,UAAU,KAAK3N,SAAS,EAAE;cAC5B,OAAOvC,MAAM,CAACwE,OAAO,CAACQ,SAAS,CAAC;YAClC;YACA,OAAO,IAAAuB,cAAI,EACT2J,UAAiC,EACjClQ,MAAM,CAACuF,gBAAgB,CAAC;cAAEV,SAAS;cAAEG;YAAS,CAAE,CAAC,CAClD;UACH;UACA,IAAIkL,UAAU,KAAK3N,SAAS,EAAE;YAC5B,OAAOvC,MAAM,CAACwE,OAAO,CAAC,MAAM8D,IAAI,EAAE,CAAC;UACrC;UACA,OAAO,IAAA/B,cAAI,EACT2J,UAAiC,EACjClQ,MAAM,CAACuF,gBAAgB,CAAC;YAAEV,SAAS;YAAEG,SAAS,EAAEA,CAAA,KAAMsD,IAAI;UAAE,CAAE,CAAC,CAChE;QACH;MAEA,KAAK5H,mBAAmB,CAAC4E,cAAc;QAAE;UACvCuK,SAAS,CAACpI,IAAI,CAACqI,OAAO,CAAC;UACvB,OAAO,IAAAvJ,cAAI,EACTuJ,OAAO,CAACM,QAAQ,CAAC3L,KAAK,CAACe,MAA6B,CAAwB,EAC5ExF,MAAM,CAACqQ,aAAa,CAAEvL,KAAK,IACzB9E,MAAM,CAACwE,OAAO,CAAC,MAAK;YAClB,MAAM0L,UAAU,GAAGJ,OAAO,CAACK,MAAM,CAACjQ,IAAI,CAACgJ,SAAS,CAACpE,KAAK,CAAC,CAAwB;YAC/E,OAAOoL,UAAU,KAAK3N,SAAS,GAAGvC,MAAM,CAACmG,IAAI,GAAG+J,UAAU;UAC5D,CAAC,CAAC,CACH,EACDlQ,MAAM,CAACuF,gBAAgB,CAAC;YAAEV,SAAS;YAAEG,SAAS,EAAEA,CAAA,KAAMsD,IAAI;UAAE,CAAE,CAAC,CAChE;QACH;MAEA,KAAK5H,mBAAmB,CAAC+E,OAAO;QAAE;UAChCoK,SAAS,CAACpI,IAAI,CAACqI,OAAO,CAAC;UACvBD,SAAS,CAACpI,IAAI,CAAChD,KAAK,CAAC;UACrB,OAAOzE,MAAM,CAACwE,OAAO,CAAC,MAAM8D,IAAI,EAAE,CAAC;QACrC;IACF;EACF,CAAC;EACD,OAAOA,IAAI,EAAE;AACf,CAAC;AAED;AAAAgI,OAAA,CAAA5K,YAAA,GAAAA,YAAA;AACO,MAAMpC,GAAG,GACdiN,IAA0E,IACZ,IAAAhK,cAAI,EAACiK,SAAS,CAACD,IAAI,CAAC,EAAEvQ,MAAM,CAACyQ,MAAM,CAAC;AAEpG;AAAAH,OAAA,CAAAhN,GAAA,GAAAA,GAAA;AACO,MAAMkN,SAAS,GACpBD,IAA0E,IACrB;EACrD,MAAMjN,GAAG,GAAGA,CACVoN,eAAmD,EACnDC,aAAsC,EACtCC,KAAkB,KAElB5Q,MAAM,CAAC6Q,iBAAiB,CACtB7Q,MAAM,CAAC8F,IAAI,CAAC,MAAM,IAAIzD,eAAe,CAACkO,IAAI,EAAE,KAAK,CAAC,EAAE/H,kBAAQ,CAAC,CAAC,EAC7DsI,IAAI,IACH9Q,MAAM,CAACwE,OAAO,CAAC,MACb,IAAA+B,cAAI,EACFwK,kBAAkB,CAACD,IAAI,CAACxN,GAAG,EAA4C,EAAEwN,IAAI,CAAC,EAC9E9Q,MAAM,CAACgR,YAAY,CAACN,eAAe,CAAC,EACpC1Q,MAAM,CAACwG,QAAQ,CAACzG,QAAQ,CAACkR,KAAK,CAACP,eAAe,CAAC,CAAC,EAChD1Q,MAAM,CAACkR,OAAO,CAACnR,QAAQ,CAACkR,KAAK,CAACN,aAAa,CAAC,CAAC,CAC9C,CACF,EACH,CAACG,IAAI,EAAE9K,IAAI,KAAI;IACb,MAAMmL,QAAQ,GAAGL,IAAI,CAAC3G,KAAK,CAACnE,IAAI,CAAC;IACjC,IAAImL,QAAQ,KAAK5O,SAAS,EAAE;MAC1B,OAAOvC,MAAM,CAACmG,IAAI;IACpB;IACA,OAAOnG,MAAM,CAACoR,aAAa,CACzBD,QAAQ,EACPrM,KAAK,IAAKxE,KAAK,CAACyF,YAAY,CAAC6K,KAAK,EAAE5Q,MAAM,CAACkJ,SAAS,CAACpE,KAAK,CAAC,CAAC,CAC9D;EACH,CAAC,CACF;EACH,OAAO9E,MAAM,CAACqR,mBAAmB,CAAEC,OAAO,IACxCtR,MAAM,CAACsE,OAAO,CAACtE,MAAM,CAAC4Q,KAAK,EAAGW,MAAM,IAClC,IAAAhL,cAAI,EACFvG,MAAM,CAAC2P,GAAG,CAAC,CACTrP,KAAK,CAACkR,IAAI,CAACD,MAAM,EAAEtR,iBAAiB,CAACwR,UAAU,CAAC,EAChD1R,QAAQ,CAAC2R,IAAI,EAAmB,EAChC3R,QAAQ,CAAC2R,IAAI,EAAQ,CACtB,CAAC,EACF1R,MAAM,CAACsE,OAAO,CAAC,CAAC,CAACqN,KAAK,EAAEjB,eAAe,EAAEC,aAAa,CAAC,KACrD,IAAApK,cAAI,EACFvG,MAAM,CAAC4R,UAAU,CAACN,OAAO,CAAChO,GAAG,CAACoN,eAAe,EAAEC,aAAa,EAAEgB,KAAK,CAAC,CAAC,CAAC,EACtE3R,MAAM,CAACsE,OAAO,CAAEuB,KAAK,IACnB,IAAAU,cAAI,EACFjG,KAAK,CAACyF,YAAY,CAChBwL,MAAM,EACNxR,QAAQ,CAACiL,OAAO,CAAC2F,aAAa,EAAE,KAAK,CAAC,CAAC,CAACpK,IAAI,CAC1CvG,MAAM,CAACwG,QAAQ,CAACxG,MAAM,CAAC6R,QAAQ,EAAE,CAAC,CACnC,CACF,EACD7R,MAAM,CAACwG,QAAQ,CAAC8K,OAAO,CAACvR,QAAQ,CAACkR,KAAK,CAACP,eAAe,CAAC,CAAC,CAAC,EACzD1Q,MAAM,CAACkR,OAAO,CAAC/Q,KAAK,CAAC2R,UAAU,CAACjM,KAAK,CAAC,CAAC,CACxC,CACF,CACF,CACF,CACF,CAAC,CACL;AACH,CAAC;AAED;AAAAyK,OAAA,CAAAE,SAAA,GAAAA,SAAA;AACA,MAAMO,kBAAkB,GAAGA,CACzBgB,YAAoD,EACpDjB,IAA0E,KACnC;EACvC,MAAMkB,EAAE,GAAGD,YAAsC;EACjD,QAAQC,EAAE,CAACnO,IAAI;IACb,KAAKnD,mBAAmB,CAAC4E,cAAc;MAAE;QACvC,OAAO,IAAAiB,cAAI,EACTyL,EAAE,CAACxM,MAA6C,EAChDxF,MAAM,CAACsE,OAAO,CAAC,MAAMyM,kBAAkB,CAACD,IAAI,CAACxN,GAAG,EAA4C,EAAEwN,IAAI,CAAC,CAAC,CACrG;MACH;IACA,KAAKpQ,mBAAmB,CAACyE,OAAO;MAAE;QAChC;QACA,OAAO4L,kBAAkB,CACvBD,IAAI,CAACxN,GAAG,EAA4C,EACpDwN,IAAI,CACL;MACH;IACA,KAAKpQ,mBAAmB,CAACgE,OAAO;MAAE;QAChC,OAAO1E,MAAM,CAACwE,OAAO,CAAC,MAAMsM,IAAI,CAAClM,OAAO,EAAE,CAAC;MAC7C;IACA,KAAKlE,mBAAmB,CAAC+E,OAAO;MAAE;QAChC,OAAOC,YAAY,CACjBsM,EAAE,EACF,MAAMjB,kBAAkB,CAACD,IAAI,CAACxN,GAAG,EAA4C,EAAEwN,IAAI,CAAC,EACpF9Q,MAAM,CAACkJ,SAAS,CACsB;MAC1C;EACF;AACF,CAAC","ignoreList":[]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setCurrentVersion = exports.getCurrentVersion = void 0;
7
- let moduleVersion = "3.10.0";
7
+ let moduleVersion = "3.10.2";
8
8
  const getCurrentVersion = () => moduleVersion;
9
9
  exports.getCurrentVersion = getCurrentVersion;
10
10
  const setCurrentVersion = version => {
@@ -1,4 +1,22 @@
1
1
  /**
2
+ * Retrieves or computes a global value associated with the given `id`. If the value for this `id`
3
+ * has already been computed, it will be returned from the global store. If it does not exist yet,
4
+ * the provided `compute` function will be executed to compute the value, store it, and then return it.
5
+ *
6
+ * This ensures that even in cases where the module is imported multiple times (e.g., in mixed environments
7
+ * like CommonJS and ESM, or during hot-reloading in development), the value is computed only once and reused
8
+ * thereafter.
9
+ *
10
+ * @example
11
+ * import { globalValue } from "effect/GlobalValue"
12
+ *
13
+ * // This cache will persist as long as the module is running,
14
+ * // even if reloaded or imported elsewhere
15
+ * const myCache = globalValue(
16
+ * Symbol.for("myCache"),
17
+ * () => new WeakMap<object, number>()
18
+ * )
19
+ *
2
20
  * @since 2.0.0
3
21
  */
4
22
  export declare const globalValue: <A>(id: unknown, compute: () => A) => A;
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalValue.d.ts","sourceRoot":"","sources":["../../src/GlobalValue.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,MAAM,OAAO,WAAW,MAAM,CAAC,KAAG,CAK9D,CAAA"}
1
+ {"version":3,"file":"GlobalValue.d.ts","sourceRoot":"","sources":["../../src/GlobalValue.ts"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,MAAM,OAAO,WAAW,MAAM,CAAC,KAAG,CAK9D,CAAA"}
@@ -414,10 +414,7 @@ export declare namespace Types {
414
414
  readonly [K in keyof I]: K extends keyof P ? ExtractAndNarrow<I[K], P[K]> : I[K];
415
415
  } extends infer R ? Fail extends R[keyof R] ? never : R : never : never : IsPlainObject<I> extends true ? string extends keyof I ? I extends P ? I : never : symbol extends keyof I ? I extends P ? I : never : Simplify<{
416
416
  [RK in Extract<keyof I, keyof P>]-?: ExtractAndNarrow<I[RK], P[RK]>;
417
- } & Omit<I, keyof P>> extends infer R ? [keyof P] extends [keyof RemoveFails<R>] ? R : never : never : MaybeReplace<I, P> extends infer R ? [I] extends [R] ? I : R : never, Fail> : never;
418
- type RemoveFails<A> = NonFailKeys<A> extends infer K ? [K] extends [keyof A] ? {
419
- [RK in K]: A[RK];
420
- } : {} : {};
417
+ } & Omit<I, keyof P>> extends infer R ? keyof P extends NonFailKeys<R> ? R : never : never : MaybeReplace<I, P> extends infer R ? [I] extends [R] ? I : R : never, Fail> : never;
421
418
  type NonFailKeys<A> = keyof A & {} extends infer K ? K extends keyof A ? A[K] extends Fail ? never : K : never : never;
422
419
  }
423
420
  //# sourceMappingURL=Match.d.ts.map