@tehw0lf/n8n-nodes-toon 1.4.5 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -318,11 +318,11 @@ Workflow: Fetch Data → JSON to TOON → Format Report → Send Email
318
318
 
319
319
  - **n8n version:** 0.200.0 or later
320
320
  - **Node.js:** 18.x or later
321
- - **TOON Specification:** v4.2
321
+ - **TOON Specification:** v4.4
322
322
 
323
323
  ## Specification Compliance
324
324
 
325
- This node implements **TOON Specification v4.2** in full: every normative requirement of Sections 1–16 for encoders and decoders, using the default options. Two additional convenience options fall outside the specification and are documented as [non-spec extensions](#non-spec-extensions) below.
325
+ This node implements **TOON Specification v4.4** in full for the decoder and, using the default options, for the encoder, with one known gap: the encoder still drops an own `__proto__` key (tracked in #45). Every other normative requirement of Sections 1–16 is implemented. Two additional convenience options fall outside the specification and are documented as [non-spec extensions](#non-spec-extensions) below.
326
326
 
327
327
  ### Implemented Features
328
328
 
@@ -342,7 +342,7 @@ This node implements **TOON Specification v4.2** in full: every normative requir
342
342
 
343
343
  ### Non-Spec Extensions
344
344
 
345
- ⚠️ These two options are **this node's own convenience features, not part of the TOON specification**. v4.2 treats dotted keys as ordinary literal keys with no structural meaning (§8), so output produced with key folding enabled decodes to dotted keys — not nested objects — in any conforming TOON implementation. Both default to `off`; leave them off for interoperable output.
345
+ ⚠️ These two options are **this node's own convenience features, not part of the TOON specification**. v4.4 treats dotted keys as ordinary literal keys with no structural meaning (§8), so output produced with key folding enabled decodes to dotted keys — not nested objects — in any conforming TOON implementation. Both default to `off`; leave them off for interoperable output.
346
346
 
347
347
  - **Key Folding** (`keyFolding: "safe"`) - Collapse nested single-key objects into dotted paths (e.g., `{a: {b: {c: 1}}}` → `a.b.c: 1`)
348
348
  - **Path Expansion** (`expandPaths: "safe"`) - Expand dotted keys back into nested objects during decoding
@@ -388,7 +388,14 @@ When enabled (default), the decoder validates:
388
388
  - Indentation multiples match expected indent size
389
389
  - Proper structure and syntax
390
390
 
391
- Disable for lenient parsing of hand-written TOON.
391
+ Disabling strict mode does not make the decoder lenient in general: every error condition of the specification still applies. Non-strict mode only applies these five recoveries (§14.4):
392
+ - Count mismatches (declared length versus actual items, rows, or entries) are ignored
393
+ - Duplicate keys at the same depth, and duplicate field names in a header, resolve by last-write-wins
394
+ - A tab in the indentation counts as one level
395
+ - Blank lines inside an array's rows, items, or entries are ignored
396
+ - A first line indented deeper than expected sets the scope's depth (a later line between the two depths is still an error)
397
+
398
+ Malformed headers, row width mismatches, over-indented lines, a first line indented at the root and trailing content after a root form are errors in both modes.
392
399
 
393
400
  ### Path Expansion
394
401
 
@@ -440,7 +447,7 @@ This node has **zero production dependencies**:
440
447
 
441
448
  **Cause:** TOON data doesn't match expected structure.
442
449
 
443
- **Solution:** Disable strict mode or fix indentation/counts in TOON data.
450
+ **Solution:** Fix the TOON data. Disabling strict mode only relaxes count mismatches and the other recoveries listed under [Strict Mode](#strict-mode); every other error still applies.
444
451
 
445
452
  ### Issue: Key folding conflicts
446
453
 
@@ -495,7 +502,7 @@ See [`.github/workflows/security-scan.yml`](.github/workflows/security-scan.yml)
495
502
 
496
503
  ## Resources
497
504
 
498
- - **TOON Specification v4.2:** Official spec at [github.com/toon-format/spec](https://github.com/toon-format/spec) or see [SPEC.md](SPEC.md) in this repository
505
+ - **TOON Specification v4.4:** Official spec at [github.com/toon-format/spec](https://github.com/toon-format/spec) or see [SPEC.md](SPEC.md) in this repository
499
506
  - **n8n Documentation:** https://docs.n8n.io/
500
507
  - **Community Nodes Guide:** https://docs.n8n.io/integrations/community-nodes/
501
508
  - **GitHub Repository:** https://github.com/tehw0lf/n8n-nodes-toon
@@ -515,4 +522,4 @@ Contributions are welcome! Please open an issue or pull request on GitHub.
515
522
 
516
523
  ---
517
524
 
518
- **Note:** This node implements the [TOON Specification v4.2](https://github.com/toon-format/spec). See `SPEC.md` for complete format documentation or visit the official spec repository.
525
+ **Note:** This node implements the [TOON Specification v4.4](https://github.com/toon-format/spec). See `SPEC.md` for complete format documentation or visit the official spec repository.
@@ -188,7 +188,7 @@ class Toon {
188
188
  name: 'strict',
189
189
  type: 'boolean',
190
190
  default: true,
191
- description: 'Whether to enforce array counts, indentation multiples, and validation rules',
191
+ description: 'Whether to enforce array counts, indentation multiples, and validation rules. When off, count mismatches are ignored, duplicate keys and duplicate field names use last-write-wins, tabs are accepted in indentation, blank lines inside arrays are allowed, and a first line indented deeper than expected sets the scope depth. Every other decode error still applies',
192
192
  },
193
193
  ],
194
194
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Toon.node.js","sourceRoot":"","sources":["../../../nodes/Toon/Toon.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Toon.node.js","sourceRoot":"","sources":["../../../nodes/Toon/Toon.node.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,6 @@ export declare class ToonDecoder {
13
13
  private peek;
14
14
  private parseRoot;
15
15
  private checkNoTrailingContent;
16
- private rejectScalarLine;
17
16
  private tryParseHeader;
18
17
  private parseObject;
19
18
  private assignKey;
@@ -80,15 +80,18 @@ class ToonDecoder {
80
80
  line,
81
81
  });
82
82
  }
83
- line = line.replace(/^[ \t]+/, (ws) => ws.replace(/\t/g, ''));
84
83
  }
85
- const indent = (_b = (_a = line.match(/^( *)/)) === null || _a === void 0 ? void 0 : _a[1].length) !== null && _b !== void 0 ? _b : 0;
84
+ const leading = (_b = (_a = line.match(/^[ \t]*/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : '';
85
+ const tabs = leading.replace(/ /g, '').length;
86
+ const indent = leading.length - tabs;
87
+ const depth = tabs + Math.floor(indent / this.options.indent);
86
88
  if (this.options.strict && indent % this.options.indent !== 0) {
87
89
  throw new types_1.ToonDecodingError(`Indentation must be multiple of ${this.options.indent}, got ${indent} spaces`, { lineNumber, line });
88
90
  }
89
91
  parsed.push({
90
- content: line.slice(indent),
92
+ content: line.slice(leading.length),
91
93
  indent,
94
+ depth,
92
95
  lineNumber,
93
96
  isEmpty: false,
94
97
  blankBefore,
@@ -117,7 +120,7 @@ class ToonDecoder {
117
120
  }
118
121
  }
119
122
  depthOf(line) {
120
- return Math.floor(line.indent / this.options.indent);
123
+ return line.depth;
121
124
  }
122
125
  peek() {
123
126
  return this.pos < this.lines.length ? this.lines[this.pos] : null;
@@ -125,7 +128,7 @@ class ToonDecoder {
125
128
  parseRoot() {
126
129
  const first = this.lines[0];
127
130
  const content = first.content;
128
- if (this.options.strict && this.depthOf(first) !== 0) {
131
+ if (this.depthOf(first) !== 0) {
129
132
  throw new types_1.ToonDecodingError('Root content must start at depth 0', {
130
133
  lineNumber: first.lineNumber,
131
134
  line: first.content,
@@ -166,28 +169,14 @@ class ToonDecoder {
166
169
  if (next === null) {
167
170
  return;
168
171
  }
169
- if (this.options.strict) {
170
- throw new types_1.ToonDecodingError('Trailing content after completed root form', {
171
- lineNumber: next.lineNumber,
172
- line: next.content,
173
- });
174
- }
175
- for (let i = this.pos; i < this.lines.length; i++) {
176
- this.rejectScalarLine(this.lines[i], 'Scalar line after completed root form');
177
- }
178
- this.pos = this.lines.length;
179
- }
180
- rejectScalarLine(line, message) {
181
- if (utils.findUnquoted(line.content, ':') < 0) {
182
- throw new types_1.ToonDecodingError(message, {
183
- lineNumber: line.lineNumber,
184
- line: line.content,
185
- });
186
- }
172
+ throw new types_1.ToonDecodingError('Trailing content after completed root form', {
173
+ lineNumber: next.lineNumber,
174
+ line: next.content,
175
+ });
187
176
  }
188
177
  tryParseHeader(line) {
189
- const outcome = utils.tryParseHeader(line.content);
190
- if (outcome.error !== null && this.options.strict) {
178
+ const outcome = utils.tryParseHeader(line.content, !this.options.strict);
179
+ if (outcome.error !== null) {
191
180
  throw new types_1.ToonDecodingError(outcome.error, {
192
181
  lineNumber: line.lineNumber,
193
182
  line: line.content,
@@ -204,12 +193,7 @@ class ToonDecoder {
204
193
  break;
205
194
  }
206
195
  if (lineDepth !== depth) {
207
- if (this.options.strict) {
208
- throw new types_1.ToonDecodingError('Over-indented line: no enclosing scope was opened', { lineNumber: line.lineNumber, line: line.content });
209
- }
210
- this.rejectScalarLine(line, 'Over-indented scalar line');
211
- this.pos++;
212
- continue;
196
+ throw new types_1.ToonDecodingError('Over-indented line: no enclosing scope was opened', { lineNumber: line.lineNumber, line: line.content });
213
197
  }
214
198
  this.checkBlankInSpan(line, 0);
215
199
  const { key, value } = this.parseFieldLine(line, depth);
@@ -230,17 +214,13 @@ class ToonDecoder {
230
214
  const header = this.tryParseHeader(line);
231
215
  if (header !== null) {
232
216
  if (header.key === null) {
233
- if (this.options.strict) {
234
- throw new types_1.ToonDecodingError('Keyless header is not valid in object-field position', { lineNumber: line.lineNumber, line: line.content });
235
- }
236
- }
237
- else {
238
- this.pos++;
239
- const value = header.keyed
240
- ? this.parseKeyedTabularBody(header, depth + 1)
241
- : this.parseArrayBodyAfterHeader(header, depth);
242
- return { key: header.key, value };
217
+ throw new types_1.ToonDecodingError('Keyless header is not valid in object-field position', { lineNumber: line.lineNumber, line: line.content });
243
218
  }
219
+ this.pos++;
220
+ const value = header.keyed
221
+ ? this.parseKeyedTabularBody(header, depth + 1)
222
+ : this.parseArrayBodyAfterHeader(header, depth);
223
+ return { key: header.key, value };
244
224
  }
245
225
  const colonIndex = utils.findUnquoted(line.content, ':');
246
226
  if (colonIndex < 0) {
@@ -324,9 +304,10 @@ class ToonDecoder {
324
304
  break;
325
305
  }
326
306
  if (this.depthOf(line) < rowDepth) {
327
- this.rejectScalarLine(line, 'Over-indented scalar line in tabular scope');
328
- this.pos++;
329
- continue;
307
+ throw new types_1.ToonDecodingError('Over-indented line in tabular scope', {
308
+ lineNumber: line.lineNumber,
309
+ line: line.content,
310
+ });
330
311
  }
331
312
  if (this.depthOf(line) !== rowDepth) {
332
313
  break;
@@ -351,9 +332,7 @@ class ToonDecoder {
351
332
  const obj = {};
352
333
  for (const entry of entries) {
353
334
  if (entry.children === null) {
354
- if (index < cells.length) {
355
- utils.setDecodedKey(obj, entry.name, this.parseValueToken(cells[index], line));
356
- }
335
+ utils.setDecodedKey(obj, entry.name, this.parseValueToken(cells[index], line));
357
336
  index++;
358
337
  }
359
338
  else {
@@ -388,26 +367,17 @@ class ToonDecoder {
388
367
  break;
389
368
  }
390
369
  if (this.depthOf(line) !== entryDepth) {
391
- if (this.options.strict) {
392
- throw new types_1.ToonDecodingError('Over-indented line in keyed tabular scope', {
393
- lineNumber: line.lineNumber,
394
- line: line.content,
395
- });
396
- }
397
- this.rejectScalarLine(line, 'Over-indented scalar line in keyed tabular scope');
398
- this.pos++;
399
- continue;
370
+ throw new types_1.ToonDecodingError('Over-indented line in keyed tabular scope', {
371
+ lineNumber: line.lineNumber,
372
+ line: line.content,
373
+ });
400
374
  }
401
375
  const colonIndex = utils.findUnquoted(line.content, ':');
402
376
  if (colonIndex < 0) {
403
- if (this.options.strict) {
404
- throw new types_1.ToonDecodingError('Line at entry depth without an unquoted colon', {
405
- lineNumber: line.lineNumber,
406
- line: line.content,
407
- });
408
- }
409
- this.pos++;
410
- continue;
377
+ throw new types_1.ToonDecodingError('Line at entry depth without an unquoted colon', {
378
+ lineNumber: line.lineNumber,
379
+ line: line.content,
380
+ });
411
381
  }
412
382
  this.checkBlankInSpan(line, count);
413
383
  const entryKey = this.decodeKeyToken(line.content.slice(0, colonIndex), line);
@@ -436,15 +406,10 @@ class ToonDecoder {
436
406
  break;
437
407
  }
438
408
  if (lineDepth !== itemDepth) {
439
- if (this.options.strict) {
440
- throw new types_1.ToonDecodingError('Over-indented line in list scope', {
441
- lineNumber: line.lineNumber,
442
- line: line.content,
443
- });
444
- }
445
- this.rejectScalarLine(line, 'Over-indented scalar line in list scope');
446
- this.pos++;
447
- continue;
409
+ throw new types_1.ToonDecodingError('Over-indented line in list scope', {
410
+ lineNumber: line.lineNumber,
411
+ line: line.content,
412
+ });
448
413
  }
449
414
  this.checkBlankInSpan(line, items.length);
450
415
  items.push(this.withinHeaderSpan(() => this.parseListItem(line, itemDepth)));
@@ -460,7 +425,7 @@ class ToonDecoder {
460
425
  this.pos++;
461
426
  return {};
462
427
  }
463
- const rest = line.content.slice(2);
428
+ const rest = line.content.replace(/^- +/, '');
464
429
  if (rest === '[]') {
465
430
  this.pos++;
466
431
  return [];
@@ -468,6 +433,7 @@ class ToonDecoder {
468
433
  const inner = {
469
434
  content: rest,
470
435
  indent: line.indent + 2,
436
+ depth: line.depth + 1,
471
437
  lineNumber: line.lineNumber,
472
438
  isEmpty: false,
473
439
  blankBefore: false,
@@ -476,7 +442,7 @@ class ToonDecoder {
476
442
  if (header !== null) {
477
443
  this.pos++;
478
444
  if (header.key === null) {
479
- if (header.fields !== null && this.options.strict) {
445
+ if (header.fields !== null) {
480
446
  throw new types_1.ToonDecodingError('Keyless fields-bearing header is not valid as a list item', { lineNumber: line.lineNumber, line: line.content });
481
447
  }
482
448
  return this.parseArrayContent(header, itemDepth + 1);
@@ -517,12 +483,7 @@ class ToonDecoder {
517
483
  break;
518
484
  }
519
485
  if (lineDepth > fieldDepth) {
520
- if (this.options.strict) {
521
- break;
522
- }
523
- this.rejectScalarLine(line, 'Over-indented scalar line');
524
- this.pos++;
525
- continue;
486
+ break;
526
487
  }
527
488
  this.checkBlankInSpan(line, 1);
528
489
  const { key, value } = this.parseFieldLine(line, fieldDepth);
@@ -536,7 +497,7 @@ class ToonDecoder {
536
497
  }
537
498
  }
538
499
  checkWidth(actual, expected, line) {
539
- if (this.options.strict && actual !== expected) {
500
+ if (actual !== expected) {
540
501
  throw new types_1.ToonDecodingError(`Row width mismatch: expected ${expected} cells, got ${actual}`, { lineNumber: line.lineNumber, line: line.content });
541
502
  }
542
503
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToonDecoder.js","sourceRoot":"","sources":["../../../nodes/Toon/ToonDecoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToonDecoder.js","sourceRoot":"","sources":["../../../nodes/Toon/ToonDecoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,mCAA4C;AAC5C,mDAAqC;AAErC,MAAa,WAAW;IAgBtB,YAAY,OAAuB;QAZ3B,UAAK,GAAiB,EAAE,CAAC;QAGzB,QAAG,GAAG,CAAC,CAAC;QAOR,iBAAY,GAAG,KAAK,CAAC;QAG3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAKD,MAAM,CAAC,QAAgB;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAGb,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAG9B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAiC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAMO,UAAU,CAAC,IAAY;;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAIhC,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAEzC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAG1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAE/B,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;YAIzB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAOD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,GAAG,IAAI,CAAC;gBACnB,SAAS;YACX,CAAC;YAID,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,IAAI,yBAAiB,CAAC,iCAAiC,EAAE;wBAC7D,UAAU;wBACV,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAID,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAG9D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,yBAAiB,CACzB,mCAAmC,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,MAAM,SAAS,EAC9E,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBACnC,MAAM;gBACN,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,KAAK;gBACd,WAAW;aACZ,CAAC,CAAC;YAEH,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAKO,gBAAgB,CAAI,KAAc;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,KAAK,EAAE,CAAC;QACjB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;QAC/B,CAAC;IACH,CAAC;IAYO,gBAAgB,CAAC,IAAgB,EAAE,IAAY;QACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,IAAI,yBAAiB,CAAC,iCAAiC,EAAE;gBAC7D,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAKO,OAAO,CAAC,IAAgB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,IAAI;QACV,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAKO,SAAS;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAK9B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,yBAAiB,CAAC,oCAAoC,EAAE;gBAChE,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,KAAK,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAID,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAI1C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAExE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAID,IACE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,EACpC,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YACb,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAID,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACxB,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;YACzC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CACjC,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,yBAAiB,CACzB,qEAAqE,EACrE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAKO,sBAAsB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,yBAAiB,CAAC,4CAA4C,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IASO,cAAc,CAAC,IAAgB;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,yBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAKO,WAAW,CAAC,KAAa,EAAE,QAAgB,KAAK;QACtD,MAAM,GAAG,GAA4B,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAIrC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YAKD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,MAAM,IAAI,yBAAiB,CACzB,mDAAmD,EACnD,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CACpD,CAAC;YACJ,CAAC;YAID,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAE/B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAKO,SAAS,CACf,GAA4B,EAC5B,GAAW,EACX,IAAgB;QAEhB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1E,MAAM,IAAI,yBAAiB,CAAC,kBAAkB,GAAG,qBAAqB,EAAE;gBACtE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;IAEH,CAAC;IAKO,cAAc,CACpB,IAAgB,EAChB,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAEpB,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,yBAAiB,CACzB,sDAAsD,EACtD,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CACpD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;gBACxB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;QAGD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,yBAAiB,CAAC,8BAA8B,EAAE;gBAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,EAAE,CAAC;QAGX,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1D,CAAC;QAGD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;IAKO,gBAAgB,CAAC,KAAa;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YAEjD,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,yBAAiB,CACzB,kEAAkE,EAClE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CACpD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IASO,UAAU,CAAC,QAAgB;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ;YACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAMO,yBAAyB,CAC/B,MAA0B,EAC1B,WAAmB;QAEnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAKO,cAAc,CAAC,MAA0B,EAAE,WAAmB;QACpE,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAKO,iBAAiB,CACvB,MAA0B,EAC1B,YAAoB;;QAGpB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,yBAAiB,CAAC,6CAA6C,EAAE;gBACzE,UAAU,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,0CAAE,UAAU;gBAChD,IAAI,EAAE,MAAM,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,KAAK;iBACjB,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC;iBAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAChB,CAAC;QAGD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAGD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAKO,gBAAgB,CACtB,MAA0B,EAC1B,QAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC;QACvB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YAID,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC;gBAClC,MAAM,IAAI,yBAAiB,CAAC,qCAAqC,EAAE;oBACjE,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM;YACR,CAAC;YAGD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAEtE,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC;gBAEnE,MAAM;YACR,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,cAAc,CACpB,KAAe,EACf,MAAoB,EACpB,IAAgB;QAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG,CAAC,OAAqB,EAA2B,EAAE;YAC9D,MAAM,GAAG,GAA4B,EAAE,CAAC;YAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAE5B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC/E,KAAK,EAAE,CAAC;gBACV,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAKO,iBAAiB,CACvB,MAA0B,EAC1B,WAAmB;QAEnB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAKO,qBAAqB,CAC3B,MAA0B,EAC1B,UAAkB;;QAGlB,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,yBAAiB,CAAC,oCAAoC,EAAE;gBAChE,UAAU,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,0CAAE,UAAU;gBAChD,IAAI,EAAE,MAAM,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAGlC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC/B,MAAM;YACR,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,yBAAiB,CAAC,2CAA2C,EAAE;oBACvE,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;YAGD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,yBAAiB,CAAC,+CAA+C,EAAE;oBAC3E,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YAGlE,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7E,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1D,OAAO,GAAG,CAAC;IACb,CAAC;IAKO,cAAc,CAAC,MAA0B,EAAE,SAAiB;QAClE,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;gBACtB,MAAM;YACR,CAAC;YAID,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,MAAM;YACR,CAAC;YAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,yBAAiB,CAAC,kCAAkC,EAAE;oBAC9D,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAKO,cAAc,CAAC,IAAgB;QACrC,OAAO,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAKO,aAAa,CAAC,IAAgB,EAAE,SAAiB;QAEvD,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAG9C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAID,MAAM,KAAK,GAAe;YACxB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;SACnB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,EAAE,CAAC;YAIX,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAC3B,MAAM,IAAI,yBAAiB,CACzB,2DAA2D,EAC3D,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CACpD,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;YAID,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,CAAC,aAAa,CACjB,GAAG,EACH,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,KAAK;gBACV,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAClD,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QAGD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,EAAE,CAAC;YAEX,MAAM,GAAG,GAA4B,EAAE,CAAC;YAExC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBAC5B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBAEN,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC;QAGD,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAKO,uBAAuB,CAC7B,GAA4B,EAC5B,UAAkB;QAElB,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAIlC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;gBAC3B,MAAM;YACR,CAAC;YACD,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;gBAE3B,MAAM;YACR,CAAC;YAGD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAE/B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAKO,UAAU,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,yBAAiB,CACzB,sBAAsB,IAAI,cAAc,QAAQ,SAAS,MAAM,EAAE,CAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAMO,UAAU,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAgB;QACnE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,yBAAiB,CACzB,gCAAgC,QAAQ,eAAe,MAAM,EAAE,EAC/D,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAKO,cAAc,CAAC,KAAa,EAAE,IAAgB;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAG5B,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAE7D,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,yBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE;oBACzC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,IAAI,EAAE,IAAI,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC,KAAe,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAKO,eAAe,CAAC,KAAa,EAAE,IAA4B;QACjE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAGxC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEhE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,yBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE;oBACzC,UAAU,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU;oBAC5B,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC,KAAe,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAKO,WAAW,CAAC,GAA4B;QAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBAEN,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAgC,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAKO,YAAY,CAAC,GAAW;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAKO,OAAO,CAAC,GAA4B,EAAE,IAAc,EAAE,KAAc;QAC1E,IAAI,OAAO,GAA4B,GAAG,CAAC;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAGxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,yBAAiB,CACzB,iCAAiC,OAAO,mCAAmC,CAC5E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAElD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,IAAI,yBAAiB,CACzB,+BAA+B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CACpH,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YAGD,OAAO,GAAG,OAAO,CAAC,OAAO,CAA4B,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAG1C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,yBAAiB,CACzB,iCAAiC,WAAW,mCAAmC,CAChF,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,yBAAiB,CACzB,2CAA2C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;CACF;AA17BD,kCA07BC"}
@@ -39,8 +39,8 @@ export interface HeaderParseOutcome {
39
39
  header: ParsedHeader | null;
40
40
  error: string | null;
41
41
  }
42
- export declare function tryParseHeader(content: string): HeaderParseOutcome;
43
- export declare function parseHeader(content: string): ParsedHeader | null;
42
+ export declare function tryParseHeader(content: string, tolerateDuplicateFields?: boolean): HeaderParseOutcome;
43
+ export declare function parseHeader(content: string, tolerateDuplicateFields?: boolean): ParsedHeader | null;
44
44
  export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
45
45
  export declare function setDecodedKey(obj: Record<string, unknown>, key: string, value: unknown): void;
46
46
  export declare function isSafeKey(key: string): boolean;
@@ -367,7 +367,7 @@ function parseFieldList(body, delimiter) {
367
367
  if (!entry.endsWith('}')) {
368
368
  throw new Error(`Unmatched braces in field list: ${entry}`);
369
369
  }
370
- if (/\s$/.test(entry.slice(0, bracePos))) {
370
+ if (/[ \t]$/.test(entry.slice(0, bracePos))) {
371
371
  throw new Error(`Whitespace between field name and nested field group: ${entry}`);
372
372
  }
373
373
  const name = decodeFieldName(entry.slice(0, bracePos));
@@ -423,6 +423,9 @@ function splitFieldEntries(body, delimiter) {
423
423
  i++;
424
424
  continue;
425
425
  }
426
+ else if ((char === ',' || char === '\t' || char === '|') && char !== delimiter) {
427
+ throw new Error(`Delimiter in field list does not match the declared delimiter: ${JSON.stringify(char)}`);
428
+ }
426
429
  }
427
430
  current += char;
428
431
  i++;
@@ -448,15 +451,15 @@ function parseToken(token) {
448
451
  }
449
452
  return token;
450
453
  }
451
- function tryParseHeader(content) {
454
+ function tryParseHeader(content, tolerateDuplicateFields = false) {
452
455
  try {
453
- return { header: parseHeader(content), error: null };
456
+ return { header: parseHeader(content, tolerateDuplicateFields), error: null };
454
457
  }
455
458
  catch (error) {
456
459
  return { header: null, error: error.message };
457
460
  }
458
461
  }
459
- function parseHeader(content) {
462
+ function parseHeader(content, tolerateDuplicateFields = false) {
460
463
  const firstColon = findUnquoted(content, ':');
461
464
  const firstBracket = findUnquoted(content, '[');
462
465
  if (firstColon < 0 ||
@@ -471,7 +474,7 @@ function parseHeader(content) {
471
474
  throw new Error(`Missing closing bracket in header: ${content}`);
472
475
  }
473
476
  const segment = rest.slice(1, closing);
474
- if (/\s/.test(keyPart)) {
477
+ if (/[ \t]$/.test(keyPart)) {
475
478
  throw new Error(`Whitespace between key and bracket segment: ${content}`);
476
479
  }
477
480
  const parsedSegment = parseBracketSegment(segment);
@@ -501,7 +504,7 @@ function parseHeader(content) {
501
504
  if (keyed && fields === null) {
502
505
  throw new Error(`Keyed header requires a field list: ${content}`);
503
506
  }
504
- if (fields !== null) {
507
+ if (fields !== null && !tolerateDuplicateFields) {
505
508
  const duplicate = findDuplicateFieldName(fields);
506
509
  if (duplicate !== null) {
507
510
  throw new Error(`Duplicate field name in header field list: ${duplicate}`);