@bilig/workbook 0.71.0 → 0.75.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.
@@ -0,0 +1,257 @@
1
+ import { isWorkbookOp } from './guards.js';
2
+ import { normalizeWorkbookActionInput } from './input.js';
3
+ function errorMessage(error) {
4
+ return error instanceof Error ? error.message : String(error);
5
+ }
6
+ function isRecord(value) {
7
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
8
+ }
9
+ function isSafeNonNegativeInteger(value) {
10
+ return Number.isSafeInteger(value) && typeof value === 'number' && value >= 0;
11
+ }
12
+ function ownValue(value, key) {
13
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
14
+ if (descriptor === undefined) {
15
+ return undefined;
16
+ }
17
+ if (!('value' in descriptor)) {
18
+ throw new Error(`${key} must be a data property`);
19
+ }
20
+ return descriptor.value;
21
+ }
22
+ function arrayDataValues(value, guard) {
23
+ if (!Array.isArray(value)) {
24
+ return null;
25
+ }
26
+ const entries = [];
27
+ const descriptors = Object.getOwnPropertyDescriptors(value);
28
+ for (let index = 0; index < value.length; index += 1) {
29
+ const descriptor = descriptors[String(index)];
30
+ if (descriptor === undefined || !descriptor.enumerable || !('value' in descriptor) || !guard(descriptor.value)) {
31
+ return null;
32
+ }
33
+ entries.push(descriptor.value);
34
+ }
35
+ return entries;
36
+ }
37
+ function canonicalValue(value) {
38
+ if (Array.isArray(value)) {
39
+ const descriptors = Object.getOwnPropertyDescriptors(value);
40
+ return Array.from({ length: value.length }, (_, index) => {
41
+ const descriptor = descriptors[String(index)];
42
+ if (descriptor === undefined) {
43
+ return undefined;
44
+ }
45
+ if (!('value' in descriptor)) {
46
+ throw new Error('Accessor values cannot be canonicalized');
47
+ }
48
+ return canonicalValue(descriptor.value);
49
+ });
50
+ }
51
+ if (typeof value === 'object' && value !== null) {
52
+ return Object.fromEntries(Object.entries(Object.getOwnPropertyDescriptors(value))
53
+ .filter(([, descriptor]) => descriptor.enumerable)
54
+ .toSorted(([left], [right]) => left.localeCompare(right))
55
+ .map(([key, descriptor]) => {
56
+ if (!('value' in descriptor)) {
57
+ throw new Error('Accessor values cannot be canonicalized');
58
+ }
59
+ return [key, canonicalValue(descriptor.value)];
60
+ }));
61
+ }
62
+ return value;
63
+ }
64
+ function canonicalJson(value) {
65
+ return JSON.stringify(canonicalValue(value));
66
+ }
67
+ function fnv1a64(input, seed) {
68
+ let hash = seed;
69
+ for (let index = 0; index < input.length; index += 1) {
70
+ hash ^= BigInt(input.charCodeAt(index));
71
+ hash = BigInt.asUintN(64, hash * 0x100000001b3n);
72
+ }
73
+ return hash.toString(16).padStart(16, '0');
74
+ }
75
+ export function workbookActionCommandDigest(command) {
76
+ const json = canonicalJson(command);
77
+ return `bilig-command-v1:${fnv1a64(json, 0xcbf29ce484222325n)}${fnv1a64(json, 0x84222325cbf29cen)}`;
78
+ }
79
+ function cloneData(value, seen = new WeakMap()) {
80
+ if (typeof value !== 'object' || value === null) {
81
+ return value;
82
+ }
83
+ const existing = seen.get(value);
84
+ if (existing !== undefined) {
85
+ return existing;
86
+ }
87
+ if (Array.isArray(value)) {
88
+ const cloned = [];
89
+ seen.set(value, cloned);
90
+ const descriptors = Object.getOwnPropertyDescriptors(value);
91
+ for (let index = 0; index < value.length; index += 1) {
92
+ const descriptor = descriptors[String(index)];
93
+ if (descriptor === undefined) {
94
+ continue;
95
+ }
96
+ if (!('value' in descriptor)) {
97
+ throw new Error('Transport data must not contain accessors');
98
+ }
99
+ cloned[index] = cloneData(descriptor.value, seen);
100
+ }
101
+ return cloned;
102
+ }
103
+ const cloned = Object.create(Object.getPrototypeOf(value));
104
+ seen.set(value, cloned);
105
+ Object.entries(Object.getOwnPropertyDescriptors(value)).forEach(([key, descriptor]) => {
106
+ if (!descriptor.enumerable) {
107
+ return;
108
+ }
109
+ if (!('value' in descriptor)) {
110
+ throw new Error('Transport data must not contain accessors');
111
+ }
112
+ Object.defineProperty(cloned, key, {
113
+ configurable: true,
114
+ enumerable: true,
115
+ value: cloneData(descriptor.value, seen),
116
+ writable: true,
117
+ });
118
+ });
119
+ return cloned;
120
+ }
121
+ function cloneOp(op) {
122
+ const cloned = cloneData(op);
123
+ if (!isWorkbookOp(cloned)) {
124
+ throw new Error('invalid workbook op clone');
125
+ }
126
+ return cloned;
127
+ }
128
+ function cloneOps(ops) {
129
+ const entries = arrayDataValues(ops, isWorkbookOp);
130
+ if (entries === null) {
131
+ throw new Error('invalid workbook op array');
132
+ }
133
+ return Object.freeze(entries.map((op) => cloneOp(op)));
134
+ }
135
+ function opsMatch(left, right) {
136
+ const leftOps = arrayDataValues(left, isWorkbookOp);
137
+ const rightOps = arrayDataValues(right, isWorkbookOp);
138
+ if (leftOps === null || rightOps === null || leftOps.length !== rightOps.length) {
139
+ return false;
140
+ }
141
+ try {
142
+ return leftOps.every((op, index) => {
143
+ const other = rightOps[index];
144
+ return other !== undefined && canonicalJson(op) === canonicalJson(other);
145
+ });
146
+ }
147
+ catch {
148
+ return false;
149
+ }
150
+ }
151
+ function cloneReceiptOps(receipt, receiptIndex, key) {
152
+ const ops = ownValue(receipt, key);
153
+ if (ops === undefined) {
154
+ throw new Error(`commandReceipts[${String(receiptIndex)}].${key} is required`);
155
+ }
156
+ if (!Array.isArray(ops) || arrayDataValues(ops, isWorkbookOp) === null) {
157
+ throw new Error(`commandReceipts[${String(receiptIndex)}].${key} is invalid`);
158
+ }
159
+ return cloneOps(ops);
160
+ }
161
+ function flattenedReceiptOps(receipts, key) {
162
+ const ops = [];
163
+ for (const receipt of receipts) {
164
+ for (const op of receipt[key]) {
165
+ ops.push(op);
166
+ }
167
+ }
168
+ return ops;
169
+ }
170
+ export function cloneWorkbookRunApplyCommandReceipts(plan, value, previewOps, appliedOps) {
171
+ if (!Array.isArray(value)) {
172
+ throw new Error('commandReceipts must be an array');
173
+ }
174
+ const entries = arrayDataValues(value, isRecord);
175
+ if (entries === null) {
176
+ throw new Error('commandReceipts must contain only data objects');
177
+ }
178
+ if (entries.length !== plan.commands.length) {
179
+ throw new Error(`expected ${String(plan.commands.length)} command receipts, got ${String(entries.length)}`);
180
+ }
181
+ const seenCommandIndexes = new Set();
182
+ const receipts = entries.map((receipt, receiptIndex) => {
183
+ const commandIndex = ownValue(receipt, 'commandIndex');
184
+ if (!isSafeNonNegativeInteger(commandIndex) || commandIndex >= plan.commands.length) {
185
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandIndex is invalid`);
186
+ }
187
+ if (seenCommandIndexes.has(commandIndex)) {
188
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandIndex is duplicated`);
189
+ }
190
+ seenCommandIndexes.add(commandIndex);
191
+ const command = plan.commands[commandIndex];
192
+ if (command === undefined) {
193
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandIndex does not exist`);
194
+ }
195
+ const commandKind = ownValue(receipt, 'commandKind');
196
+ if (typeof commandKind !== 'string') {
197
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandKind is invalid`);
198
+ }
199
+ if (commandKind !== command.kind) {
200
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandKind does not match the planned command`);
201
+ }
202
+ const commandDigest = ownValue(receipt, 'commandDigest');
203
+ if (commandDigest !== workbookActionCommandDigest(command)) {
204
+ throw new Error(`commandReceipts[${String(receiptIndex)}].commandDigest does not match the planned command`);
205
+ }
206
+ const receiptPreviewOps = cloneReceiptOps(receipt, receiptIndex, 'previewOps');
207
+ const receiptAppliedOps = cloneReceiptOps(receipt, receiptIndex, 'appliedOps');
208
+ if (!opsMatch(receiptPreviewOps, receiptAppliedOps)) {
209
+ throw new Error(`commandReceipts[${String(receiptIndex)}] previewOps do not match appliedOps`);
210
+ }
211
+ let resolvedRefs;
212
+ const rawResolvedRefs = ownValue(receipt, 'resolvedRefs');
213
+ try {
214
+ resolvedRefs = rawResolvedRefs === undefined ? undefined : normalizeWorkbookActionInput(rawResolvedRefs);
215
+ }
216
+ catch (error) {
217
+ throw new Error(`commandReceipts[${String(receiptIndex)}].resolvedRefs is invalid: ${errorMessage(error)}`, { cause: error });
218
+ }
219
+ let proof;
220
+ const rawProof = ownValue(receipt, 'proof');
221
+ try {
222
+ proof = rawProof === undefined ? undefined : normalizeWorkbookActionInput(rawProof);
223
+ }
224
+ catch (error) {
225
+ throw new Error(`commandReceipts[${String(receiptIndex)}].proof is invalid: ${errorMessage(error)}`, { cause: error });
226
+ }
227
+ return Object.freeze({
228
+ commandIndex,
229
+ commandKind,
230
+ commandDigest,
231
+ previewOps: receiptPreviewOps,
232
+ appliedOps: receiptAppliedOps,
233
+ ...(resolvedRefs !== undefined ? { resolvedRefs } : {}),
234
+ ...(proof !== undefined ? { proof } : {}),
235
+ });
236
+ });
237
+ const sortedReceipts = Object.freeze(receipts.toSorted((left, right) => left.commandIndex - right.commandIndex));
238
+ if (previewOps !== undefined && !opsMatch(flattenedReceiptOps(sortedReceipts, 'previewOps'), previewOps)) {
239
+ throw new Error('commandReceipts previewOps do not match apply previewOps');
240
+ }
241
+ if (appliedOps !== undefined && !opsMatch(flattenedReceiptOps(sortedReceipts, 'appliedOps'), appliedOps)) {
242
+ throw new Error('commandReceipts appliedOps do not match apply appliedOps');
243
+ }
244
+ return sortedReceipts;
245
+ }
246
+ export function cloneWorkbookRunApplyCommandReceiptsForSummary(receipts) {
247
+ return Object.freeze(receipts.map((receipt) => Object.freeze({
248
+ commandIndex: receipt.commandIndex,
249
+ commandKind: receipt.commandKind,
250
+ commandDigest: receipt.commandDigest,
251
+ previewOps: cloneOps(receipt.previewOps),
252
+ appliedOps: cloneOps(receipt.appliedOps),
253
+ ...(receipt.resolvedRefs !== undefined ? { resolvedRefs: normalizeWorkbookActionInput(receipt.resolvedRefs) } : {}),
254
+ ...(receipt.proof !== undefined ? { proof: normalizeWorkbookActionInput(receipt.proof) } : {}),
255
+ })));
256
+ }
257
+ //# sourceMappingURL=run-command-receipts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-command-receipts.js","sourceRoot":"","sources":["../src/run-command-receipts.ts"],"names":[],"mappings":"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"}
package/dist/run.d.ts CHANGED
@@ -2,20 +2,26 @@ import type { WorkbookRef } from './find.js';
2
2
  import { type WorkbookActionInput } from './input.js';
3
3
  import { type WorkbookActionMap, type WorkbookActionPlan, type WorkbookModel } from './model.js';
4
4
  import type { EngineOp } from './ops.js';
5
- import { type WorkbookExecutablePlan, type WorkbookPlanDataRefs } from './plan-data.js';
5
+ import { type WorkbookExecutablePlan, type WorkbookPlanId, type WorkbookPlanDataRefs } from './plan-data.js';
6
6
  import { type WorkbookRunReadback } from './readback.js';
7
- import { type WorkbookCheckResult, type WorkbookRunError, type WorkbookRunResult, type WorkbookUndoRef } from './result.js';
7
+ import { type WorkbookRunApplyCommandReceipt, type WorkbookCheckResult, type WorkbookRunError, type WorkbookRunResult, type WorkbookUndoRef } from './result.js';
8
8
  type MaybePromise<T> = T | Promise<T>;
9
9
  export interface WorkbookRunApplyResult {
10
10
  readonly status: 'applied' | 'failed';
11
+ readonly planId?: WorkbookPlanId;
12
+ readonly baseRevision?: number;
13
+ readonly revision?: number;
11
14
  readonly previewOps?: readonly EngineOp[];
12
15
  readonly appliedOps?: readonly EngineOp[];
16
+ readonly commandReceipts?: readonly WorkbookRunApplyCommandReceipt[];
13
17
  readonly proof?: WorkbookActionInput;
14
18
  readonly errors?: readonly WorkbookRunError[];
15
19
  readonly undo?: WorkbookUndoRef;
16
20
  }
17
21
  export interface WorkbookRunOptions {
22
+ readonly strict?: boolean;
18
23
  readonly requireApplyProof?: boolean;
24
+ readonly requirePlanId?: boolean;
19
25
  }
20
26
  export interface WorkbookRunAdapter<Refs = unknown> {
21
27
  apply?(plan: WorkbookActionPlan<Refs>): MaybePromise<WorkbookRunApplyResult>;
package/dist/run.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { isWorkbookOp } from './guards.js';
2
2
  import { normalizeWorkbookActionInput } from './input.js';
3
3
  import { planWorkbookAction } from './model.js';
4
- import { checkPlanData, hydratePlanData, isHydratedPlan, } from './plan-data.js';
4
+ import { checkPlanData, hydratePlanData, isHydratedPlan, workbookPlanId, } from './plan-data.js';
5
5
  import { verifyWorkbookReadbacks } from './readback.js';
6
6
  import { checkRuntimeAdapter } from './requirements.js';
7
+ import { cloneWorkbookRunApplyCommandReceipts, cloneWorkbookRunApplyCommandReceiptsForSummary } from './run-command-receipts.js';
7
8
  import { isWorkbookRunErrorCode, } from './result.js';
8
9
  import { verifyPlan } from './verify.js';
9
10
  function errorMessage(error) {
@@ -177,6 +178,9 @@ function isCheckStatus(value) {
177
178
  function isRecord(value) {
178
179
  return typeof value === 'object' && value !== null;
179
180
  }
181
+ function isSafeNonNegativeInteger(value) {
182
+ return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
183
+ }
180
184
  function ownValue(value, key) {
181
185
  return Object.getOwnPropertyDescriptor(value, key)?.value;
182
186
  }
@@ -309,6 +313,35 @@ function validateApplyResult(plan, value) {
309
313
  if (status === 'applied' && errors !== undefined && errors.length > 0) {
310
314
  return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned applied with errors`);
311
315
  }
316
+ const rawPlanId = ownValue(value, 'planId');
317
+ if (rawPlanId !== undefined && typeof rawPlanId !== 'string') {
318
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid plan id`);
319
+ }
320
+ const expectedPlanId = rawPlanId === undefined ? undefined : workbookPlanId(plan);
321
+ if (rawPlanId !== undefined && rawPlanId !== expectedPlanId) {
322
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned a plan id that does not match the executed plan`);
323
+ }
324
+ const rawBaseRevision = ownValue(value, 'baseRevision');
325
+ if (rawBaseRevision !== undefined && !isSafeNonNegativeInteger(rawBaseRevision)) {
326
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid base revision`);
327
+ }
328
+ const rawRevision = ownValue(value, 'revision');
329
+ if (rawRevision !== undefined && !isSafeNonNegativeInteger(rawRevision)) {
330
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid revision`);
331
+ }
332
+ if (isSafeNonNegativeInteger(rawBaseRevision) && isSafeNonNegativeInteger(rawRevision) && rawRevision < rawBaseRevision) {
333
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned a revision before its base revision`);
334
+ }
335
+ const rawCommandReceipts = ownValue(value, 'commandReceipts');
336
+ let commandReceipts;
337
+ if (rawCommandReceipts !== undefined) {
338
+ try {
339
+ commandReceipts = cloneWorkbookRunApplyCommandReceipts(plan, rawCommandReceipts, previewOps, appliedOps);
340
+ }
341
+ catch (error) {
342
+ return rejected(`Workbook action ${plan.modelName}.${plan.actionName} returned invalid command receipts: ${errorMessage(error)}`);
343
+ }
344
+ }
312
345
  const rawUndo = ownValue(value, 'undo');
313
346
  let undo;
314
347
  if (rawUndo !== undefined && !isWorkbookUndoRef(rawUndo)) {
@@ -334,8 +367,12 @@ function validateApplyResult(plan, value) {
334
367
  status: 'valid',
335
368
  result: {
336
369
  status,
370
+ ...(typeof rawPlanId === 'string' ? { planId: rawPlanId } : {}),
371
+ ...(isSafeNonNegativeInteger(rawBaseRevision) ? { baseRevision: rawBaseRevision } : {}),
372
+ ...(isSafeNonNegativeInteger(rawRevision) ? { revision: rawRevision } : {}),
337
373
  ...(previewOps !== undefined ? { previewOps } : {}),
338
374
  ...(appliedOps !== undefined ? { appliedOps } : {}),
375
+ ...(commandReceipts !== undefined ? { commandReceipts } : {}),
339
376
  ...(proof !== undefined ? { proof } : {}),
340
377
  ...(errors !== undefined ? { errors } : {}),
341
378
  ...(undo !== undefined ? { undo } : {}),
@@ -445,32 +482,51 @@ function describeApply(result) {
445
482
  const matched = result.previewOps === undefined || result.appliedOps === undefined ? null : opsMatch(result.previewOps, result.appliedOps);
446
483
  return {
447
484
  matched,
485
+ ...(result.planId !== undefined ? { planId: result.planId } : {}),
486
+ ...(result.baseRevision !== undefined ? { baseRevision: result.baseRevision } : {}),
487
+ ...(result.revision !== undefined ? { revision: result.revision } : {}),
448
488
  ...(result.previewOps !== undefined ? { previewOps: cloneOps(result.previewOps) } : {}),
449
489
  ...(result.appliedOps !== undefined ? { appliedOps: cloneOps(result.appliedOps) } : {}),
490
+ ...(result.commandReceipts !== undefined
491
+ ? { commandReceipts: cloneWorkbookRunApplyCommandReceiptsForSummary(result.commandReceipts) }
492
+ : {}),
450
493
  ...(result.proof !== undefined ? { proof: normalizeWorkbookActionInput(result.proof) } : {}),
451
494
  };
452
495
  }
453
- function applyUnverified(apply) {
454
- if (apply.matched !== null) {
455
- return [];
456
- }
457
- return [
458
- {
496
+ function applyUnverified(plan, apply) {
497
+ const unverified = [];
498
+ if (apply.matched === null) {
499
+ unverified.push({
459
500
  kind: 'apply',
460
501
  message: 'Adapter did not return both previewOps and appliedOps, so apply match is unverified',
461
- },
462
- ];
502
+ });
503
+ }
504
+ if (plan.commands.length > 0 && apply.commandReceipts === undefined) {
505
+ unverified.push({
506
+ kind: 'apply',
507
+ message: 'Adapter did not return commandReceipts, so planned commands are not bound to materialized ops',
508
+ });
509
+ }
510
+ return unverified;
463
511
  }
464
512
  function unverifiedProperty(unverified) {
465
513
  return unverified.length === 0 ? {} : { unverified };
466
514
  }
467
- function applyProofErrors(apply, options) {
515
+ function applyProofErrors(plan, apply, options) {
516
+ const requireApplyProof = options.strict === true || options.requireApplyProof === true;
517
+ const requirePlanId = options.strict === true || options.requirePlanId === true;
468
518
  if (apply.matched === false) {
469
519
  return [runError('apply_mismatch', 'Adapter applied ops do not match its preview ops')];
470
520
  }
471
- if (options.requireApplyProof === true && apply.matched === null) {
521
+ if (requireApplyProof && apply.matched === null) {
472
522
  return [runError('apply_not_verified', 'Adapter did not return both previewOps and appliedOps')];
473
523
  }
524
+ if (requireApplyProof && plan.commands.length > 0 && apply.commandReceipts === undefined) {
525
+ return [runError('apply_not_verified', 'Adapter did not bind planned commands to materialized ops')];
526
+ }
527
+ if (requirePlanId && apply.planId === undefined) {
528
+ return [runError('plan_not_verified', 'Adapter did not bind apply proof to a plan id')];
529
+ }
474
530
  return [];
475
531
  }
476
532
  function needsApply(capabilities) {
@@ -616,8 +672,8 @@ async function runLiveWorkbookPlan(plan, adapter, options = {}) {
616
672
  return failedApplyResult(plan, validApplyResult);
617
673
  }
618
674
  apply = describeApply(validApplyResult);
619
- unverified = applyUnverified(apply);
620
- const applyErrors = applyProofErrors(apply, options);
675
+ unverified = applyUnverified(plan, apply);
676
+ const applyErrors = applyProofErrors(plan, apply, options);
621
677
  if (applyErrors.length > 0) {
622
678
  return failedRun({
623
679
  errors: applyErrors,
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,4BAA4B,EAA4B,MAAM,YAAY,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAuE,MAAM,YAAY,CAAA;AAEpH,OAAO,EACL,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,GAKf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAA4B,MAAM,eAAe,CAAA;AACjF,OAAO,EAAE,mBAAmB,EAAkC,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAAE,oCAAoC,EAAE,8CAA8C,EAAE,MAAM,2BAA2B,CAAA;AAChI,OAAO,EACL,sBAAsB,GAUvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA6BxC,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,QAAQ,CAAC,IAA0B,EAAE,OAAe;IAC3D,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAOlB;IACC,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxG,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAsC;IAC7D,MAAM,OAAO,GAAkB,EAAE,CAAA;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClE,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAA;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAO,IAA8B;IAChE,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,SAAS,CAAC;QACf,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA4B;IACpD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAwB,EACxB,MAA2D;IAE3D,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAwB,EACxB,MAA2D;IAE3D,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3H,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB,EAAE,MAA8B;IACjF,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,kBAAkB,CAAC,CAAC,CAAA;IACxG,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAEnC,OAAO,SAAS,CAAC;QACf,MAAM;QACN,KAAK;QACL,OAAO,EAAE,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAA0B;IAC5C,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAC3D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAC5D,CAAC;YACD,OAAO,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;aACjD,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACxD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;YAC5D,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CACL,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAwC,KAA0B,EAAE,GAAQ;IAChG,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAA0B;IAC/C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IACvD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAA0B;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC/C,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IAED,OAAO;QACL,MAAM;QACN,IAAI;QACJ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO;QACP,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAAwB,EAAE,MAA2B;IACjF,IAAI,CAAC;QACH,OAAO,gBAAgB,KAAK,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAA;AACxE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,OAAO,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAA;AAC3D,CAAC;AAED,SAAS,eAAe,CAAI,KAAc,EAAE,KAAqC;IAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAQ,EAAE,CAAA;IACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACxE,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/G,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,CAAA;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAE9C,OAAO,CACL,sBAAsB,CAAC,IAAI,CAAC;QAC5B,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC;QAChD,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,CAAC,CAC3D,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,IAAI,CAAA;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,KAAuB;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC9C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,IAAqB;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO;QACL,EAAE;QACF,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,CACL,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,QAAQ;QAC3C,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,QAAQ,CAC/C,CAAA;AACH,CAAC;AAYD,SAAS,mBAAmB,CAAC,IAAwB,EAAE,KAAc;IACnE,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAmB,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS,CAAC;YAChB,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,mCAAmC,CAAC,CAAA;IAC1G,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACxC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,mCAAmC,CAAC,CAAA;IAC1G,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+BAA+B,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,UAA2C,CAAA;IAC/C,IAAI,CAAC;QACH,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+BAA+B,CAAC,CAAA;IACtG,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACnD,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+BAA+B,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,UAA2C,CAAA;IAC/C,IAAI,CAAC;QACH,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAChF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+BAA+B,CAAC,CAAA;IACtG,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,gCAAgC,CAAC,CAAA;IACvG,CAAC;IACD,IAAI,MAA+C,CAAA;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,gCAAgC,CAAC,CAAA;IACvG,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+BAA+B,CAAC,CAAA;IACtG,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,2BAA2B,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,cAAc,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACjF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,2DAA2D,CAAC,CAAA;IAClI,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACvD,IAAI,eAAe,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC;QAChF,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,iCAAiC,CAAC,CAAA;IACxG,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/C,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,4BAA4B,CAAC,CAAA;IACnG,CAAC;IACD,IAAI,wBAAwB,CAAC,eAAe,CAAC,IAAI,wBAAwB,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,eAAe,EAAE,CAAC;QACxH,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,+CAA+C,CAAC,CAAA;IACtH,CAAC;IAED,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAC7D,IAAI,eAAsE,CAAA;IAC1E,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,eAAe,GAAG,oCAAoC,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QAC1G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,uCAAuC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACnI,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,IAAiC,CAAA;IACrC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,iCAAiC,CAAC,CAAA;IACxG,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,iCAAiC,CAAC,CAAA;QACxG,CAAC;IACH,CAAC;IAED,IAAI,KAAsC,CAAA;IAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC,mBAAmB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,kCAAkC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9H,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,MAAM;YACN,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,GAAG,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC;KACF,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAwB;IACxC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAClD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,MAAmC;IACzD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC3D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,EAAY;IAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;IAC5B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,QAAQ,CAAC,IAAyB,EAAE,KAA0B;IACrE,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChF,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,OAAO,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,EAAE,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1E,CAAC,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,OAAO,IAAI,OAAO,EAAmB;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAC3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAC9D,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,MAAM,GAA4B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACnF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE;QACpF,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YACjC,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAY,EAAE,OAAO,IAAI,OAAO,EAAU;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACf,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAA;QAClG,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QACvE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,MAA8B;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1I,OAAO;QACL,OAAO;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,eAAe,EAAE,8CAA8C,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;YAC7F,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAwB,EAAE,KAA8B;IAC/E,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,qFAAqF;SAC/F,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACpE,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,+FAA+F;SACzG,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,UAA4C;IACtE,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAA;AACtD,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAwB,EACxB,KAA8B,EAC9B,OAA2B;IAE3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAA;IACvF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,CAAA;IAC/E,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kDAAkD,CAAC,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,iBAAiB,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE,uDAAuD,CAAC,CAAC,CAAA;IAClG,CAAC;IACD,IAAI,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,EAAE,2DAA2D,CAAC,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,EAAE,+CAA+C,CAAC,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,UAAU,CAAC,YAAkD;IACpE,OAAO,YAAY,CAAC,IAAI,CACtB,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,KAAK,cAAc;QAC7B,UAAU,KAAK,YAAY;QAC3B,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,OAAO;QACtB,UAAU,KAAK,SAAS,CAC3B,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAwB,EAAE,MAA0C;IACrG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AACpE,CAAC;AAYD,SAAS,sBAAsB,CAC7B,iBAAoC,EACpC,aAAgC,EAChC,QAAiB;IAEjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ,CAAC,4BAA4B,EAAE,6CAA6C,CAAC;SAC7F,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ,CACb,4BAA4B,EAC5B,2BAA2B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CACnH;SACF,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAA0B,EAAE,CAAA;IAChD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACjD,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,OAAO,CAAA;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3E,MAAM,MAAM,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,UAAU,IAAI,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QACxH,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ,CAAC,4BAA4B,EAAE,qDAAqD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;aACpH,CAAA;QACH,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ,CAAC,4BAA4B,EAAE,sDAAsD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;aACrH,CAAA;QACH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ,CAAC,4BAA4B,EAAE,qDAAqD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;aACpH,CAAA;QACH,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ,CACb,4BAA4B,EAC5B,sDAAsD,MAAM,CAAC,KAAK,CAAC,QAAQ,YAAY,EAAE,CAC1F;aACF,CAAA;QACH,CAAC;QACD,IAAI,CAAC;YACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,QAAQ,CACb,4BAA4B,EAC5B,kDAAkD,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAC1F;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,cAAc;KACvB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,MAAsC,EACtC,IAA8B,EAC9B,OAAiC;IAEjC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC5F,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACpD,IAAI,QAAiB,CAAA;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SACrE,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;IACrF,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;SAC3B,CAAA;IACH,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAA;IACxC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IAChF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,QAAQ,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAC9G;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsC;IACnE,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;SAC7C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAChI,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAA8B,EAC9B,OAAiC,EACjC,UAA8B,EAAE;IAEhC,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvD,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,4BAA4B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/G,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,gBAAoD,CAAA;IACxD,IAAI,KAA0C,CAAA;IAC9C,IAAI,UAAU,GAAqC,EAAE,CAAA;IACrD,IAAI,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAClD,IAAI,WAAoB,CAAA;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC9D,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,eAAe,CAAC,MAAM,CAAA;QAC/B,CAAC;QACD,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAA;QAEzC,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;QAClD,CAAC;QAED,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;QACvC,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,WAAW;gBACnB,KAAK;gBACL,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAClD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACxB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAChE,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvF,KAAK;gBACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC1D,MAAM,EAAE,oBAAoB,CAAC,MAAM;gBACnC,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,SAAyC,CAAA;QAC7C,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1D,KAAK;gBACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC1D,MAAM;gBACN,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QACvE,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAA;QACpC,IAAI,oBAAoB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;gBACf,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvF,KAAK;gBACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBAC1D,MAAM;gBACN,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC9E,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACjC,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;YACf,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,KAAK;YACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC1D,MAAM;YACN,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;YACf,MAAM,EAAE,gBAAgB;YACxB,KAAK;YACL,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC1D,MAAM;YACN,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM;QACd,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAC1D,MAAM;QACN,GAAG,CAAC,gBAAgB,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,kBAAkB,CAAC,UAAU,CAAC;KAClC,CAAA;AACH,CAAC;AAaD,MAAM,UAAU,eAAe,CAAC,IAAa,EAAE,OAA2B,EAAE,UAA8B,EAAE;IAC1G,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAU,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;IACD,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,CACpB,SAAS,CAAC;YACR,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAClD,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAA;IACH,CAAC;IACD,OAAO,mBAAmB,CAAU,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAmC,EACnC,UAAkB,EAClB,OAAiC,EACjC,KAA2B,EAC3B,OAA4B;IAE5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bilig/workbook",
3
- "version": "0.71.0",
3
+ "version": "0.75.0",
4
4
  "description": "Agent-first workbook model API and transport-neutral workbook operation language for bilig.",
5
5
  "keywords": [
6
6
  "agent-first",
@@ -43,8 +43,8 @@
43
43
  "test": "cd ../.. && tsx scripts/run-vitest.ts --run packages/workbook/src/__tests__/guards.test.ts packages/workbook/src/__tests__/model-api.test.ts packages/workbook/src/__tests__/model-verification-api.test.ts packages/workbook/src/__tests__/transport-api.test.ts packages/workbook/src/__tests__/low-level-op-api.test.ts packages/workbook/src/__tests__/check-api.test.ts packages/workbook/src/__tests__/format-api.test.ts packages/workbook/src/__tests__/formula-api.test.ts packages/workbook/src/__tests__/action-input-api.test.ts packages/workbook/src/__tests__/action-metadata-api.test.ts packages/workbook/src/__tests__/features-api.test.ts packages/workbook/src/__tests__/command-bundle-api.test.ts packages/workbook/src/__tests__/run-api.test.ts packages/workbook/src/__tests__/run-proof-boundary.test.ts packages/workbook/src/__tests__/requirements-api.test.ts packages/workbook/src/__tests__/plan-refs-api.test.ts"
44
44
  },
45
45
  "dependencies": {
46
- "@bilig/formula": "0.71.0",
47
- "@bilig/protocol": "0.71.0"
46
+ "@bilig/formula": "0.75.0",
47
+ "@bilig/protocol": "0.75.0"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=22.0.0"