@barnum/barnum 0.0.0-main-54c41bbb → 0.0.0-main-57736a4e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/linux-arm64/barnum +0 -0
- package/artifacts/linux-x64/barnum +0 -0
- package/artifacts/macos-arm64/barnum +0 -0
- package/artifacts/macos-x64/barnum +0 -0
- package/artifacts/win-x64/barnum.exe +0 -0
- package/dist/all.d.ts +1 -0
- package/dist/all.d.ts.map +1 -0
- package/dist/all.js +1 -1
- package/dist/ast.d.ts +148 -61
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +225 -42
- package/dist/bind.d.ts +7 -10
- package/dist/bind.d.ts.map +1 -0
- package/dist/bind.js +8 -8
- package/dist/builtins/array.d.ts +28 -0
- package/dist/builtins/array.d.ts.map +1 -0
- package/dist/builtins/array.js +74 -0
- package/dist/builtins/index.d.ts +6 -0
- package/dist/builtins/index.d.ts.map +1 -0
- package/dist/builtins/index.js +5 -0
- package/dist/builtins/scalar.d.ts +12 -0
- package/dist/builtins/scalar.d.ts.map +1 -0
- package/dist/builtins/scalar.js +41 -0
- package/dist/builtins/struct.d.ts +25 -0
- package/dist/builtins/struct.d.ts.map +1 -0
- package/dist/builtins/struct.js +67 -0
- package/dist/builtins/tagged-union.d.ts +54 -0
- package/dist/builtins/tagged-union.d.ts.map +1 -0
- package/dist/builtins/tagged-union.js +81 -0
- package/dist/builtins/with-resource.d.ts +23 -0
- package/dist/builtins/with-resource.d.ts.map +1 -0
- package/dist/builtins/with-resource.js +35 -0
- package/dist/chain.d.ts +1 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +3 -3
- package/dist/effect-id.d.ts +1 -0
- package/dist/effect-id.d.ts.map +1 -0
- package/dist/handler.d.ts +7 -6
- package/dist/handler.d.ts.map +1 -0
- package/dist/handler.js +3 -3
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -2
- package/dist/iterator.d.ts +18 -0
- package/dist/iterator.d.ts.map +1 -0
- package/dist/iterator.js +71 -0
- package/dist/option.d.ts +74 -0
- package/dist/option.d.ts.map +1 -0
- package/dist/option.js +141 -0
- package/dist/pipe.d.ts +2 -1
- package/dist/pipe.d.ts.map +1 -0
- package/dist/pipe.js +3 -2
- package/dist/race.d.ts +4 -3
- package/dist/race.d.ts.map +1 -0
- package/dist/race.js +10 -9
- package/dist/recursive.d.ts +9 -3
- package/dist/recursive.d.ts.map +1 -0
- package/dist/recursive.js +16 -10
- package/dist/result.d.ts +50 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +117 -0
- package/dist/run.d.ts +2 -1
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +9 -5
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +7 -0
- package/dist/schema.d.ts +1 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schemas.d.ts +5 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +13 -0
- package/dist/try-catch.d.ts +1 -0
- package/dist/try-catch.d.ts.map +1 -0
- package/dist/try-catch.js +6 -6
- package/dist/values.d.ts +6 -0
- package/dist/values.d.ts.map +1 -0
- package/dist/values.js +12 -0
- package/dist/worker.d.ts +1 -0
- package/dist/worker.d.ts.map +1 -0
- package/package.json +7 -3
- package/src/all.ts +1 -1
- package/src/ast.ts +608 -132
- package/src/bind.ts +24 -23
- package/src/builtins/array.ts +96 -0
- package/src/builtins/index.ts +10 -0
- package/src/builtins/scalar.ts +49 -0
- package/src/builtins/struct.ts +111 -0
- package/src/builtins/tagged-union.ts +142 -0
- package/src/builtins/with-resource.ts +69 -0
- package/src/chain.ts +4 -4
- package/src/handler.ts +10 -13
- package/src/index.ts +18 -15
- package/src/iterator.ts +125 -0
- package/src/option.ts +199 -0
- package/src/pipe.ts +10 -4
- package/src/race.ts +32 -22
- package/src/recursive.ts +46 -22
- package/src/result.ts +168 -0
- package/src/run.ts +14 -6
- package/src/runtime.ts +16 -0
- package/src/schemas.ts +21 -0
- package/src/try-catch.ts +8 -9
- package/src/values.ts +21 -0
- package/dist/builtins.d.ts +0 -229
- package/dist/builtins.js +0 -486
- package/src/builtins.ts +0 -703
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/all.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../src/all.ts"],"names":[],"mappings":"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"}
|
package/dist/all.js
CHANGED
package/dist/ast.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { JSONSchema7 } from "json-schema";
|
|
2
|
+
import { type VarRef, type InferVarRefs } from "./bind.js";
|
|
2
3
|
export type Action = InvokeAction | ChainAction | ForEachAction | AllAction | BranchAction | ResumeHandleAction | ResumePerformAction | RestartHandleAction | RestartPerformAction;
|
|
3
4
|
export interface InvokeAction {
|
|
4
5
|
kind: "Invoke";
|
|
@@ -72,6 +73,8 @@ export type BuiltinKind = {
|
|
|
72
73
|
index: number;
|
|
73
74
|
} | {
|
|
74
75
|
kind: "CollectSome";
|
|
76
|
+
} | {
|
|
77
|
+
kind: "AsOption";
|
|
75
78
|
} | {
|
|
76
79
|
kind: "SplitFirst";
|
|
77
80
|
} | {
|
|
@@ -82,12 +85,18 @@ export type BuiltinKind = {
|
|
|
82
85
|
} | {
|
|
83
86
|
kind: "Sleep";
|
|
84
87
|
ms: number;
|
|
88
|
+
} | {
|
|
89
|
+
kind: "Panic";
|
|
90
|
+
message: string;
|
|
91
|
+
} | {
|
|
92
|
+
kind: "ExtractPrefix";
|
|
85
93
|
};
|
|
86
94
|
/**
|
|
87
|
-
* When
|
|
88
|
-
* combinator
|
|
95
|
+
* When T is `never` or `void` (handler ignores input / recur doesn't
|
|
96
|
+
* thread state), produce `any` so the combinator can sit in any
|
|
97
|
+
* pipeline position.
|
|
89
98
|
*/
|
|
90
|
-
export type PipeIn<T> = [T] extends [never] ? any : T;
|
|
99
|
+
export type PipeIn<T> = [T] extends [never] ? any : [T] extends [void] ? any : T;
|
|
91
100
|
export interface Config {
|
|
92
101
|
workflow: Action;
|
|
93
102
|
}
|
|
@@ -95,44 +104,48 @@ type UnionToIntersection<TUnion> = (TUnion extends any ? (x: TUnion) => void : n
|
|
|
95
104
|
/** Merge a tuple of objects into a single intersection type. */
|
|
96
105
|
export type MergeTuple<TTuple> = TTuple extends unknown[] ? UnionToIntersection<TTuple[number]> : never;
|
|
97
106
|
/**
|
|
98
|
-
* An action with tracked input/output types. Phantom fields enforce
|
|
107
|
+
* An action with tracked input/output types. Phantom fields enforce variance
|
|
99
108
|
* and are never set at runtime — they exist only for the TypeScript compiler.
|
|
100
109
|
*
|
|
101
|
-
* Each type variable gets a contravariant + covariant field pair:
|
|
102
110
|
* In: __in (contravariant) + __in_co (covariant) → invariant
|
|
103
|
-
* Out: __out (covariant
|
|
111
|
+
* Out: __out (covariant only)
|
|
104
112
|
*
|
|
105
|
-
*
|
|
113
|
+
* Input invariance ensures exact type matching at pipeline connection points.
|
|
106
114
|
* Data crosses serialization boundaries to handlers in arbitrary languages
|
|
107
115
|
* (Rust, Python, etc.), so extra/missing fields are runtime errors.
|
|
116
|
+
*
|
|
117
|
+
* Output covariance is safe — a step producing Dog where Animal is expected
|
|
118
|
+
* downstream works. `never` (throwError, recur, done) is assignable to any
|
|
119
|
+
* output slot via standard subtyping.
|
|
108
120
|
*/
|
|
109
121
|
export type TypedAction<In = unknown, Out = unknown> = Action & {
|
|
110
122
|
__in?: (input: In) => void;
|
|
111
123
|
__in_co?: In;
|
|
112
124
|
__out?: () => Out;
|
|
113
|
-
__out_contra?: (output: Out) => void;
|
|
114
125
|
/** Chain this action with another. `a.then(b)` ≡ `chain(a, b)`. */
|
|
115
126
|
then<TNext>(next: Pipeable<Out, TNext>): TypedAction<In, TNext>;
|
|
116
|
-
/** Apply an action to each element of an array output. `a.forEach(b)` ≡ `a.then(forEach(b))`. */
|
|
117
|
-
forEach<TIn, TElement, TNext>(this: TypedAction<TIn, TElement[]>, action: Pipeable<TElement, TNext>): TypedAction<TIn, TNext[]>;
|
|
118
127
|
/** Dispatch on a tagged union output. Auto-unwraps `value` before each case handler. */
|
|
119
128
|
branch<TCases extends {
|
|
120
129
|
[K in BranchKeys<Out>]: CaseHandler<BranchPayload<Out, K>, unknown>;
|
|
121
130
|
}>(cases: [BranchKeys<Out>] extends [never] ? never : TCases): TypedAction<In, ExtractOutput<TCases[keyof TCases & string]>>;
|
|
122
|
-
/** Flatten
|
|
123
|
-
flatten(
|
|
131
|
+
/** Flatten one level of array nesting. `TElement[][] → TElement[]` */
|
|
132
|
+
flatten<TIn, TElement>(this: TypedAction<TIn, TElement[][]>): TypedAction<TIn, TElement[]>;
|
|
124
133
|
/** Discard output. `a.drop()` ≡ `pipe(a, drop)`. */
|
|
125
|
-
drop(): TypedAction<In,
|
|
134
|
+
drop(): TypedAction<In, void>;
|
|
126
135
|
/** Wrap output as a tagged union member. Requires full variant map TDef so __def is carried. */
|
|
127
|
-
tag<TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind): TypedAction<In, TaggedUnion<TDef>>;
|
|
136
|
+
tag<TEnumName extends string, TDef extends Record<string, unknown>, TKind extends keyof TDef & string>(kind: TKind, enumName: TEnumName): TypedAction<In, TaggedUnion<TEnumName, TDef>>;
|
|
137
|
+
/** Wrap output as `Option.Some`. `T → Option<T>` */
|
|
138
|
+
some(): TypedAction<In, Option<Out>>;
|
|
139
|
+
/** Wrap output as `Result.Ok`. `T → Result<T, never>` */
|
|
140
|
+
ok(): TypedAction<In, Result<Out, never>>;
|
|
141
|
+
/** Wrap output as `Result.Err`. `T → Result<never, T>` */
|
|
142
|
+
err(): TypedAction<In, Result<never, Out>>;
|
|
128
143
|
/** Extract a field from the output object. `a.getField("name")` ≡ `pipe(a, getField("name"))`. */
|
|
129
144
|
getField<TField extends keyof Out & string>(field: TField): TypedAction<In, Out[TField]>;
|
|
130
|
-
/** Extract an element from the output
|
|
131
|
-
getIndex<TIn, TTuple extends unknown[], TIndex extends number>(this: TypedAction<TIn, TTuple>, index: TIndex): TypedAction<TIn, TTuple[TIndex]
|
|
145
|
+
/** Extract an element from the output array by index. Returns Option. */
|
|
146
|
+
getIndex<TIn, TTuple extends unknown[], TIndex extends number>(this: TypedAction<TIn, TTuple>, index: TIndex): TypedAction<TIn, Option<TTuple[TIndex]>>;
|
|
132
147
|
/** Wrap output in an object under a field name. `a.wrapInField("foo")` ≡ `pipe(a, wrapInField("foo"))`. */
|
|
133
148
|
wrapInField<TField extends string>(field: TField): TypedAction<In, Record<TField, Out>>;
|
|
134
|
-
/** Merge a tuple of objects into a single object. `a.merge()` ≡ `pipe(a, merge())`. */
|
|
135
|
-
merge(): TypedAction<In, MergeTuple<Out>>;
|
|
136
149
|
/** Select fields from the output. `a.pick("x", "y")` ≡ `pipe(a, pick("x", "y"))`. */
|
|
137
150
|
pick<TKeys extends (keyof Out & string)[]>(...keys: TKeys): TypedAction<In, Pick<Out, TKeys[number]>>;
|
|
138
151
|
/** Head/tail decomposition. Only callable when Out is TElement[]. */
|
|
@@ -140,44 +153,97 @@ export type TypedAction<In = unknown, Out = unknown> = Action & {
|
|
|
140
153
|
/** Init/last decomposition. Only callable when Out is TElement[]. */
|
|
141
154
|
splitLast<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Option<[TElement[], TElement]>>;
|
|
142
155
|
/**
|
|
143
|
-
* Transform the
|
|
144
|
-
* Out is Option<T>. Uses `this` parameter constraint to gate availability.
|
|
156
|
+
* Transform the inner value. Dispatches: Option.map, Result.map.
|
|
145
157
|
*/
|
|
146
|
-
|
|
158
|
+
map<TIn, T, U>(this: TypedAction<TIn, Option<T>>, action: Pipeable<T, U>): TypedAction<TIn, Option<U>>;
|
|
159
|
+
map<TIn, TValue, TOut, TError>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TValue, TOut>): TypedAction<TIn, Result<TOut, TError>>;
|
|
147
160
|
/**
|
|
148
161
|
* Transform the Err value of a Result output.
|
|
149
162
|
* `Result<TValue, TError> → Result<TValue, TErrorOut>`
|
|
150
|
-
*
|
|
151
|
-
* Only callable when Out is Result<TValue, TError>.
|
|
152
163
|
*/
|
|
153
164
|
mapErr<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TError, TErrorOut>): TypedAction<TIn, Result<TValue, TErrorOut>>;
|
|
154
165
|
/**
|
|
155
|
-
* Unwrap
|
|
156
|
-
* the default action. Only callable when Out is Result<TValue, TError>.
|
|
166
|
+
* Unwrap or panic. Dispatches: Option.unwrap, Result.unwrap.
|
|
157
167
|
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
|
|
168
|
+
* Option: If Some, pass through value. If None, panic.
|
|
169
|
+
* Result: If Ok, pass through value. If Err, panic.
|
|
170
|
+
*/
|
|
171
|
+
unwrap<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, TValue>;
|
|
172
|
+
unwrap<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, TValue>;
|
|
173
|
+
/**
|
|
174
|
+
* Unwrap a union output. Dispatches: Option.unwrapOr, Result.unwrapOr.
|
|
175
|
+
*
|
|
176
|
+
* Option: If Some, pass through value. If None, apply default.
|
|
177
|
+
* Result: If Ok, pass through value. If Err, apply default.
|
|
161
178
|
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
179
|
+
* Covariant output makes throw tokens (Out=never) work:
|
|
180
|
+
* `handler.unwrapOr(throwError)`
|
|
164
181
|
*/
|
|
165
|
-
unwrapOr<TIn, TValue
|
|
182
|
+
unwrapOr<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>, defaultAction: Pipeable<void, TValue>): TypedAction<TIn, TValue>;
|
|
183
|
+
unwrapOr<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>, defaultAction: Pipeable<TError, TValue>): TypedAction<TIn, TValue>;
|
|
184
|
+
/** Monadic bind. Option: `Option<T> → Option<U>`. Result: `Result<T,E> → Result<U,E>`. */
|
|
185
|
+
andThen<TIn, TValue, TOut>(this: TypedAction<TIn, Option<TValue>>, action: Pipeable<TValue, Option<TOut>>): TypedAction<TIn, Option<TOut>>;
|
|
186
|
+
andThen<TIn, TValue, TOut, TError>(this: TypedAction<TIn, Result<TValue, TError>>, action: Pipeable<TValue, Result<TOut, TError>>): TypedAction<TIn, Result<TOut, TError>>;
|
|
187
|
+
/** Conditional keep. If Some, apply predicate. If None, stay None. */
|
|
188
|
+
filter<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>, predicate: Pipeable<TValue, Option<TValue>>): TypedAction<TIn, Option<TValue>>;
|
|
189
|
+
/** Test if the value is Some. `Option<T> → boolean` */
|
|
190
|
+
isSome<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, boolean>;
|
|
191
|
+
/** Test if the value is None. `Option<T> → boolean` */
|
|
192
|
+
isNone<TIn, TValue>(this: TypedAction<TIn, Option<TValue>>): TypedAction<TIn, boolean>;
|
|
193
|
+
/** Collect Some values from an array, discarding Nones. `Option<T>[] → T[]` */
|
|
194
|
+
collect<TIn, TValue>(this: TypedAction<TIn, Option<TValue>[]>): TypedAction<TIn, TValue[]>;
|
|
195
|
+
/** Fallback on Err. `Result<T,E> → Result<T,F>` */
|
|
196
|
+
or<TIn, TValue, TError, TErrorOut>(this: TypedAction<TIn, Result<TValue, TError>>, fallback: Pipeable<TError, Result<TValue, TErrorOut>>): TypedAction<TIn, Result<TValue, TErrorOut>>;
|
|
197
|
+
/** Convert Ok to Some, Err to None. `Result<T,E> → Option<T>` */
|
|
198
|
+
asOkOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TValue>>;
|
|
199
|
+
/** Convert Err to Some, Ok to None. `Result<T,E> → Option<E>` */
|
|
200
|
+
asErrOption<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, Option<TError>>;
|
|
201
|
+
/** Convert boolean to Option<void>. `boolean → Option<void>` */
|
|
202
|
+
asOption<TIn>(this: TypedAction<TIn, boolean>): TypedAction<TIn, Option<void>>;
|
|
203
|
+
/** Test if the value is Ok. `Result<T,E> → boolean` */
|
|
204
|
+
isOk<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, boolean>;
|
|
205
|
+
/** Test if the value is Err. `Result<T,E> → boolean` */
|
|
206
|
+
isErr<TIn, TValue, TError>(this: TypedAction<TIn, Result<TValue, TError>>): TypedAction<TIn, boolean>;
|
|
207
|
+
/** Swap nesting. `Option<Result<T,E>> → Result<Option<T>,E>` or `Result<Option<T>,E> → Option<Result<T,E>>`. */
|
|
208
|
+
transpose<TIn, TValue, TError>(this: TypedAction<TIn, Option<Result<TValue, TError>>>): TypedAction<TIn, Result<Option<TValue>, TError>>;
|
|
209
|
+
transpose<TIn, TValue, TError>(this: TypedAction<TIn, Result<Option<TValue>, TError>>): TypedAction<TIn, Option<Result<TValue, TError>>>;
|
|
210
|
+
/** Enter Iterator from Option. `Option<T> → Iterator<T>` */
|
|
211
|
+
iterate<TIn, TElement>(this: TypedAction<TIn, Option<TElement>>): TypedAction<TIn, Iterator<TElement>>;
|
|
212
|
+
/** Enter Iterator from Result. `Result<T,E> → Iterator<T>` */
|
|
213
|
+
iterate<TIn, TElement, TError>(this: TypedAction<TIn, Result<TElement, TError>>): TypedAction<TIn, Iterator<TElement>>;
|
|
214
|
+
/** Enter Iterator from array. `T[] → Iterator<T>` */
|
|
215
|
+
iterate<TIn, TElement>(this: TypedAction<TIn, TElement[]>): TypedAction<TIn, Iterator<TElement>>;
|
|
216
|
+
/** Transform each element in Iterator. `Iterator<T> → Iterator<U>` */
|
|
217
|
+
map<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut>): TypedAction<TIn, Iterator<TOut>>;
|
|
218
|
+
/** Flat-map each element. `f` returns Iterator. `Iterator<T> → Iterator<U>` */
|
|
219
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Iterator<TOut>>): TypedAction<TIn, Iterator<TOut>>;
|
|
220
|
+
/** Flat-map each element. `f` returns Option. `Iterator<T> → Iterator<U>` */
|
|
221
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Option<TOut>>): TypedAction<TIn, Iterator<TOut>>;
|
|
222
|
+
/** Flat-map each element. `f` returns Result. `Iterator<T> → Iterator<U>` */
|
|
223
|
+
flatMap<TIn, TElement, TOut, TError>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, Result<TOut, TError>>): TypedAction<TIn, Iterator<TOut>>;
|
|
224
|
+
/** Flat-map each element. `f` returns array. `Iterator<T> → Iterator<U>` */
|
|
225
|
+
flatMap<TIn, TElement, TOut>(this: TypedAction<TIn, Iterator<TElement>>, action: Pipeable<TElement, TOut[]>): TypedAction<TIn, Iterator<TOut>>;
|
|
226
|
+
/** Keep elements where predicate returns true. `Iterator<T> → Iterator<T>` */
|
|
227
|
+
filter<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>, predicate: Pipeable<TElement, boolean>): TypedAction<TIn, Iterator<TElement>>;
|
|
228
|
+
/** Unwrap Iterator to array. `Iterator<T> → T[]` */
|
|
229
|
+
collect<TIn, TElement>(this: TypedAction<TIn, Iterator<TElement>>): TypedAction<TIn, TElement[]>;
|
|
230
|
+
/** Bind concurrent values as VarRefs available throughout the body. */
|
|
231
|
+
bind<TBindings extends Action[], TOut>(bindings: [...TBindings], body: (vars: InferVarRefs<TBindings>) => Action & {
|
|
232
|
+
__out?: () => TOut;
|
|
233
|
+
}): TypedAction<In, TOut>;
|
|
234
|
+
/** Capture the pipeline input as a VarRef. */
|
|
235
|
+
bindInput<TOut>(body: (input: VarRef<Out>) => Action & {
|
|
236
|
+
__out?: () => TOut;
|
|
237
|
+
}): TypedAction<In, TOut>;
|
|
166
238
|
};
|
|
167
239
|
/**
|
|
168
|
-
* Parameter type for pipe and combinators.
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
* Invariance: Both In and Out are invariant, matching TypedAction:
|
|
172
|
-
* In: __in (contravariant) + __in_co (covariant) → invariant
|
|
173
|
-
* Out: __out (covariant) + __out_contra (contravariant) → invariant
|
|
240
|
+
* Parameter type for pipe and combinators. Same phantom fields as TypedAction
|
|
241
|
+
* but without methods.
|
|
174
242
|
*
|
|
175
243
|
* Why no methods: TypedAction's methods (then, branch, etc.) participate in
|
|
176
244
|
* TS assignability checks in complex, recursive ways that interfere with
|
|
177
245
|
* generic inference in pipe overloads. Pipeable strips methods so that only
|
|
178
|
-
* phantom fields drive inference
|
|
179
|
-
* resolution, with invariance enforced when TS checks candidates from
|
|
180
|
-
* both sides of a connection.
|
|
246
|
+
* phantom fields drive inference.
|
|
181
247
|
*
|
|
182
248
|
* TypedAction (with methods) is assignable to Pipeable because Pipeable
|
|
183
249
|
* only requires a subset of properties.
|
|
@@ -186,24 +252,26 @@ export type Pipeable<In = unknown, Out = unknown> = Action & {
|
|
|
186
252
|
__in?: (input: In) => void;
|
|
187
253
|
__in_co?: In;
|
|
188
254
|
__out?: () => Out;
|
|
189
|
-
__out_contra?: (output: Out) => void;
|
|
190
255
|
};
|
|
191
256
|
/**
|
|
192
|
-
*
|
|
257
|
+
* Strip phantom types from a Pipeable, returning a plain Action.
|
|
258
|
+
*
|
|
259
|
+
* Replaces `x as Action` casts throughout the codebase. The constraint
|
|
260
|
+
* ensures the argument is structurally a Pipeable — unlike a bare cast,
|
|
261
|
+
* `toAction(123)` is a type error.
|
|
262
|
+
*/
|
|
263
|
+
export declare function toAction<TIn, TOut>(pipeable: Pipeable<TIn, TOut>): Action;
|
|
264
|
+
/**
|
|
265
|
+
* Contravariant input + covariant output for branch case handler positions.
|
|
193
266
|
*
|
|
194
|
-
* Omits __in_co (covariant input)
|
|
195
|
-
* compared to TypedAction/Pipeable. This gives:
|
|
267
|
+
* Omits __in_co (covariant input) compared to Pipeable. This gives:
|
|
196
268
|
* In: contravariant only (via __in)
|
|
197
269
|
* Out: covariant only (via __out)
|
|
198
270
|
*
|
|
199
271
|
* Why contravariant input: a handler that accepts `unknown` (like drop)
|
|
200
272
|
* can handle any variant. (input: unknown) => void is assignable to
|
|
201
273
|
* (input: HasErrors) => void because HasErrors extends unknown.
|
|
202
|
-
*
|
|
203
|
-
* Why covariant output: the constraint doesn't restrict output types —
|
|
204
|
-
* they're inferred from the actual case handlers via ExtractOutput.
|
|
205
|
-
* TypedAction's invariant __out_contra with Out=unknown would
|
|
206
|
-
* reject any handler with a specific output type, so we omit it.
|
|
274
|
+
* Pipeable's invariant input (__in_co) would reject this.
|
|
207
275
|
*
|
|
208
276
|
* TypedAction is assignable to CaseHandler because CaseHandler only
|
|
209
277
|
* requires a subset of TypedAction's phantom fields.
|
|
@@ -225,9 +293,9 @@ type CaseHandler<TIn = unknown, TOut = unknown> = Action & {
|
|
|
225
293
|
* serializes as `null`. Use `z.null()` in Zod schemas for void variants.
|
|
226
294
|
*/
|
|
227
295
|
type VoidToNull<T> = 0 extends 1 & T ? T : [T] extends [never] ? never : [T] extends [void] ? null : T;
|
|
228
|
-
export type TaggedUnion<TDef extends Record<string, unknown>> = {
|
|
296
|
+
export type TaggedUnion<TEnumName extends string, TDef extends Record<string, unknown>> = {
|
|
229
297
|
[K in keyof TDef & string]: {
|
|
230
|
-
kind: K
|
|
298
|
+
kind: `${TEnumName}.${K}`;
|
|
231
299
|
value: VoidToNull<TDef[K]>;
|
|
232
300
|
__def?: TDef;
|
|
233
301
|
};
|
|
@@ -240,32 +308,41 @@ export type OptionDef<T> = {
|
|
|
240
308
|
Some: T;
|
|
241
309
|
None: void;
|
|
242
310
|
};
|
|
243
|
-
export type Option<T> = TaggedUnion<OptionDef<T>>;
|
|
311
|
+
export type Option<T> = TaggedUnion<"Option", OptionDef<T>>;
|
|
244
312
|
export type ResultDef<TValue, TError> = {
|
|
245
313
|
Ok: TValue;
|
|
246
314
|
Err: TError;
|
|
247
315
|
};
|
|
248
|
-
export type Result<TValue, TError> = TaggedUnion<ResultDef<TValue, TError>>;
|
|
316
|
+
export type Result<TValue, TError> = TaggedUnion<"Result", ResultDef<TValue, TError>>;
|
|
317
|
+
export type IteratorDef<TElement> = {
|
|
318
|
+
Iterator: TElement[];
|
|
319
|
+
};
|
|
320
|
+
export type Iterator<TElement> = TaggedUnion<"Iterator", IteratorDef<TElement>>;
|
|
249
321
|
/** Extract all `kind` string literals from a discriminated union. */
|
|
250
322
|
type KindOf<T> = T extends {
|
|
251
323
|
kind: infer K extends string;
|
|
252
324
|
} ? K : never;
|
|
325
|
+
/** Strip a `"Prefix."` namespace from a dotted kind string. `"Nat.Zero"` → `"Zero"`. */
|
|
326
|
+
type StripKindPrefix<K extends string> = K extends `${string}.${infer Bare}` ? Bare : K;
|
|
253
327
|
/** Extract the `value` field from a `{ kind, value }` variant. Falls back to T if no `value` field. */
|
|
254
328
|
type UnwrapVariant<T> = T extends {
|
|
255
329
|
value: infer V;
|
|
256
330
|
} ? V : T;
|
|
257
331
|
/**
|
|
258
332
|
* Branch case keys: prefer ExtractDef (simple keyof indexing) when the
|
|
259
|
-
* output carries __def. Falls back to KindOf
|
|
260
|
-
* outputs without __def.
|
|
333
|
+
* output carries __def. Falls back to KindOf with prefix stripping for
|
|
334
|
+
* outputs without __def (namespaced kinds like "Nat.Zero" → "Zero").
|
|
261
335
|
*/
|
|
262
|
-
type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? KindOf<Out
|
|
336
|
+
type BranchKeys<Out> = [ExtractDef<Out>] extends [never] ? StripKindPrefix<KindOf<Out>> : keyof ExtractDef<Out> & string;
|
|
263
337
|
/**
|
|
264
338
|
* Branch case payload: prefer ExtractDef[K] (simple indexing) when available.
|
|
265
|
-
* Falls back to UnwrapVariant<Extract<Out, { kind:
|
|
339
|
+
* Falls back to UnwrapVariant<Extract<Out, { kind: ... }>> for outputs without __def.
|
|
340
|
+
* In the fallback, matches namespaced kinds (`"Prefix.K"`) against the bare key K.
|
|
266
341
|
*/
|
|
267
342
|
type BranchPayload<Out, K extends string> = [ExtractDef<Out>] extends [never] ? UnwrapVariant<Extract<Out, {
|
|
268
343
|
kind: K;
|
|
344
|
+
} | {
|
|
345
|
+
kind: `${string}.${K}`;
|
|
269
346
|
}>> : K extends keyof ExtractDef<Out> ? VoidToNull<ExtractDef<Out>[K]> : never;
|
|
270
347
|
/**
|
|
271
348
|
* Attach `.then()` and `.forEach()` methods to a plain Action object.
|
|
@@ -319,11 +396,20 @@ export type BranchInput<TCases> = {
|
|
|
319
396
|
};
|
|
320
397
|
}[keyof TCases & string];
|
|
321
398
|
export declare function branch<TCases extends Record<string, Action>>(cases: TCases): TypedAction<BranchInput<TCases>, ExtractOutput<TCases[keyof TCases & string]>>;
|
|
399
|
+
/**
|
|
400
|
+
* Two-level dispatch: extract the enum prefix from a tagged value's `kind`,
|
|
401
|
+
* then branch on that prefix. Used by postfix methods (`.map()`, `.unwrapOr()`,
|
|
402
|
+
* etc.) to dispatch across union families (Option, Result) without runtime
|
|
403
|
+
* metadata.
|
|
404
|
+
*
|
|
405
|
+
* `branchFamily({ Result: ..., Option: ... })` ≡ `chain(extractPrefix(), branch(cases))`
|
|
406
|
+
*/
|
|
407
|
+
export declare function branchFamily(cases: Record<string, Action>): TypedAction;
|
|
322
408
|
type LoopResultDef<TContinue, TBreak> = {
|
|
323
409
|
Continue: TContinue;
|
|
324
410
|
Break: TBreak;
|
|
325
411
|
};
|
|
326
|
-
export type LoopResult<TContinue, TBreak> = TaggedUnion<LoopResultDef<TContinue, TBreak>>;
|
|
412
|
+
export type LoopResult<TContinue, TBreak> = TaggedUnion<"LoopResult", LoopResultDef<TContinue, TBreak>>;
|
|
327
413
|
/**
|
|
328
414
|
* Restartable scope. The body callback receives `restart`, a TypedAction that
|
|
329
415
|
* re-executes the body from the beginning with a new input value.
|
|
@@ -333,7 +419,7 @@ export type LoopResult<TContinue, TBreak> = TaggedUnion<LoopResultDef<TContinue,
|
|
|
333
419
|
*
|
|
334
420
|
* Compiled form: `RestartHandle(id, GetIndex(0), body)`
|
|
335
421
|
*/
|
|
336
|
-
export declare function recur<TIn =
|
|
422
|
+
export declare function recur<TIn = void, TOut = any>(bodyFn: (restart: TypedAction<TIn, never>) => Pipeable<TIn, TOut>): TypedAction<PipeIn<TIn>, TOut>;
|
|
337
423
|
/**
|
|
338
424
|
* Early return scope. The body callback receives `earlyReturn`, a TypedAction
|
|
339
425
|
* that exits the scope immediately with the returned value.
|
|
@@ -346,7 +432,7 @@ export declare function recur<TIn = never, TOut = any>(bodyFn: (restart: TypedAc
|
|
|
346
432
|
* a Branch. earlyReturn tags with Break and performs — the handler restarts
|
|
347
433
|
* the body, Branch takes the Break path, and the value exits.
|
|
348
434
|
*/
|
|
349
|
-
export declare function earlyReturn<TEarlyReturn =
|
|
435
|
+
export declare function earlyReturn<TEarlyReturn = void, TIn = any, TOut = any>(bodyFn: (earlyReturn: TypedAction<TEarlyReturn, never>) => Pipeable<TIn, TOut>): TypedAction<TIn, TEarlyReturn | TOut>;
|
|
350
436
|
/**
|
|
351
437
|
* Build the restart+branch compiled form:
|
|
352
438
|
* `Chain(Tag("Continue"), RestartHandle(id, GetIndex(0), Branch({ Continue: continueArm, Break: breakArm })))`
|
|
@@ -366,6 +452,7 @@ export declare function buildRestartBranchAction(restartHandlerId: RestartHandle
|
|
|
366
452
|
*
|
|
367
453
|
* Compiles to `RestartHandle`/`RestartPerform`/Branch — same effect substrate as tryCatch and earlyReturn.
|
|
368
454
|
*/
|
|
369
|
-
export declare function loop<TBreak =
|
|
455
|
+
export declare function loop<TBreak = void, TRecur = void>(bodyFn: (recur: TypedAction<TRecur, never>, done: TypedAction<VoidToNull<TBreak>, never>) => Pipeable<TRecur, never>): TypedAction<PipeIn<TRecur>, VoidToNull<TBreak>>;
|
|
370
456
|
/** Simple config factory. */
|
|
371
457
|
export declare function config(workflow: Action): Config;
|
|
458
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyB/C,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAMnB,MAAM,MAAM,MAAM,GACd,YAAY,GACZ,WAAW,GACX,aAAa,GACb,SAAS,GACT,YAAY,GACZ,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,iBAAiB,EAAE,eAAe,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,iBAAiB,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,kBAAkB,EAAE,gBAAgB,CAAC;CACtC;AAMD,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAGvB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACvC,GAAG,GACH,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAChB,GAAG,GACH,CAAC,CAAC;AAMR,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD,KAAK,mBAAmB,CAAC,MAAM,IAAI,CACjC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,KAAK,CACjD,SAAS,CAAC,CAAC,EAAE,MAAM,aAAa,KAAK,IAAI,GACtC,aAAa,GACb,KAAK,CAAC;AAEV,gEAAgE;AAChE,MAAM,MAAM,UAAU,CAAC,MAAM,IAAI,MAAM,SAAS,OAAO,EAAE,GACrD,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GACnC,KAAK,CAAC;AAMV;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,GAAG;IAC9D,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAChE,wFAAwF;IACxF,MAAM,CACJ,MAAM,SAAS;SACZ,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;KACpE,EAED,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,GACxD,WAAW,CAAC,EAAE,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjE,sEAAsE;IACtE,OAAO,CAAC,GAAG,EAAE,QAAQ,EACnB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GACnC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChC,oDAAoD;IACpD,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9B,gGAAgG;IAChG,GAAG,CACD,SAAS,SAAS,MAAM,EACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,SAAS,MAAM,IAAI,GAAG,MAAM,EAEjC,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,SAAS,GAClB,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,oDAAoD;IACpD,IAAI,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,yDAAyD;IACzD,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,0DAA0D;IAC1D,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3C,kGAAkG;IAClG,QAAQ,CAAC,MAAM,SAAS,MAAM,GAAG,GAAG,MAAM,EACxC,KAAK,EAAE,MAAM,GACZ,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,SAAS,OAAO,EAAE,EAAE,MAAM,SAAS,MAAM,EAC3D,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAC9B,KAAK,EAAE,MAAM,GACZ,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,2GAA2G;IAC3G,WAAW,CAAC,MAAM,SAAS,MAAM,EAC/B,KAAK,EAAE,MAAM,GACZ,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,qFAAqF;IACrF,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EACvC,GAAG,IAAI,EAAE,KAAK,GACb,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7C,qEAAqE;IACrE,UAAU,CAAC,GAAG,EAAE,QAAQ,EACtB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,GACjC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE,QAAQ,EACrB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,GACjC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EACX,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACjC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAC3B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,GAC7B,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EACnC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,GAClC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EACxB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAClB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EACtC,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GACpC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAC1B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,aAAa,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE5B,0FAA0F;IAC1F,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EACvB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EACtC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GACrC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAC/B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1C,sEAAsE;IACtE,MAAM,CAAC,GAAG,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EACtC,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAC1C,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpC,uDAAuD;IACvD,MAAM,CAAC,GAAG,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7B,uDAAuD;IACvD,MAAM,CAAC,GAAG,EAAE,MAAM,EAChB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7B,+EAA+E;IAC/E,OAAO,CAAC,GAAG,EAAE,MAAM,EACjB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GACvC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAE9B,mDAAmD;IACnD,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAC/B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GACpD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/C,iEAAiE;IACjE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAC5B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpC,iEAAiE;IACjE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAC7B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpC,gEAAgE;IAChE,QAAQ,CAAC,GAAG,EACV,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,GAC9B,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAElC,uDAAuD;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EACtB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7B,wDAAwD;IACxD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EACvB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC7C,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE7B,gHAAgH;IAChH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAC3B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GACrD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAC3B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAIpD,4DAA4D;IAC5D,OAAO,CAAC,GAAG,EAAE,QAAQ,EACnB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,GACvC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,8DAA8D;IAC9D,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAC3B,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAC/C,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxC,qDAAqD;IACrD,OAAO,CAAC,GAAG,EAAE,QAAQ,EACnB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,GACjC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,sEAAsE;IACtE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EACrB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,GAC/B,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpC,+EAA+E;IAC/E,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EACzB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,GACzC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,6EAA6E;IAC7E,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EACzB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GACvC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,6EAA6E;IAC7E,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EACjC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAC/C,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,4EAA4E;IAC5E,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EACzB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,GACjC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpC,8EAA8E;IAC9E,MAAM,CAAC,GAAG,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAC1C,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GACrC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,oDAAoD;IACpD,OAAO,CAAC,GAAG,EAAE,QAAQ,EACnB,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,GACzC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhC,uEAAuE;IACvE,IAAI,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,IAAI,EACnC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC,EACxB,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GACvE,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzB,8CAA8C;IAC9C,SAAS,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAC5D,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,MAAM,GAAG;IAC3D,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAEzE;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,WAAW,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,IAAI,MAAM,GAAG;IACzD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAMF;;;;;;;;;;;GAWG;AAEH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAChC,CAAC,GACD,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACjB,KAAK,GACL,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAChB,IAAI,GACJ,CAAC,CAAC;AAEV,MAAM,MAAM,WAAW,CACrB,SAAS,SAAS,MAAM,EACxB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAClC;KACD,CAAC,IAAI,MAAM,IAAI,GAAG,MAAM,GAAG;QAC1B,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,EAAE,CAAC;QAC1B,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,KAAK,CAAC,EAAE,IAAI,CAAC;KACd;CACF,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvB,8EAA8E;AAC9E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAMtE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AACnD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAM5D,MAAM,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,WAAW,CAC9C,QAAQ,EACR,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAC1B,CAAC;AAMF,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,QAAQ,CAAC,QAAQ,IAAI,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEhF,qEAAqE;AACrE,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE,wFAAwF;AACxF,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,IAAI,EAAE,GACxE,IAAI,GACJ,CAAC,CAAC;AAEN,uGAAuG;AACvG,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D;;;;GAIG;AACH,KAAK,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpD,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAC5B,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AAEnC;;;;GAIG;AACH,KAAK,aAAa,CAAC,GAAG,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACzE,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAA;CAAE,CAAC,CAAC,GACrE,CAAC,SAAS,MAAM,UAAU,CAAC,GAAG,CAAC,GAC7B,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9B,KAAK,CAAC;AAqUZ;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,EACrD,MAAM,EAAE,MAAM,GACb,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CA2CtB;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IACtC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAClC,GACG,EAAE,GACF,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,CAAA;CAAE,GAChE,GAAG,GACH,KAAK,CAAC;AAMV,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAErD,wBAAgB,OAAO,CAAC,EAAE,EAAE,GAAG,EAC7B,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GACxB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAE1B;AAoBD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI;KAC/B,CAAC,IAAI,MAAM,MAAM,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE;CAC1E,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;AAGzB,wBAAgB,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1D,KAAK,EAAE,MAAM,GACZ,WAAW,CACZ,WAAW,CAAC,MAAM,CAAC,EACnB,aAAa,CAAC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAC7C,CAEA;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAMvE;AAED,KAAK,aAAa,CAAC,SAAS,EAAE,MAAM,IAAI;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,SAAS,EAAE,MAAM,IAAI,WAAW,CACrD,YAAY,EACZ,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CACjC,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,EAC1C,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GAChE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAgBhC;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,YAAY,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EACpE,MAAM,EAAE,CACN,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,KAC1C,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,GACvB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,CAiBvC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAC/C,MAAM,EAAE,CACN,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EACjC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,KACzC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,GAC3B,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAqBjD;AAMD,6BAA6B;AAC7B,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|