@wavehouse/chtypes 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE +202 -0
  3. package/README.md +442 -0
  4. package/dist/cli.d.ts +43 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +303 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/discover.d.ts +134 -0
  9. package/dist/discover.d.ts.map +1 -0
  10. package/dist/discover.js +291 -0
  11. package/dist/discover.js.map +1 -0
  12. package/dist/errors.d.ts +204 -0
  13. package/dist/errors.d.ts.map +1 -0
  14. package/dist/errors.js +228 -0
  15. package/dist/errors.js.map +1 -0
  16. package/dist/fetch.d.ts +235 -0
  17. package/dist/fetch.d.ts.map +1 -0
  18. package/dist/fetch.js +842 -0
  19. package/dist/fetch.js.map +1 -0
  20. package/dist/ffi.d.ts +346 -0
  21. package/dist/ffi.d.ts.map +1 -0
  22. package/dist/ffi.js +913 -0
  23. package/dist/ffi.js.map +1 -0
  24. package/dist/format.d.ts +104 -0
  25. package/dist/format.d.ts.map +1 -0
  26. package/dist/format.js +108 -0
  27. package/dist/format.js.map +1 -0
  28. package/dist/index.d.ts +28 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +28 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/json.d.ts +127 -0
  33. package/dist/json.d.ts.map +1 -0
  34. package/dist/json.js +577 -0
  35. package/dist/json.js.map +1 -0
  36. package/dist/library.d.ts +225 -0
  37. package/dist/library.d.ts.map +1 -0
  38. package/dist/library.js +234 -0
  39. package/dist/library.js.map +1 -0
  40. package/dist/numeric.d.ts +20 -0
  41. package/dist/numeric.d.ts.map +1 -0
  42. package/dist/numeric.js +107 -0
  43. package/dist/numeric.js.map +1 -0
  44. package/dist/paths.d.ts +47 -0
  45. package/dist/paths.d.ts.map +1 -0
  46. package/dist/paths.js +78 -0
  47. package/dist/paths.js.map +1 -0
  48. package/dist/registry.d.ts +204 -0
  49. package/dist/registry.d.ts.map +1 -0
  50. package/dist/registry.js +409 -0
  51. package/dist/registry.js.map +1 -0
  52. package/dist/results.d.ts +326 -0
  53. package/dist/results.d.ts.map +1 -0
  54. package/dist/results.js +235 -0
  55. package/dist/results.js.map +1 -0
  56. package/dist/schema.d.ts +444 -0
  57. package/dist/schema.d.ts.map +1 -0
  58. package/dist/schema.js +448 -0
  59. package/dist/schema.js.map +1 -0
  60. package/dist/settings.d.ts +43 -0
  61. package/dist/settings.d.ts.map +1 -0
  62. package/dist/settings.js +33 -0
  63. package/dist/settings.js.map +1 -0
  64. package/dist/tar.d.ts +32 -0
  65. package/dist/tar.d.ts.map +1 -0
  66. package/dist/tar.js +310 -0
  67. package/dist/tar.js.map +1 -0
  68. package/dist/transform.d.ts +73 -0
  69. package/dist/transform.d.ts.map +1 -0
  70. package/dist/transform.js +527 -0
  71. package/dist/transform.js.map +1 -0
  72. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
package/dist/ffi.d.ts ADDED
@@ -0,0 +1,346 @@
1
+ /**
2
+ * The native layer: one `dlopen`'d chtypes artifact behind the frozen `chs_*` C
3
+ * ABI (spec/c-abi.md). Everything about ownership and lifetime lives here so no
4
+ * caller ever has to remember it.
5
+ *
6
+ * ------------------------------------------------------------------ memory
7
+ * Every `char *` a `chs_*` function returns is malloc'd by the library and MUST
8
+ * be released with **that same library's** `chs_free` — in a multi-version
9
+ * process the frees must never cross. There is exactly one place in this package
10
+ * that turns a returned pointer into a JS string, `NativeLibrary#takeString`,
11
+ * and it frees in a `finally`. Nothing else may touch an owned pointer.
12
+ *
13
+ * Borrowed `const char *` returns (`chs_clickhouse_version`, the column getters)
14
+ * are declared as `DataType.String`, which copies without freeing — correct,
15
+ * because freeing them would be a bug.
16
+ *
17
+ * -------------------------------------------------------------------- FFI
18
+ * This binds through **ffi-rs** (libffi, prebuilt N-API per platform) rather
19
+ * than koffi, and the reason is measured rather than aesthetic:
20
+ *
21
+ * koffi runs every native call on its own preallocated stack — its arm64
22
+ * trampoline does `add sp, x1, #136` before `blr` (see
23
+ * koffi/src/koffi/src/abi_arm64_asm.S). ClickHouse's `checkStackSize()` reads
24
+ * the *pthread* stack bounds and compares them against the current frame, so
25
+ * with koffi every code path that calls it throws TOO_DEEP_RECURSION (306):
26
+ * "Stack size too large. Stack address: 0x16a6dc000, frame address:
27
+ * 0x1065fce10, stack size: 1687024112, maximum stack size: 8388608".
28
+ * Measured on darwin-arm64/25.8: `chs_schema_compile("b Nullable(String)
29
+ * DEFAULT 'x'")` fails under koffi (sync and async, at every
30
+ * `sync_stack_size`) and succeeds under ffi-rs, which calls on the caller's
31
+ * own stack. Every DEFAULT, TTL and expression path is affected, i.e. the
32
+ * product's headline behaviour, so the FFI had to change.
33
+ *
34
+ * ffi-rs ships prebuilt binaries for darwin-arm64/x64 and linux arm64/x64
35
+ * (gnu and musl) — the shipping platform included — and needs no build step.
36
+ */
37
+ import { type JsExternal } from 'ffi-rs';
38
+ /** A compiled-schema handle. Opaque; only `NativeLibrary` may pass it around. */
39
+ export type SchemaHandle = JsExternal;
40
+ /** A compiled-filter handle. Opaque; only `NativeLibrary` may pass it around. */
41
+ export type FilterHandle = JsExternal;
42
+ /** A parsed-block handle (revision 4). Opaque, same rule. */
43
+ export type BlockHandle = JsExternal;
44
+ /**
45
+ * Leak-audit counters over every owned `char *` this process has taken from
46
+ * any loaded artifact. `stringsTaken === stringsFreed` when no chtypes call is
47
+ * on the stack; a test asserts exactly that (Level 1 conformance: zero growth
48
+ * over a few thousand calls). Diagnostic only — a snapshot, never live state.
49
+ *
50
+ * @returns a copy of the counters at the moment of the call. Never throws.
51
+ */
52
+ export declare function nativeStats(): {
53
+ stringsTaken: number;
54
+ stringsFreed: number;
55
+ };
56
+ /** One loaded artifact. Loading the same path twice returns the same object. */
57
+ export declare class NativeLibrary {
58
+ private readonly fns;
59
+ private readonly haveStrlen;
60
+ private initTimezone;
61
+ /** Cached answer of `hasCompileSettings` — one probe per loaded library. */
62
+ private compileSettingsProbe;
63
+ /**
64
+ * How many calls into the library are on the stack right now — the reentrancy
65
+ * tripwire for the ABI's one genuinely dangerous entry point.
66
+ *
67
+ * `chs_set_default_settings` REPLACES a process-global that `chs_row` /
68
+ * `chs_rows` / `chs_schema_compile` read **by reference**, so
69
+ * `spec/c-abi.md` §Thread-safety requires it be serialized against every
70
+ * other call. Go enforces that with an `RWMutex` and Python with an
71
+ * `_RWLock`, because both have real threads inside a foreign call.
72
+ *
73
+ * **Node's exposure is nil, and this counter is the proof rather than the
74
+ * assumption.** Every `chs_*` call in this file is synchronous — ffi-rs is
75
+ * called without `runInNewThread`, nothing here awaits, and the library
76
+ * never calls back into JS — so one JS thread cannot be inside `chs_rows`
77
+ * when it enters `setDefaultSettings`. The only way it could is a genuine
78
+ * re-entry, and that is exactly what this counts. A tripwire that never
79
+ * fires is the point: if a later change makes a call async, or hands the
80
+ * library a JS callback, the seed stops being safe and this says so loudly
81
+ * instead of corrupting a row.
82
+ *
83
+ * Not a lock. It cannot make a `worker_threads` setup safe — separate JS
84
+ * threads share one dlopen'd image and one set of C globals, and only one of
85
+ * them would see this counter. `spec/bindings.md` §Concurrency says so.
86
+ */
87
+ private inCall;
88
+ readonly path: string;
89
+ readonly version: string;
90
+ /**
91
+ * The chs_* ABI revision this ARTIFACT was built from, or 0 when it predates
92
+ * `chs_abi_revision`. A library that exists reports either `ABI_REVISION` or
93
+ * 0 — a different nonzero revision is refused in the constructor.
94
+ */
95
+ readonly abiRevision: number;
96
+ /** The realpath `open()` registered the image under — the `library` name for
97
+ * raw `load` calls that step outside the declared symbol table (the
98
+ * free-by-address in `rows`'s export path). */
99
+ private readonly key;
100
+ private constructor();
101
+ private probeStrlen;
102
+ static open(path: string): NativeLibrary;
103
+ static isLoaded(path: string): boolean;
104
+ /**
105
+ * Copy an owned `char *` into **bytes** and release it with **this** library's
106
+ * `chs_free`. The only place that ever owns a returned pointer, and the only
107
+ * place that decides what a returned pointer becomes.
108
+ *
109
+ * It must be bytes, not a string. A result document carries ClickHouse's own
110
+ * rendering of stored values, and a `String` / `FixedString` /
111
+ * `AggregateFunction` column holds arbitrary bytes: a UTF-8 decode here would
112
+ * replace every invalid byte with U+FFFD before any caller could see the
113
+ * value, and the binding would then report bytes the table does not hold
114
+ * (spec/c-abi.md §Per-column fields; the reference implementation crosses this
115
+ * boundary with `C.GoString`, which is a byte copy, and keeps
116
+ * `json.RawMessage` from there on). The copy is bounded by the `strlen` this
117
+ * class already probes — bytes, not a latin1 round trip, because a `Buffer`
118
+ * needs no round trip at all.
119
+ */
120
+ private takeBytes;
121
+ /**
122
+ * `takeBytes` decoded as UTF-8, for the paths whose payload is a message, a
123
+ * canonical type or a family list rather than a stored value.
124
+ *
125
+ * The reference implementation reaches the same place by a different route: it
126
+ * keeps ClickHouse's bytes in a Go string and lets `encoding/json` substitute
127
+ * U+FFFD when the message is marshalled out. Decoding one step earlier here
128
+ * gives the same text at the surface, and no result-document value passes
129
+ * through this method.
130
+ */
131
+ private takeString;
132
+ /**
133
+ * Run one library call with the reentrancy counter raised. See `inCall`.
134
+ * Counting rather than flagging so nested calls unwind correctly if a future
135
+ * change ever introduces one.
136
+ */
137
+ private entered;
138
+ /**
139
+ * The guard the two process-state mutators take. Throws rather than waiting:
140
+ * there is nothing to wait FOR on a single JS thread — a call on the stack
141
+ * below this one can only be a re-entry, and re-entering the library to
142
+ * replace the settings list a caller further down is still reading is the
143
+ * use-after-free the ABI's serialization rule exists to prevent.
144
+ */
145
+ private refuseIfInCall;
146
+ /**
147
+ * `chs_init(timezone, unsafe_families, out_err)`, **exactly once** per loaded
148
+ * library — dlopen is refcounted, so two registries over one directory share
149
+ * this object and the second `init` must be a no-op rather than a second
150
+ * process setup.
151
+ *
152
+ * The timezone defaults to UTC and is never read from the environment: without
153
+ * it the host's TZ leaks into results. `unsafeFamilies` is the artifact's own
154
+ * generated refuse-list, and empty is a valid list rather than a missing file.
155
+ * `out_err` is ClickHouse's own message on the one reachable failure — an
156
+ * unknown timezone — and is folded into the thrown error's message; a bare
157
+ * code cannot say which name was rejected.
158
+ */
159
+ init(timezone: string, unsafeFamilies: string): void;
160
+ /**
161
+ * `chs_set_default_settings(settings_json, out_err)`. On refusal, `out_err`
162
+ * carries the server's own message — including its did-you-mean hint on an
163
+ * unknown-name 115, the whole diagnostic value of that code — folded into
164
+ * the thrown error's message.
165
+ */
166
+ setDefaultSettings(settingsJson: string): void;
167
+ /**
168
+ * Joins the DEFAULT evaluator's background threads. `chs_init` registers it
169
+ * with `atexit`, so an ordinary process needs no call; a test that must not
170
+ * depend on `atexit` does. Idempotent.
171
+ */
172
+ shutdown(): void;
173
+ validateType(expr: string): {
174
+ canonical: string;
175
+ code: number;
176
+ message: string;
177
+ ok: boolean;
178
+ };
179
+ referenceType(expr: string): string;
180
+ registeredFamilies(): string[];
181
+ /** The function-volatility TSV audit, verbatim. Requires `chs_init`. */
182
+ functionFlags(): string;
183
+ /**
184
+ * Compile a column-declaration list, optionally under a DECLARED settings
185
+ * profile fixed into the handle exactly as a real CREATE TABLE fixes its
186
+ * settings into the table (spec/c-abi.md §Compile-time vs per-call
187
+ * settings). `settingsJson` "{}" plus `mode` 0 (`CHS_COMPILE_DECLARED`) is
188
+ * structurally the plain compile — the settings-free path this build has
189
+ * always taken. Throws `SchemaError` when the SERVER refuses — an unknown
190
+ * setting name carries its own code 115 — and `UnsupportedError` when this
191
+ * build declines, e.g. a mode other than 0.
192
+ */
193
+ schemaCompile(ddl: string, settingsJson: string, mode: number): SchemaHandle;
194
+ /**
195
+ * Does this artifact export the consolidated, settings-aware
196
+ * `chs_schema_compile`? True on every artifact this repo builds — the
197
+ * symbol is one of the mandatory four (spec/artifact.md §Loading, step 4).
198
+ * The probe stays for a Registry that may someday load a third-party-built
199
+ * artifact that lacks it.
200
+ *
201
+ * The reference loader answers this with a load-time `dlsym`
202
+ * (`go/chtypes/multiversion.go`, `HasCompileSettings`); ffi-rs
203
+ * resolves symbols at call time, so this asks with a call the ABI defines as
204
+ * refused loudly and cheaply: `mode 1` with a non-empty profile answers `-2`
205
+ * and creates no handle on every artifact that exports the symbol
206
+ * (spec/c-abi.md §Compile-time vs per-call settings, rule 2), while an
207
+ * artifact without the symbol throws ffi-rs's missing-symbol error. Cached:
208
+ * one refused compile per loaded library.
209
+ *
210
+ * False means `compileDdl` with a non-empty `settings` and `setEngine` with
211
+ * non-empty `mergeTreeSettings` throw an `UnsupportedError` —
212
+ * never a crash and never a silent settings-free compile of a
213
+ * differently-shaped table.
214
+ */
215
+ hasCompileSettings(): boolean;
216
+ schemaFree(handle: SchemaHandle): void;
217
+ /**
218
+ * Declare the table engine, optionally with its MergeTree-namespace
219
+ * settings (the `SETTINGS` clause after the engine — `allow_nullable_key`
220
+ * and friends, a namespace `DB::Settings` cannot carry). `mergeTreeSettingsJson`
221
+ * "{}" is structurally the plain engine declaration this build has always
222
+ * made.
223
+ *
224
+ * Error mapping per spec/c-abi.md: the SIGN of rc decides the KIND of
225
+ * answer. A positive rc is a real ClickHouse code — the server's own
226
+ * refusal of this DDL, which can therefore never exist — and crosses
227
+ * verbatim as a `SchemaError` with that code and the server's message
228
+ * (`115`, with its "Maybe you meant ..." hint, is today's only instance).
229
+ * A negative rc is this library declining and is an `UnsupportedError`: a
230
+ * decline must never be presented as a rejection the product invented, and
231
+ * a rejection must never be hidden behind a decline. A missing symbol
232
+ * degrades to `UnsupportedError`, never a crash.
233
+ */
234
+ schemaEngine(handle: SchemaHandle, engine: string, orderBy: string, mergeTreeSettingsJson: string): void;
235
+ schemaTtl(handle: SchemaHandle, ttl: string): void;
236
+ /**
237
+ * Column introspection is all-or-nothing: the six getters shipped together, so
238
+ * a missing one means the whole group is absent and the column list stays empty
239
+ * rather than partially populated.
240
+ */
241
+ columns(handle: SchemaHandle): {
242
+ name: string;
243
+ type: string;
244
+ defaultKind: string;
245
+ defaultExpr: string;
246
+ defaultIsLiteral: boolean;
247
+ }[];
248
+ /**
249
+ * `chs_row`: one row body. Returns the raw result document **as bytes** — a
250
+ * stored value can be any byte sequence, so the document can be too.
251
+ */
252
+ row(handle: SchemaHandle, format: number, raw: Uint8Array, settingsJson: string): Buffer;
253
+ /**
254
+ * `chs_rows`: a whole request body — ONE call, whatever the caller asked
255
+ * for (spec/c-abi.md §Rows; revision 3). `exportFormat` is `EXPORT_NONE`
256
+ * (-1, the default — no bytes) or an `enum chs_format` value the artifact
257
+ * can serialize; `docFlags` selects the document groups (`DOC_ALL`
258
+ * reproduces the revision-2 document byte-for-byte). Returns the raw result
259
+ * document as bytes, plus the export channel:
260
+ *
261
+ * `payload === null` the library emitted nothing — no export requested,
262
+ * the export DECLINED (the document's
263
+ * `export_declined` says why), or a call-level
264
+ * verdict preempted it. The ABI's `{NULL, 0}`.
265
+ * zero-length Buffer EMITTED-EMPTY: an accepted batch with zero accepted
266
+ * rows — `data` non-NULL, `len` 0. An answer, not a
267
+ * decline.
268
+ * bytes the batch's accepted rows, serialized once by the
269
+ * vendored writer; slice per the document's
270
+ * `row_spans`.
271
+ *
272
+ * Ownership: the `chs_bytes` out-param is a 16-byte scratch struct
273
+ * (`{char *data; size_t len}`, both little-endian on every supported
274
+ * platform); the library's malloc'd `data` is COPIED here and immediately
275
+ * freed with THIS library's `chs_free` — no ownership ever escapes this
276
+ * method. The copy runs through libc `memcpy` because the address arrives
277
+ * as a struct field rather than a `JsExternal`, and the free goes through a
278
+ * raw `load` of `chs_free` with the address passed by value — the C ABI
279
+ * passes a `u64` and a pointer identically on darwin-arm64 and
280
+ * linux-arm64/x64.
281
+ *
282
+ * A NULL out-param is legal at the C level only when no export is
283
+ * requested; this binding always passes the scratch struct, which the
284
+ * library initializes to `{NULL, 0}` at entry — same document either way,
285
+ * and one less branch to get wrong.
286
+ *
287
+ * Degrades exactly as `row` does (the asymmetry was a 2026-08-26 fix): a
288
+ * missing symbol and a NULL return are both the ABI's "the loaded artifact
289
+ * does not export the function" (spec/c-abi.md §Rows) and surface as the
290
+ * DECLINE type, never a crash and never a generic error a caller cannot
291
+ * handle as the decline it is. `chs_rows` is one of the mandatory four, so
292
+ * with repo-built artifacts the branch is unreachable — the type still has
293
+ * to be the honest one.
294
+ */
295
+ rows(handle: SchemaHandle, format: number, body: Uint8Array, settingsJson: string, exportFormat?: number, docFlags?: number): {
296
+ doc: Buffer;
297
+ payload: Buffer | null;
298
+ };
299
+ /**
300
+ * `chs_filter_compile`: one boolean expression over a compiled schema's
301
+ * PHYSICAL columns, compiled by the same TreeRewriter + ExpressionAnalyzer
302
+ * pipeline the CONSTRAINT CHECK path runs (spec/c-abi.md §Filters).
303
+ *
304
+ * The error split is rule 12's: a NULL handle with a positive code is the
305
+ * server's own refusal (`SchemaError`, code and message verbatim — unknown
306
+ * identifier 47, unknown function, an analyzer-raised NO_COMMON_TYPE, and
307
+ * since revision 4 the server's own parameter refusals: 456 for an unbound
308
+ * `{name:Type}`, 457 for an unparseable value); a negative code is this
309
+ * library declining (`UnsupportedError` — clock reads, server-constants).
310
+ * A missing symbol degrades to the decline type: the artifact predates the
311
+ * trio.
312
+ *
313
+ * `paramsJson` (revision 4) is the `{name:Type}` bindings, a JSON object
314
+ * of name -> value STRING; `"{}"` declares none.
315
+ */
316
+ filterCompile(schema: SchemaHandle, expr: string, paramsJson: string): FilterHandle;
317
+ /** `chs_filter_free`. Never throws: nothing sane to do while releasing. */
318
+ filterFree(handle: FilterHandle): void;
319
+ /**
320
+ * `chs_filter_rows`: evaluate the filter over a body of rows. Returns the
321
+ * raw filter document as bytes; a missing symbol or NULL return degrades to
322
+ * the decline type like every optional entry point.
323
+ */
324
+ filterRows(handle: FilterHandle, format: number, body: Uint8Array, settingsJson: string): Buffer;
325
+ /**
326
+ * `chs_block_parse` (revision 4): parse a body ONCE into a block — the
327
+ * parse half of `chs_filter_rows`, exported so K filters can evaluate one
328
+ * event with no re-parse (spec/c-abi.md §Blocks). A call-level failure
329
+ * (unknown setting 115, framing, a binary decode fault) returns NULL with
330
+ * ClickHouse's own code/message — a malformed body yields no block and no
331
+ * partial answers; the sign of the code picks the error class, exactly as
332
+ * `filterCompile`. A missing symbol degrades to the decline type.
333
+ */
334
+ blockParse(schema: SchemaHandle, format: number, body: Uint8Array, settingsJson: string): BlockHandle;
335
+ /** `chs_block_free`. Never throws: nothing sane to do while releasing. */
336
+ blockFree(handle: BlockHandle): void;
337
+ /**
338
+ * `chs_filter_eval` (revision 4): evaluate one compiled filter over an
339
+ * already-parsed block — a pure function of (filter, block), no settings.
340
+ * Returns the same raw filter document `chs_filter_rows` returns; a
341
+ * cross-schema (filter, block) pair answers a rejected document (1002)
342
+ * from the C layer, loudly, never undefined behaviour.
343
+ */
344
+ filterEval(filter: FilterHandle, block: BlockHandle): Buffer;
345
+ }
346
+ //# sourceMappingURL=ffi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffi.d.ts","sourceRoot":"","sources":["../src/ffi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAYL,KAAK,UAAU,EAChB,MAAM,QAAQ,CAAC;AAOhB,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAKrC;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAE5E;AAqHD,gFAAgF;AAChF,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,YAAY,CAAuB;IAC3C,4EAA4E;IAC5E,OAAO,CAAC,oBAAoB,CAAwB;IACpD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,MAAM,CAAK;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;mDAE+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,eAmCN;IAED,OAAO,CAAC,WAAW;IAiBnB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAWvC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS;IA2BjB;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU;IAKlB;;;;OAIG;IACH,OAAO,CAAC,OAAO;IASf;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAyBnD;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAqB7C;IAED;;;;OAIG;IACH,QAAQ,IAAI,IAAI,CAOf;IAID,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAA;KAAE,CAqB5F;IAED,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlC;IAED,kBAAkB,IAAI,MAAM,EAAE,CAQ7B;IAED,wEAAwE;IACxE,aAAa,IAAI,MAAM,CAMtB;IAID;;;;;;;;;OASG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CA4B3E;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,IAAI,OAAO,CA0B5B;IAED,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAMrC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAyBvG;IAED,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAcjD;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,OAAO,CAAC;KAC3B,EAAE,CAkBF;IAID;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAcvF;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,IAAI,CACF,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAoB,EAClC,QAAQ,GAAE,MAAgB,GACzB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAgDzC;IAID;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAoBlF;IAED,2EAA2E;IAC3E,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAMrC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAa/F;IAID;;;;;;;;OAQG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CA6BpG;IAED,0EAA0E;IAC1E,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAMnC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAU3D;CACF"}