@n8n/expression-runtime 0.8.0 → 0.9.1

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 (73) hide show
  1. package/dist/bundle/runtime.esm.js +15 -15
  2. package/dist/bundle/runtime.esm.js.map +4 -4
  3. package/dist/bundle/runtime.iife.js +15 -15
  4. package/dist/bundle/runtime.iife.js.map +4 -4
  5. package/dist/cjs/bridge/isolated-vm-bridge.d.ts +40 -34
  6. package/dist/cjs/bridge/isolated-vm-bridge.d.ts.map +1 -1
  7. package/dist/cjs/bridge/isolated-vm-bridge.js +97 -154
  8. package/dist/cjs/bridge/isolated-vm-bridge.js.map +1 -1
  9. package/dist/cjs/build.tsbuildinfo +1 -1
  10. package/dist/cjs/evaluator/expression-evaluator.d.ts.map +1 -1
  11. package/dist/cjs/evaluator/expression-evaluator.js +5 -4
  12. package/dist/cjs/evaluator/expression-evaluator.js.map +1 -1
  13. package/dist/cjs/extensions/function-extensions.d.ts.map +1 -1
  14. package/dist/cjs/extensions/function-extensions.js +8 -5
  15. package/dist/cjs/extensions/function-extensions.js.map +1 -1
  16. package/dist/cjs/index.d.ts +1 -0
  17. package/dist/cjs/index.d.ts.map +1 -1
  18. package/dist/cjs/index.js +4 -2
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/pool/isolate-pool.d.ts +3 -2
  21. package/dist/cjs/pool/isolate-pool.d.ts.map +1 -1
  22. package/dist/cjs/pool/isolate-pool.js +5 -4
  23. package/dist/cjs/pool/isolate-pool.js.map +1 -1
  24. package/dist/cjs/runtime/context.d.ts +18 -0
  25. package/dist/cjs/runtime/context.d.ts.map +1 -0
  26. package/dist/cjs/runtime/{reset.js → context.js} +93 -114
  27. package/dist/cjs/runtime/context.js.map +1 -0
  28. package/dist/cjs/runtime/index.d.ts +1 -28
  29. package/dist/cjs/runtime/index.d.ts.map +1 -1
  30. package/dist/cjs/runtime/index.js +3 -5
  31. package/dist/cjs/runtime/index.js.map +1 -1
  32. package/dist/cjs/runtime/lazy-proxy.d.ts +9 -3
  33. package/dist/cjs/runtime/lazy-proxy.d.ts.map +1 -1
  34. package/dist/cjs/runtime/lazy-proxy.js +19 -13
  35. package/dist/cjs/runtime/lazy-proxy.js.map +1 -1
  36. package/dist/esm/bridge/isolated-vm-bridge.d.ts +40 -34
  37. package/dist/esm/bridge/isolated-vm-bridge.d.ts.map +1 -1
  38. package/dist/esm/bridge/isolated-vm-bridge.js +97 -154
  39. package/dist/esm/bridge/isolated-vm-bridge.js.map +1 -1
  40. package/dist/esm/build.tsbuildinfo +1 -1
  41. package/dist/esm/evaluator/expression-evaluator.d.ts.map +1 -1
  42. package/dist/esm/evaluator/expression-evaluator.js +4 -3
  43. package/dist/esm/evaluator/expression-evaluator.js.map +1 -1
  44. package/dist/esm/extensions/function-extensions.d.ts.map +1 -1
  45. package/dist/esm/extensions/function-extensions.js +8 -5
  46. package/dist/esm/extensions/function-extensions.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -0
  48. package/dist/esm/index.d.ts.map +1 -1
  49. package/dist/esm/index.js +1 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/pool/isolate-pool.d.ts +3 -2
  52. package/dist/esm/pool/isolate-pool.d.ts.map +1 -1
  53. package/dist/esm/pool/isolate-pool.js +4 -3
  54. package/dist/esm/pool/isolate-pool.js.map +1 -1
  55. package/dist/esm/runtime/context.d.ts +18 -0
  56. package/dist/esm/runtime/context.d.ts.map +1 -0
  57. package/dist/esm/runtime/{reset.js → context.js} +92 -113
  58. package/dist/esm/runtime/context.js.map +1 -0
  59. package/dist/esm/runtime/index.d.ts +1 -28
  60. package/dist/esm/runtime/index.d.ts.map +1 -1
  61. package/dist/esm/runtime/index.js +2 -4
  62. package/dist/esm/runtime/index.js.map +1 -1
  63. package/dist/esm/runtime/lazy-proxy.d.ts +9 -3
  64. package/dist/esm/runtime/lazy-proxy.d.ts.map +1 -1
  65. package/dist/esm/runtime/lazy-proxy.js +19 -13
  66. package/dist/esm/runtime/lazy-proxy.js.map +1 -1
  67. package/package.json +5 -4
  68. package/dist/cjs/runtime/reset.d.ts +0 -16
  69. package/dist/cjs/runtime/reset.d.ts.map +0 -1
  70. package/dist/cjs/runtime/reset.js.map +0 -1
  71. package/dist/esm/runtime/reset.d.ts +0 -16
  72. package/dist/esm/runtime/reset.d.ts.map +0 -1
  73. package/dist/esm/runtime/reset.js.map +0 -1
@@ -74,18 +74,6 @@ export class IsolatedVmBridge {
74
74
  disposed = false;
75
75
  config;
76
76
  logger;
77
- // Script compilation cache for performance
78
- // Maps expression code -> compiled ivm.Script
79
- scriptCache = new Map();
80
- // Active ivm.Reference callbacks — released before each re-registration
81
- // to prevent reference accumulation across execute() calls
82
- valueAtPathRef;
83
- arrayElementRef;
84
- callFunctionRef;
85
- // Pre-resolved reference to resetDataProxies() inside the isolate.
86
- // Using applySync on a stored reference avoids the per-call
87
- // ScriptCompiler::Compile() cost that evalSync incurs.
88
- resetDataProxiesRef;
89
77
  constructor(config = {}) {
90
78
  this.config = {
91
79
  ...DEFAULT_BRIDGE_CONFIG,
@@ -125,10 +113,6 @@ export class IsolatedVmBridge {
125
113
  await this.verifyProxySystem();
126
114
  // Inject E() error handler needed by tournament-generated try-catch code
127
115
  await this.injectErrorHandler();
128
- // Store a reference to resetDataProxies for efficient per-call invocation
129
- this.resetDataProxiesRef = await this.context.global.get('resetDataProxies', {
130
- reference: true,
131
- });
132
116
  this.initialized = true;
133
117
  this.logger.info('[IsolatedVmBridge] Initialized successfully');
134
118
  }
@@ -139,7 +123,7 @@ export class IsolatedVmBridge {
139
123
  * - DateTime, extend, extendOptional (expression engine globals)
140
124
  * - SafeObject and SafeError wrappers
141
125
  * - createDeepLazyProxy function
142
- * - __data object initialization
126
+ * - buildContext function
143
127
  *
144
128
  * @private
145
129
  * @throws {Error} If context not initialized or bundle loading fails
@@ -152,7 +136,7 @@ export class IsolatedVmBridge {
152
136
  // Load runtime bundle (includes vendor libraries + proxy system)
153
137
  const runtimeBundle = await readRuntimeBundle();
154
138
  // Evaluate bundle in isolate context
155
- // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, resetDataProxies, __data)
139
+ // This makes all exported globals available (DateTime, extend, extendOptional, SafeObject, SafeError, createDeepLazyProxy, buildContext)
156
140
  await this.context.eval(runtimeBundle);
157
141
  this.logger.info('[IsolatedVmBridge] Runtime bundle loaded');
158
142
  // Verify vendor libraries loaded correctly
@@ -184,15 +168,14 @@ export class IsolatedVmBridge {
184
168
  try {
185
169
  // Verify proxy system components loaded correctly
186
170
  const hasProxyCreator = await this.context.eval('typeof createDeepLazyProxy !== "undefined"');
187
- const hasData = await this.context.eval('typeof __data !== "undefined"');
188
171
  const hasSafeObject = await this.context.eval('typeof SafeObject !== "undefined"');
189
172
  const hasSafeError = await this.context.eval('typeof SafeError !== "undefined"');
190
- const hasResetFunction = await this.context.eval('typeof resetDataProxies !== "undefined"');
191
- if (!hasProxyCreator || !hasData || !hasSafeObject || !hasSafeError || !hasResetFunction) {
173
+ const hasBuildContext = await this.context.eval('typeof buildContext !== "undefined"');
174
+ if (!hasProxyCreator || !hasSafeObject || !hasSafeError || !hasBuildContext) {
192
175
  throw new Error(`Proxy system verification failed: ` +
193
- `createDeepLazyProxy=${hasProxyCreator}, __data=${hasData}, ` +
176
+ `createDeepLazyProxy=${hasProxyCreator}, ` +
194
177
  `SafeObject=${hasSafeObject}, SafeError=${hasSafeError}, ` +
195
- `resetDataProxies=${hasResetFunction}`);
178
+ `buildContext=${hasBuildContext}`);
196
179
  }
197
180
  this.logger.info('[IsolatedVmBridge] Proxy system verified successfully');
198
181
  }
@@ -204,11 +187,22 @@ export class IsolatedVmBridge {
204
187
  /**
205
188
  * Inject the E() error handler into the isolate context.
206
189
  *
207
- * Tournament wraps expressions with try-catch that calls E(error, this).
208
- * This handler:
209
- * - Re-throws security violations from __sanitize
210
- * - Swallows TypeErrors (failed attack attempts return undefined)
211
- * - Re-throws all other errors
190
+ * There are two exception-handling layers inside the isolate:
191
+ *
192
+ * 1. **Inner layer (this handler, `E()`)** — Tournament wraps each
193
+ * expression with try-catch that calls `E(error, this)`. This handler
194
+ * must match the legacy engine's behavior (set in expression.ts via
195
+ * setErrorHandler):
196
+ * - Re-throw ExpressionError / ExpressionExtensionError
197
+ * - Swallow everything else (TypeErrors, generic Errors, etc.)
198
+ *
199
+ * 2. **Outer layer (`wrappedCode` try-catch in `execute()`)** — Catches
200
+ * anything that escaped `E()` (e.g. re-thrown ExpressionErrors) and
201
+ * serializes it into a sentinel object so the host can reconstruct it.
202
+ *
203
+ * Inside the isolate, errors from host callbacks arrive as sentinel
204
+ * objects ({ __isError, name, message, ... }) rather than class instances,
205
+ * so we match by name instead of instanceof.
212
206
  *
213
207
  * @private
214
208
  * @throws {Error} If context not initialized
@@ -220,71 +214,31 @@ export class IsolatedVmBridge {
220
214
  await this.context.eval(`
221
215
  if (typeof E === 'undefined') {
222
216
  globalThis.E = function(error, _context) {
223
- // Re-throw security violations from __sanitize
224
- if (error && error.message && error.message.includes('due to security concerns')) {
217
+ // Re-throw ExpressionError / ExpressionExtensionError to match
218
+ // the legacy handler in expression.ts. Errors from host callbacks
219
+ // arrive as sentinels (not class instances), so check by name.
220
+ const name = error?.name;
221
+ if (name === 'ExpressionError' || name === 'ExpressionExtensionError') {
225
222
  throw error;
226
223
  }
227
- // Swallow TypeErrors (failed attack attempts return undefined)
228
- if (error instanceof TypeError) {
229
- return undefined;
230
- }
231
- throw error;
224
+ // Swallow everything else (TypeErrors, generic Errors, etc.)
225
+ return undefined;
232
226
  };
233
227
  }
234
228
  `);
235
229
  this.logger.info('[IsolatedVmBridge] Error handler injected successfully');
236
230
  }
237
231
  /**
238
- * Reset data proxies in the isolate context.
239
- *
240
- * This method should be called before each execute() to:
241
- * 1. Clear proxy caches from previous evaluations
242
- * 2. Initialize fresh workflow data references
243
- * 3. Expose workflow properties to globalThis
244
- *
245
- * The reset function runs in the isolate and calls back to the host
246
- * via ivm.Reference callbacks to fetch workflow data.
247
- *
248
- * @private
249
- * @throws {Error} If context not initialized or reset fails
250
- */
251
- resetDataProxies(timezone) {
252
- if (!this.resetDataProxiesRef) {
253
- throw new Error('Context not initialized');
254
- }
255
- try {
256
- this.resetDataProxiesRef.applySync(null, [timezone ?? null], {
257
- arguments: { copy: true },
258
- });
259
- this.logger.debug('[IsolatedVmBridge] Data proxies reset successfully');
260
- }
261
- catch (error) {
262
- const errorMessage = error instanceof Error ? error.message : String(error);
263
- throw new Error(`Failed to reset data proxies: ${errorMessage}`);
264
- }
265
- }
266
- /**
267
- * Register callback functions for cross-isolate communication.
268
- *
269
- * Creates three ivm.Reference callbacks that the runtime bundle uses
270
- * to fetch data from the host process:
271
- *
272
- * - __getValueAtPath: Returns metadata or primitive for a property path
273
- * - __getArrayElement: Returns individual array elements
274
- * - __callFunctionAtPath: Executes functions in host context
232
+ * Create an ivm.Reference callback for getting value/metadata at a path.
275
233
  *
276
- * These callbacks are called synchronously from isolate proxy traps.
234
+ * Used by createDeepLazyProxy when accessing properties. Returns metadata
235
+ * markers for functions, arrays, and objects, or the primitive value directly.
277
236
  *
278
237
  * @param data - Current workflow data to use for callback responses
279
238
  * @private
280
239
  */
281
- registerCallbacks(data) {
282
- if (!this.context) {
283
- throw new Error('Context not initialized');
284
- }
285
- // Callback 1: Get value/metadata at path
286
- // Used by createDeepLazyProxy when accessing properties
287
- const getValueAtPath = new (getIvm().Reference)((path) => {
240
+ createGetValueAtPathRef(data) {
241
+ return new (getIvm().Reference)((path) => {
288
242
  try {
289
243
  // Navigate to value
290
244
  // Special-case: paths starting with ['$item', index] call data.$item(index)
@@ -343,9 +297,17 @@ export class IsolatedVmBridge {
343
297
  return serializeError(err);
344
298
  }
345
299
  });
346
- // Callback 2: Get array element at index
347
- // Used by array proxy when accessing numeric indices
348
- const getArrayElement = new (getIvm().Reference)((path, index) => {
300
+ }
301
+ /**
302
+ * Create an ivm.Reference callback for getting array elements at an index.
303
+ *
304
+ * Used by array proxy when accessing numeric indices.
305
+ *
306
+ * @param data - Current workflow data to use for callback responses
307
+ * @private
308
+ */
309
+ createGetArrayElementRef(data) {
310
+ return new (getIvm().Reference)((path, index) => {
349
311
  try {
350
312
  // Navigate to array
351
313
  // Special-case: paths starting with ['$item', index] call data.$item(index)
@@ -397,9 +359,17 @@ export class IsolatedVmBridge {
397
359
  return serializeError(err);
398
360
  }
399
361
  });
400
- // Callback 3: Call function at path with arguments
401
- // Used when expressions invoke functions from workflow data
402
- const callFunctionAtPath = new (getIvm().Reference)((path, ...args) => {
362
+ }
363
+ /**
364
+ * Create an ivm.Reference callback for calling functions at a path.
365
+ *
366
+ * Used when expressions invoke functions from workflow data.
367
+ *
368
+ * @param data - Current workflow data to use for callback responses
369
+ * @private
370
+ */
371
+ createCallFunctionAtPathRef(data) {
372
+ return new (getIvm().Reference)((path, ...args) => {
403
373
  try {
404
374
  // Navigate to function, tracking parent to preserve `this` context
405
375
  let fn = data;
@@ -428,29 +398,19 @@ export class IsolatedVmBridge {
428
398
  return serializeError(err);
429
399
  }
430
400
  });
431
- // Release previous references before replacing to avoid accumulation
432
- this.valueAtPathRef?.release();
433
- this.arrayElementRef?.release();
434
- this.callFunctionRef?.release();
435
- // Store references so they can be released on the next call or on dispose()
436
- this.valueAtPathRef = getValueAtPath;
437
- this.arrayElementRef = getArrayElement;
438
- this.callFunctionRef = callFunctionAtPath;
439
- // Register all callbacks in isolate global context
440
- this.context.global.setSync('__getValueAtPath', getValueAtPath);
441
- this.context.global.setSync('__getArrayElement', getArrayElement);
442
- this.context.global.setSync('__callFunctionAtPath', callFunctionAtPath);
443
- this.logger.debug('[IsolatedVmBridge] Callbacks registered successfully');
444
401
  }
445
402
  /**
446
403
  * Execute JavaScript code in the isolated context.
447
404
  *
448
405
  * Flow:
449
- * 1. Register callbacks as ivm.Reference for cross-isolate communication
450
- * 2. Call resetDataProxies() to initialize workflow data proxies
451
- * 3. Compile script (with caching for performance)
452
- * 4. Execute with timeout enforcement
453
- * 5. Return result (copied from isolate)
406
+ * 1. Create three ivm.Reference callbacks scoped to the current data
407
+ * 2. Use evalClosureSync to run the code in a closure where $0/$1/$2
408
+ * are the callback references no global mutable state
409
+ * 3. buildContext() inside the isolate creates a fresh evaluation context
410
+ * from the closure-scoped references
411
+ *
412
+ * Each call gets its own closure, so nested and concurrent evaluations
413
+ * cannot interfere with each other.
454
414
  *
455
415
  * @param code - JavaScript expression to evaluate
456
416
  * @param data - Workflow data (e.g., { $json: {...}, $runIndex: 0 })
@@ -461,59 +421,42 @@ export class IsolatedVmBridge {
461
421
  if (!this.initialized || !this.context) {
462
422
  throw new Error('Bridge not initialized. Call initialize() first.');
463
423
  }
424
+ const getValueAtPath = this.createGetValueAtPathRef(data);
425
+ const getArrayElement = this.createGetArrayElementRef(data);
426
+ const callFunctionAtPath = this.createCallFunctionAtPathRef(data);
464
427
  try {
465
- // Step 1: Register callbacks with current data context
466
- this.registerCallbacks(data);
467
- // Step 2: Reset proxies for this evaluation
468
- // This initializes $json, $binary, etc. as lazy proxies
469
- this.resetDataProxies(options?.timezone);
470
- // Step 3: Wrap transformed code so 'this' === __data in the isolate.
428
+ const timezone = options?.timezone ? JSON.stringify(options.timezone) : 'undefined';
429
+ // Wrap transformed code so 'this' === the closure-scoped context.
471
430
  // Tournament generates: this.$json.email, this.$items(), etc.
472
- // __data has $json, $items, etc. as lazy proxies (set in resetDataProxies).
431
+ // buildContext() creates a fresh context with lazy proxies from the
432
+ // closure-scoped callback references ($0, $1, $2) — no globals touched.
473
433
  // The outer try-catch serializes errors into a sentinel object and returns
474
434
  // it as the result. Errors from host callbacks arrive as sentinels already
475
435
  // (via serializeError), so we pass them through. This avoids a round-trip
476
436
  // callback and keeps Error reconstruction on the host side only.
477
437
  const wrappedCode = `
478
- (function() {
479
- try {
480
- var __result = (function() {
481
- ${code}
482
- }).call(__data);
483
- return __prepareForTransfer(__result);
484
- } catch(e) {
485
- if (e && e.__isError) return e;
486
- if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
487
- var extra = {};
488
- for (var k in e) {
489
- if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
490
- }
491
- return {
492
- __isError: true,
493
- name: e.name || "Error",
494
- message: e.message || "",
495
- stack: e.stack || "",
496
- extra: extra
497
- };
438
+ var __ctx = buildContext($0, $1, $2, ${timezone});
439
+ try {
440
+ var __result = (function() {
441
+ ${code}
442
+ }).call(__ctx);
443
+ return __prepareForTransfer(__result);
444
+ } catch(e) {
445
+ if (e && e.__isError) return e;
446
+ if (e == null) return { __isError: true, name: "Error", message: String(e), stack: "", extra: {} };
447
+ var extra = {};
448
+ for (var k in e) {
449
+ if (Object.prototype.hasOwnProperty.call(e, k) && k !== "name" && k !== "message" && k !== "stack") extra[k] = e[k];
498
450
  }
499
- })()`;
500
- // Cache key is `code` (tournament output), but the compiled script uses
501
- // `wrappedCode` which adds the try-catch/reportError wrapper. This works
502
- // because wrappedCode is a deterministic transform of code. If the wrapper
503
- // ever becomes parameterized (e.g., different wrapping based on options),
504
- // the cache key must include those parameters to avoid serving stale scripts.
505
- let script = this.scriptCache.get(code);
506
- if (!script) {
507
- script = this.isolate.compileScriptSync(wrappedCode);
508
- this.scriptCache.set(code, script);
509
- this.logger.debug('[IsolatedVmBridge] Script compiled and cached');
510
- }
511
- // Step 5: Execute with timeout and copy result back
512
- const result = script.runSync(this.context, {
513
- timeout: this.config.timeout,
514
- copy: true,
515
- });
516
- // Step 6: If the result is an error sentinel, reconstruct and throw
451
+ return {
452
+ __isError: true,
453
+ name: e.name || "Error",
454
+ message: e.message || "",
455
+ stack: e.stack || "",
456
+ extra: extra
457
+ };
458
+ }`;
459
+ const result = this.context.evalClosureSync(wrappedCode, [getValueAtPath, getArrayElement, callFunctionAtPath], { result: { copy: true }, timeout: this.config.timeout });
517
460
  if (isErrorSentinel(result)) {
518
461
  throw this.reconstructError(result);
519
462
  }
@@ -539,6 +482,11 @@ export class IsolatedVmBridge {
539
482
  }
540
483
  throw new Error(`Expression evaluation failed: ${errorMessage}`);
541
484
  }
485
+ finally {
486
+ getValueAtPath.release();
487
+ getArrayElement.release();
488
+ callFunctionAtPath.release();
489
+ }
542
490
  }
543
491
  /**
544
492
  * Reconstruct an error from serialized isolate data.
@@ -571,13 +519,8 @@ export class IsolatedVmBridge {
571
519
  if (!this.isolate.isDisposed) {
572
520
  this.isolate.dispose();
573
521
  }
574
- // Release callback references
575
- this.valueAtPathRef?.release();
576
- this.arrayElementRef?.release();
577
- this.callFunctionRef?.release();
578
522
  this.disposed = true;
579
523
  this.initialized = false;
580
- this.scriptCache.clear();
581
524
  this.logger.info('[IsolatedVmBridge] Disposed');
582
525
  }
583
526
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isolated-vm-bridge.js","sourceRoot":"","sources":["../../../src/bridge/isolated-vm-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjF,IAAI,IAAI,GAAsB,IAAI,CAAC;AAEnC,SAAS,MAAM;IACd,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,iEAAiE;QACjE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAe,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAE5E,wEAAwE;AACxE,SAAS,eAAe,CAAC,KAAc;IACtC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAiC,CAAC,SAAS,KAAK,IAAI,CACrD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,GAAY;IACnC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,CAAC,CAC7F,CAAC;QACF,OAAO;YACN,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,KAAK;SACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,iBAAiB;IAC/B,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACV,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,KAAK,CACd,kCAAkC,oBAAoB,sBAAsB,SAAS,EAAE,CACvF,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IACpB,OAAO,CAAc;IACrB,OAAO,CAAe;IACtB,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,MAAM,CAAyB;IAC/B,MAAM,CAAmC;IAEjD,YAAY,SAAuB,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG;YACb,GAAG,qBAAqB;YACxB,GAAG,MAAM;SACT,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEjC,mCAAmC;QACnC,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAElD,uBAAuB;QACvB,qDAAqD;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEjC,sDAAsD;QACtD,2DAA2D;QAC3D,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAE3C,mEAAmE;QACnE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,uCAAuC;QACvC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,yEAAyE;QACzE,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,mBAAmB;QAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACJ,iEAAiE;YACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAEhD,qCAAqC;YACrC,yIAAyI;YACzI,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAE7D,2CAA2C;YAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAE3E,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACd,yCAAyC,WAAW,YAAY,SAAS,EAAE,CAC3E,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,iBAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACJ,kDAAkD;YAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC9F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEvF,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC7E,MAAM,IAAI,KAAK,CACd,oCAAoC;oBACnC,uBAAuB,eAAe,IAAI;oBAC1C,cAAc,aAAa,eAAe,YAAY,IAAI;oBAC1D,gBAAgB,eAAe,EAAE,CAClC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACK,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcvB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACK,uBAAuB,CAAC,IAA6B;QAC5D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,EAAE;YAClD,IAAI,CAAC;gBACJ,oBAAoB;gBACpB,4EAA4E;gBAC5E,yEAAyE;gBACzE,IAAI,KAAK,GAAY,IAAI,CAAC;gBAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvB,KAAK,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;wBACtD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC3E,KAAK,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,KAAK,GAAI,KAAiC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC3C,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAClC,sCAAsC;oBACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;wBACxC,OAAO,SAAS,CAAC;oBAClB,CAAC;oBACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9D,CAAC;gBAED,oDAAoD;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO;wBACN,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,KAAK,CAAC,MAAM;wBACtB,MAAM,EAAE,IAAI;qBACZ,CAAC;gBACH,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACjD,OAAO;wBACN,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;qBAC1B,CAAC;gBACH,CAAC;gBAED,kBAAkB;gBAClB,OAAO,KAAK,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,wBAAwB,CAAC,IAA6B;QAC7D,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,KAAa,EAAE,EAAE;YACjE,IAAI,CAAC;gBACJ,oBAAoB;gBACpB,4EAA4E;gBAC5E,IAAI,GAAG,GAAY,IAAI,CAAC;gBACxB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAI,IAAgC,CAAC,KAAK,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvB,GAAG,GAAI,MAAiC,CAAC,SAAS,CAAC,CAAC;wBACpD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;wBAC3E,GAAG,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvD,UAAU,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,GAAG,GAAI,GAA+B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBACvC,OAAO,SAAS,CAAC;oBAClB,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE3B,8CAA8C;gBAC9C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5B,OAAO;4BACN,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,OAAO,CAAC,MAAM;4BACxB,MAAM,EAAE,IAAI;yBACZ,CAAC;oBACH,CAAC;oBACD,OAAO;wBACN,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;qBAC5B,CAAC;gBACH,CAAC;gBAED,oBAAoB;gBACpB,OAAO,OAAO,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,2BAA2B,CAAC,IAA6B;QAChE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAc,EAAE,GAAG,IAAe,EAAE,EAAE;YACtE,IAAI,CAAC;gBACJ,mEAAmE;gBACnE,IAAI,EAAE,GAAY,IAAI,CAAC;gBACvB,IAAI,MAAM,GAAY,SAAS,CAAC;gBAChC,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,QAAQ,GAAI,IAAgC,CAAC,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC3E,EAAE,GAAI,QAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,UAAU,GAAG,CAAC,CAAC;gBAChB,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,MAAM,GAAG,EAAE,CAAC;oBACZ,EAAE,GAAI,EAA8B,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACxD,CAAC;gBAED,qEAAqE;gBACrE,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC7C,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;gBAChF,CAAC;gBAED,oEAAoE;gBACpE,OAAQ,EAAwC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;YACxE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,IAAY,EAAE,IAA6B,EAAE,OAAwB;QAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAEpF,kEAAkE;YAClE,8DAA8D;YAC9D,oEAAoE;YACpE,wEAAwE;YACxE,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,iEAAiE;YACjE,MAAM,WAAW,GAAG;uCACgB,QAAQ;;;MAGzC,IAAI;;;;;;;;;;;;;;;;;EAiBR,CAAC;YAEA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1C,WAAW,EACX,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,CAAC,EACrD,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CACxD,CAAC;YAEF,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAEzE,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,uCAAuC;YACvC,qEAAqE;YACrE,6EAA6E;YAC7E,uEAAuE;YACvE,oCAAoC;YACpC,IACC,KAAK,YAAY,KAAK;gBACtB,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,EAC9E,CAAC;gBACF,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,YAAY,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,gBAAgB,CACzB,uCAAuC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAClE,EAAE,CACF,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACV,cAAc,CAAC,OAAO,EAAE,CAAC;YACzB,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1B,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,IAAmB;QAC3C,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACjD,CAAC;CACD"}