n8n-workflow 1.120.14 → 1.120.15

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.
@@ -1,9 +1,52 @@
1
+ import type { ObservabilityProvider } from '@n8n/expression-runtime';
1
2
  import type { IDataObject, IExecuteData, INode, INodeExecutionData, INodeParameterResourceLocator, INodeParameters, IWorkflowDataProxyAdditionalKeys, NodeParameterValue, NodeParameterValueType, WorkflowExecuteMode } from './interfaces';
2
3
  import type { Workflow } from './workflow';
3
4
  import type { IRunExecutionData } from './run-execution-data/run-execution-data';
4
5
  export declare class Expression {
5
6
  private readonly workflow;
6
7
  constructor(workflow: Workflow);
8
+ private static expressionEngine;
9
+ private static vmEvaluator?;
10
+ /**
11
+ * Check if VM evaluator should be used for evaluation.
12
+ * @private
13
+ */
14
+ private static shouldUseVm;
15
+ /**
16
+ * Initialize the VM evaluator (if feature flag is enabled).
17
+ * Should be called once during application startup.
18
+ * Only available in Node.js environments (not in browser).
19
+ */
20
+ static initExpressionEngine(options: {
21
+ engine: 'legacy' | 'vm';
22
+ bridgeTimeout: number;
23
+ bridgeMemoryLimit: number;
24
+ poolSize: number;
25
+ maxCodeCacheSize: number;
26
+ observability?: ObservabilityProvider;
27
+ idleTimeoutMs?: number;
28
+ }): Promise<void>;
29
+ acquireIsolate(): Promise<void>;
30
+ releaseIsolate(): Promise<void>;
31
+ /**
32
+ * Dispose the VM evaluator and release resources.
33
+ * Should be called during application shutdown or test teardown.
34
+ */
35
+ static disposeExpressionEngine(): Promise<void>;
36
+ /**
37
+ * Get the active expression evaluation implementation.
38
+ * Used for testing and verification.
39
+ */
40
+ static getActiveImplementation(): 'legacy' | 'vm';
41
+ /**
42
+ * Set the expression engine programmatically.
43
+ *
44
+ * WARNING: This is a global setting — switching engines mid-execution could
45
+ * cause a workflow to evaluate some expressions with one engine and some with
46
+ * another. Only use this in benchmarks and tests, never in production code.
47
+ * In production, set `N8N_EXPRESSION_ENGINE` before process startup instead.
48
+ */
49
+ static setExpressionEngine(engine: 'legacy' | 'vm'): void;
7
50
  static initializeGlobalContext(data: IDataObject): void;
8
51
  static resolveWithoutWorkflow(expression: string, data?: IDataObject): string | (() => unknown) | null;
9
52
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,gCAAgC,EAEhC,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAuJjF,qBAAa,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW;IAgJhD,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB;IAIxE;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiCjD;;;;;;OAMG;IAGH,2BAA2B,CAC1B,cAAc,EAAE,kBAAkB,EAClC,iBAAiB,EAAE,eAAe,EAClC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE;IAwFlF,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACH,uBAAuB,CACtB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAC5C,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAClD,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE;IAyBpD;;;;;OAKG;IACH,wBAAwB,CACvB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE,EAC/F,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,GAAE,sBAAsB,GAAG,SAAqB,EAC5D,QAAQ,KAAK,GACX,sBAAsB,GAAG,SAAS;IA2CrC;;;;;;;;OAQG;IAEH,iBAAiB,CAChB,cAAc,EAAE,sBAAsB,GAAG,6BAA6B,EACtE,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,sBAAsB;CAiGzB"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,58 @@
1
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
+ if (k2 === undefined) k2 = k;
3
+ var desc = Object.getOwnPropertyDescriptor(m, k);
4
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
+ desc = { enumerable: true, get: function() { return m[k]; } };
6
+ }
7
+ Object.defineProperty(o, k2, desc);
8
+ }) : (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ o[k2] = m[k];
11
+ }));
12
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
14
+ }) : function(o, v) {
15
+ o["default"] = v;
16
+ });
17
+ var __importStar = (this && this.__importStar) || (function () {
18
+ var ownKeys = function(o) {
19
+ ownKeys = Object.getOwnPropertyNames || function (o) {
20
+ var ar = [];
21
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
22
+ return ar;
23
+ };
24
+ return ownKeys(o);
25
+ };
26
+ return function (mod) {
27
+ if (mod && mod.__esModule) return mod;
28
+ var result = {};
29
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
30
+ __setModuleDefault(result, mod);
31
+ return result;
32
+ };
33
+ })();
1
34
  (function (factory) {
2
35
  if (typeof module === "object" && typeof module.exports === "object") {
3
36
  var v = factory(require, exports);
4
37
  if (v !== undefined) module.exports = v;
5
38
  }
6
39
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "luxon", "@n8n/errors", "./errors/expression-extension.error", "./errors/expression.error", "./expression-evaluator-proxy", "./expression-sandboxing", "./expressions/expression-helpers", "./extensions", "./extensions/expression-extension", "./extensions/extended-functions", "./global-state", "./run-execution-data-factory", "./workflow-data-proxy"], factory);
40
+ define(["require", "exports", "luxon", "@n8n/errors", "@n8n/expression-runtime", "./errors/expression-extension.error", "./errors/expression.error", "./expression-evaluator-proxy", "./expression-sandboxing", "./expressions/expression-helpers", "./logger-proxy", "./extensions", "./extensions/expression-extension", "./extensions/extended-functions", "./global-state", "./run-execution-data-factory", "./workflow-data-proxy"], factory);
8
41
  }
9
42
  })(function (require, exports) {
10
43
  "use strict";
44
+ var __syncRequire = typeof module === "object" && typeof module.exports === "object";
11
45
  Object.defineProperty(exports, "__esModule", { value: true });
12
46
  exports.Expression = void 0;
13
47
  const luxon_1 = require("luxon");
14
48
  const errors_1 = require("@n8n/errors");
49
+ const expression_runtime_1 = require("@n8n/expression-runtime");
15
50
  const expression_extension_error_1 = require("./errors/expression-extension.error");
16
51
  const expression_error_1 = require("./errors/expression.error");
17
52
  const expression_evaluator_proxy_1 = require("./expression-evaluator-proxy");
18
53
  const expression_sandboxing_1 = require("./expression-sandboxing");
19
54
  const expression_helpers_1 = require("./expressions/expression-helpers");
55
+ const LoggerProxy = __importStar(require("./logger-proxy"));
20
56
  const extensions_1 = require("./extensions");
21
57
  const expression_extension_1 = require("./extensions/expression-extension");
22
58
  const extended_functions_1 = require("./extensions/extended-functions");
@@ -36,6 +72,54 @@
36
72
  if (isExpressionError(error))
37
73
  throw error;
38
74
  });
75
+ /**
76
+ * Map errors from the VM expression evaluator to host-side error types.
77
+ *
78
+ * The VM bridge can only reconstruct plain Error objects with .name set,
79
+ * because it can't import ExpressionError/ExpressionExtensionError from
80
+ * packages/workflow without creating a circular dependency.
81
+ *
82
+ * TODO: Move this reconstruction into the bridge once expression-runtime
83
+ * can depend on workflow error classes (or a shared error package exists).
84
+ */
85
+ function mapVmError(error) {
86
+ if (isExpressionError(error))
87
+ return error;
88
+ // Runtime error types (TimeoutError, MemoryLimitError, etc.) must be
89
+ // checked before the name-based reconstruction below, because they
90
+ // extend the runtime's ExpressionError and share .name === 'ExpressionError'.
91
+ if (error instanceof expression_runtime_1.TimeoutError) {
92
+ const wrapped = new expression_error_1.ExpressionError('Expression timed out');
93
+ wrapped.cause = error;
94
+ return wrapped;
95
+ }
96
+ if (error instanceof expression_runtime_1.MemoryLimitError) {
97
+ const wrapped = new expression_error_1.ExpressionError('Expression exceeded memory limit');
98
+ wrapped.cause = error;
99
+ return wrapped;
100
+ }
101
+ if (error instanceof expression_runtime_1.SecurityViolationError) {
102
+ const wrapped = new expression_error_1.ExpressionError(error.message);
103
+ wrapped.cause = error;
104
+ return wrapped;
105
+ }
106
+ // Name-based reconstruction for errors that crossed the isolate boundary
107
+ if (error instanceof Error && error.name === 'ExpressionExtensionError') {
108
+ const reconstructed = new expression_extension_error_1.ExpressionExtensionError(error.message);
109
+ Object.assign(reconstructed, error);
110
+ return reconstructed;
111
+ }
112
+ if (error instanceof Error && error.name === 'ExpressionError') {
113
+ const reconstructed = new expression_error_1.ExpressionError(error.message);
114
+ Object.assign(reconstructed, error);
115
+ return reconstructed;
116
+ }
117
+ if (isSyntaxError(error))
118
+ return new expression_error_1.ExpressionError('invalid syntax');
119
+ if (error instanceof Error)
120
+ return error;
121
+ return new Error(String(error));
122
+ }
39
123
  /**
40
124
  * Creates a safe Object wrapper that removes dangerous static methods
41
125
  * that could be used to bypass property access sanitization.
@@ -158,6 +242,84 @@
158
242
  constructor(workflow) {
159
243
  this.workflow = workflow;
160
244
  }
245
+ static expressionEngine = 'legacy';
246
+ static vmEvaluator;
247
+ /**
248
+ * Check if VM evaluator should be used for evaluation.
249
+ * @private
250
+ */
251
+ static shouldUseVm() {
252
+ return this.expressionEngine === 'vm' && !IS_FRONTEND && !!this.vmEvaluator;
253
+ }
254
+ /**
255
+ * Initialize the VM evaluator (if feature flag is enabled).
256
+ * Should be called once during application startup.
257
+ * Only available in Node.js environments (not in browser).
258
+ */
259
+ static async initExpressionEngine(options) {
260
+ this.expressionEngine = options.engine;
261
+ if (options.engine !== 'vm' || IS_FRONTEND)
262
+ return;
263
+ if (!this.vmEvaluator) {
264
+ // Dynamic import to avoid loading expression-runtime in browser environments
265
+ const { ExpressionEvaluator, IsolatedVmBridge } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require('@n8n/expression-runtime'))) : new Promise((resolve_1, reject_1) => { require(['@n8n/expression-runtime'], resolve_1, reject_1); }).then(__importStar));
266
+ this.vmEvaluator = new ExpressionEvaluator({
267
+ createBridge: () => new IsolatedVmBridge({
268
+ timeout: options.bridgeTimeout,
269
+ memoryLimit: options.bridgeMemoryLimit,
270
+ logger: LoggerProxy,
271
+ }),
272
+ maxCodeCacheSize: options.maxCodeCacheSize,
273
+ poolSize: options.poolSize,
274
+ idleTimeoutMs: options.idleTimeoutMs,
275
+ hooks: {
276
+ before: [expression_sandboxing_1.ThisSanitizer],
277
+ after: [expression_sandboxing_1.PrototypeSanitizer, expression_sandboxing_1.DollarSignValidator],
278
+ },
279
+ logger: LoggerProxy,
280
+ observability: options.observability,
281
+ });
282
+ await this.vmEvaluator.initialize();
283
+ }
284
+ }
285
+ async acquireIsolate() {
286
+ if (Expression.vmEvaluator)
287
+ await Expression.vmEvaluator.acquire(this);
288
+ }
289
+ async releaseIsolate() {
290
+ if (Expression.vmEvaluator)
291
+ await Expression.vmEvaluator.release(this);
292
+ }
293
+ /**
294
+ * Dispose the VM evaluator and release resources.
295
+ * Should be called during application shutdown or test teardown.
296
+ */
297
+ static async disposeExpressionEngine() {
298
+ if (this.vmEvaluator) {
299
+ await this.vmEvaluator.dispose();
300
+ this.vmEvaluator = undefined;
301
+ }
302
+ }
303
+ /**
304
+ * Get the active expression evaluation implementation.
305
+ * Used for testing and verification.
306
+ */
307
+ static getActiveImplementation() {
308
+ if (this.shouldUseVm())
309
+ return 'vm';
310
+ return 'legacy';
311
+ }
312
+ /**
313
+ * Set the expression engine programmatically.
314
+ *
315
+ * WARNING: This is a global setting — switching engines mid-execution could
316
+ * cause a workflow to evaluate some expressions with one engine and some with
317
+ * another. Only use this in benchmarks and tests, never in production code.
318
+ * In production, set `N8N_EXPRESSION_ENGINE` before process startup instead.
319
+ */
320
+ static setExpressionEngine(engine) {
321
+ this.expressionEngine = engine;
322
+ }
161
323
  static initializeGlobalContext(data) {
162
324
  /**
163
325
  * Denylist
@@ -352,9 +514,31 @@
352
514
  }
353
515
  : {};
354
516
  Expression.initializeGlobalContext(data);
355
- // expression extensions
356
- data.extend = extensions_1.extend;
357
- data.extendOptional = extensions_1.extendOptional;
517
+ const usingVm = Expression.shouldUseVm();
518
+ // Expression extensions — only attached for the legacy engine.
519
+ //
520
+ // In the VM engine, function-typed bindings on `data` are
521
+ // structurally unreachable: the bridge's `getValueAtPath` returns
522
+ // `undefined` for any function-typed value, and the in-isolate
523
+ // runtime resolves helpers itself via Tournament's polyfill
524
+ // (see packages/@n8n/expression-runtime/src/runtime/context.ts,
525
+ // where bare `extend(...)` calls bind to the in-isolate copy on
526
+ // `target.extend`). Setting them on `data` in VM mode would be
527
+ // dead code.
528
+ if (!usingVm) {
529
+ data.extend = extensions_1.extend;
530
+ data.extendOptional = extensions_1.extendOptional;
531
+ }
532
+ // In VM mode, strip `$jmesPath` / `$jmespath` from the data proxy.
533
+ // WorkflowDataProxy adds them, but the in-isolate `target.$jmespath`
534
+ // shadows them via Tournament's polyfill (see
535
+ // packages/@n8n/expression-runtime/src/runtime/context.ts). The delete
536
+ // makes them unreachable via direct path lookup through the bridge
537
+ // too, so the bridge can never invoke the host-side copies.
538
+ if (usingVm) {
539
+ delete data.$jmesPath;
540
+ delete data.$jmespath;
541
+ }
358
542
  Object.defineProperty(data, expression_sandboxing_1.sanitizerName, {
359
543
  value: expression_sandboxing_1.sanitizer,
360
544
  writable: false,
@@ -388,6 +572,21 @@
388
572
  return returnValue;
389
573
  }
390
574
  renderExpression(expression, data) {
575
+ // Use VM evaluator if engine is set to 'vm' and we're not in the browser
576
+ if (Expression.expressionEngine === 'vm' && !IS_FRONTEND) {
577
+ if (!Expression.vmEvaluator) {
578
+ throw new errors_1.ApplicationError('N8N_EXPRESSION_ENGINE=vm is enabled but VM evaluator is not initialized. Call Expression.initExpressionEngine() during application startup.');
579
+ }
580
+ try {
581
+ const result = Expression.vmEvaluator.evaluate(expression, data, this, {
582
+ timezone: this.workflow.timezone,
583
+ });
584
+ return result;
585
+ }
586
+ catch (error) {
587
+ throw mapVmError(error);
588
+ }
589
+ }
391
590
  try {
392
591
  return (0, expression_evaluator_proxy_1.evaluateExpression)(expression, data);
393
592
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":";;;;;;;;;;;;IAAA,iCAAqD;IAErD,wCAA+C;IAC/C,oFAA+E;IAC/E,gEAA4D;IAC5D,6EAAmF;IACnF,mEAAmE;IACnE,yEAAgE;IAChE,6CAAsD;IACtD,4EAAiE;IACjE,wEAAoE;IACpE,iDAAgD;IAChD,6EAA2E;IAe3E,+DAA0D;IAG1D,MAAM,uBAAuB,GAC5B,OAAO,OAAO,KAAK,QAAQ;QAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QACjC,KAAK,IAAI,OAAO;QAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,WAAW,IAAI,uBAAuB,CAAC;IAE9E,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE,CAC9D,KAAK,YAAY,WAAW,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IAE1F,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA4B,EAAE,CACtE,KAAK,YAAY,kCAAe,IAAI,KAAK,YAAY,qDAAwB,CAAC;IAE/E,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAC1D,KAAK,YAAY,SAAS,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEtF,qCAAqC;IACrC,IAAA,4CAAe,EAAC,CAAC,KAAY,EAAE,EAAE;QAChC,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;OAYG;IACH,MAAM,gBAAgB,GAAG,GAAkB,EAAE;QAC5C,MAAM,UAAU,GAAG,CAAC,KAAoB,EAAU,EAAE;YACnD,8DAA8D;YAC9D,+DAA+D;YAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF,+CAA+C;QAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;YAC9B,wDAAwD;YACxD,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,0BAA0B;YAC1B,2BAA2B;YAC3B,iDAAiD;YACjD,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;SAClB,CAAC,CAAC;QAEH,+CAA+C;QAC/C,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;YACxB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACzB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAc,CAAC,EAAE,CAAC;oBACxC,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvB,OAAO,UAAU,CAAC;gBACnB,CAAC;gBAED,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,qEAAqE;YACrE,cAAc;gBACb,OAAO,KAAK,CAAC;YACd,CAAC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;QACtC,8BAA8B;QAC9B,mBAAmB;QACnB,mBAAmB;QACnB,iBAAiB;QACjB,iDAAiD;QACjD,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;QAClB,kBAAkB;KAClB,CAAC,CAAC;IAEH;;;;;;;;;OASG;IACH,MAAM,eAAe,GAAG,GAAiB,EAAE;QAC1C,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;YACvB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACzB,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAc,CAAC,EAAE,CAAC;oBAChD,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,GAAG;gBACF,mEAAmE;gBACnE,OAAO,KAAK,CAAC;YACd,CAAC;YACD,cAAc;gBACb,8DAA8D;gBAC9D,OAAO,KAAK,CAAC;YACd,CAAC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,uBAAuB,GAAG,CAA6B,UAAa,EAAK,EAAE;QAChF,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE;YAC5B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACzB,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAc,CAAC,EAAE,CAAC;oBAChD,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,GAAG;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;YACD,cAAc;gBACb,OAAO,KAAK,CAAC;YACd,CAAC;SACD,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAa,UAAU;QACO;QAA7B,YAA6B,QAAkB;YAAlB,aAAQ,GAAR,QAAQ,CAAU;QAAG,CAAC;QAEnD,MAAM,CAAC,uBAAuB,CAAC,IAAiB;YAC/C;;eAEG;YAEH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YAEf,SAAS;YACT,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAElB,gCAAgC;YAChC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB,gCAAgC;YAChC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAErB,mBAAmB;YACnB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YAEzB,8BAA8B;YAC9B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YAEjC,eAAe;YACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YAEtB,qBAAqB;YACrB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAEhB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAElC,aAAa;YACb,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAEnB;;eAEG;YAEH,QAAQ;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,gBAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,gBAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,gBAAQ,CAAC;YAEzB,4EAA4E;YAC5E,IAAI,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAEjC,SAAS;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,OAAO,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,cAAc,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAElF,cAAc;YACd,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,GAAG,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7D,4EAA4E;YAC5E,kEAAkE;YAClE,IAAI,CAAC,KAAK,GAAG,eAAe,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAElD,uBAAuB;YACvB,IAAI,CAAC,IAAI,GAAG,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpD,OAAO;YACP,uCAAuC;YACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,OAAO;YACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,uCAAuC;YACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,kBAAkB;YAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,iBAAiB,GAAG,OAAO,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAE7C,QAAQ;YACR,uCAAuC;YACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,MAAM,CAAC,sBAAsB,CAAC,UAAkB,EAAE,OAAoB,EAAE;YACvE,OAAO,IAAA,+CAAkB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED;;;;WAIG;QACH,0BAA0B,CAAC,KAAa;YACvC,IAAI,KAAK,YAAY,gBAAQ,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC/D,MAAM,IAAI,yBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC;YACf,CAAC;YAED,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC;YAClD,IAAI,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,QAAQ,GAAG,UAAU,CAAC;YACvB,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC3B,sFAAsF;gBACtF,MAAM,GAAG,gBAAQ,CAAC,UAAU,CAAC,KAAK,EAAE;oBACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAA,6BAAc,GAAE,CAAC,eAAe;iBAC1E,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,CAAC;iBAAM,IAAI,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,MAAM,GAAG,MAAM;iBACb,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,cAAc;iBACpC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc;YAEvC,OAAO,IAAI,QAAQ,KAAK,MAAM,GAAG,CAAC;QACnC,CAAC;QAED;;;;;;WAMG;QACH,oFAAoF;QACpF,sCAAsC;QACtC,2BAA2B,CAC1B,cAAkC,EAClC,iBAAkC,EAClC,gBAA0C,EAC1C,QAAgB,EAChB,SAAiB,EACjB,cAAsB,EACtB,mBAAyC,EACzC,IAAyB,EACzB,cAAgD,EAChD,WAA0B,EAC1B,oBAAoB,GAAG,KAAK,EAC5B,QAAQ,GAAG,EAAE,EACb,eAAwB;YAExB,+BAA+B;YAC/B,IAAI,CAAC,IAAA,iCAAY,EAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,mCAAmC;gBACnC,OAAO,cAAc,CAAC;YACvB,CAAC;YAED,mBAAmB;YAEnB,wBAAwB;YAExB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE1C,4DAA4D;YAC5D,MAAM,SAAS,GAAG,IAAI,uCAAiB,CACtC,IAAI,CAAC,QAAQ,EACb,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,CAAC,CAAC,EACF,QAAQ,EACR,eAAe,CACf,CAAC;YACF,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YAEtC,8CAA8C;YAC9C,IAAI,CAAC,OAAO;gBACX,OAAO,OAAO,KAAK,WAAW;oBAC7B,CAAC,CAAC;wBACA,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;wBAC3E,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,OAAO,EAAE,OAAO,CAAC,GAAG;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;qBAC1B;oBACF,CAAC,CAAC,EAAE,CAAC;YAEP,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAEzC,wBAAwB;YACxB,IAAI,CAAC,MAAM,GAAG,mBAAM,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,2BAAc,CAAC;YAErC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,qCAAa,EAAE;gBAC1C,KAAK,EAAE,iCAAS;gBAChB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sCAAiB,CAAC,CAAC;YAEvC,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC/D,IAAI,cAAc,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,kCAAe,CAAC,uDAAuD,EAAE;oBAClF,aAAa,EAAE,sEAAsE;oBACrF,QAAQ;oBACR,SAAS;iBACT,CAAC,CAAC;YACJ,CAAC;YAED,yBAAyB;YACzB,MAAM,kBAAkB,GAAG,IAAA,mCAAY,EAAC,cAAc,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACpE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU;oBAClC,MAAM,IAAI,yBAAgB,CAAC,+CAA+C,CAAC,CAAC;gBAE7E,MAAM,IAAI,yBAAgB,CAAC,mCAAmC,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,WAAW,CAAC;YACpB,CAAC;iBAAM,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpE,IAAI,oBAAoB,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;YAED,OAAO,WAAW,CAAC;QACpB,CAAC;QAEO,gBAAgB,CAAC,UAAkB,EAAE,IAA4B;YACxE,IAAI,CAAC;gBACJ,OAAO,IAAA,+CAAkB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,iBAAiB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAE1C,IAAI,aAAa,CAAC,KAAK,CAAC;oBAAE,MAAM,IAAI,yBAAgB,CAAC,gBAAgB,CAAC,CAAC;gBAEvE,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACtF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAEpE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;wBAAE,OAAO,IAAI,CAAC;oBAErC,MAAM,IAAI,yBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC;YACF,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAED;;;;WAIG;QACH,uBAAuB,CACtB,IAAW,EACX,cAA4C,EAC5C,IAAyB,EACzB,cAAgD,EAChD,WAA0B,EAC1B,YAAoD;YAEpD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAClC,yCAAyC;gBACzC,OAAO,YAAY,CAAC;YACrB,CAAC;YAED,mDAAmD;YACnD,MAAM,QAAQ,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,CAAC,CAAC;YACpB,MAAM,mBAAmB,GAAyB,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAA,wDAA2B,GAAE,CAAC;YAE9C,OAAO,IAAI,CAAC,iBAAiB,CAC5B,cAAc,EACd,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,IAAI,EACT,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,CAC8B,CAAC;QAC5C,CAAC;QAED;;;;;WAKG;QACH,wBAAwB,CACvB,IAAW,EACX,cAA+F,EAC/F,IAAyB,EACzB,cAAgD,EAChD,WAA0B,EAC1B,eAAmD,SAAS,EAC5D,QAAQ,GAAG,EAAE;YAEb,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAClC,yCAAyC;gBACzC,OAAO,YAAY,CAAC;YACrB,CAAC;YAED,mDAAmD;YACnD,MAAM,QAAQ,GAAG,CAAC,CAAC;YACnB,MAAM,SAAS,GAAG,CAAC,CAAC;YACpB,MAAM,mBAAmB,GAAyB,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAA,wDAA2B,GAAE,CAAC;YAE9C,kCAAkC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CACxC,cAAc,EACd,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,IAAI,EACT,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,KAAK,EACL,QAAQ,CACR,CAAC;YAEF,6BAA6B;YAC7B,OAAO,IAAI,CAAC,iBAAiB,CAC5B,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,IAAI,EACT,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,KAAK,EACL,QAAQ,CACR,CAAC;QACH,CAAC;QAED;;;;;;;;WAQG;QACH,oFAAoF;QACpF,iBAAiB,CAChB,cAAsE,EACtE,gBAA0C,EAC1C,QAAgB,EAChB,SAAiB,EACjB,cAAsB,EACtB,mBAAyC,EACzC,IAAyB,EACzB,cAAgD,EAChD,WAA0B,EAC1B,oBAAoB,GAAG,KAAK,EAC5B,QAAQ,GAAG,EAAE,EACb,eAAwB;YAExB,kFAAkF;YAClF,MAAM,kBAAkB,GAAG,CAAC,KAA6B,EAAE,EAAE;gBAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;YAClC,CAAC,CAAC;YAEF,uFAAuF;YACvF,MAAM,qBAAqB,GAAG,CAC7B,KAA6B,EAC7B,iBAAkC,EACjC,EAAE;gBACH,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC,iBAAiB,CAC5B,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,eAAe,CACf,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC,2BAA2B,CACtC,KAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,eAAe,CACf,CAAC;YACH,CAAC,CAAC;YAEF,yEAAyE;YACzE,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,2BAA2B,CACtC,cAAoC,EACpC,EAAE,EACF,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,IAAI,EACJ,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,eAAe,CACf,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,mBAAmB;gBACnB,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,qBAAqB,CAAC,IAA8B,EAAE,EAAE,CAAC,CACzD,CAAC;gBACF,OAAO,UAAsD,CAAC;YAC/D,CAAC;YAED,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,cAAc,CAAC;YACvB,CAAC;YAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACxC,OAAO,EAAE,CAAC;YACX,CAAC;YAED,oBAAoB;YACpB,MAAM,UAAU,GAAoB,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,qBAAqB,CACtC,KAA+B,EAC/B,cAAiC,CACjC,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,UAAU,CAAC;QACnB,CAAC;KACD;IAthBD,gCAshBC"}
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"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"}