@cyanheads/congressgov-mcp-server 0.5.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/AGENTS.md +3 -3
  2. package/CLAUDE.md +3 -3
  3. package/README.md +1 -1
  4. package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts +2 -0
  5. package/dist/mcp-server/tools/definitions/bill-lookup.tool.d.ts.map +1 -1
  6. package/dist/mcp-server/tools/definitions/bill-lookup.tool.js +2 -1
  7. package/dist/mcp-server/tools/definitions/bill-lookup.tool.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/bill-summaries.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/bill-summaries.tool.js +1 -0
  10. package/dist/mcp-server/tools/definitions/bill-summaries.tool.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts +1 -0
  12. package/dist/mcp-server/tools/definitions/committee-lookup.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/committee-lookup.tool.js +3 -2
  14. package/dist/mcp-server/tools/definitions/committee-lookup.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts +3 -0
  16. package/dist/mcp-server/tools/definitions/committee-reports.tool.d.ts.map +1 -1
  17. package/dist/mcp-server/tools/definitions/committee-reports.tool.js +2 -1
  18. package/dist/mcp-server/tools/definitions/committee-reports.tool.js.map +1 -1
  19. package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts +1 -0
  20. package/dist/mcp-server/tools/definitions/crs-reports.tool.d.ts.map +1 -1
  21. package/dist/mcp-server/tools/definitions/crs-reports.tool.js +2 -1
  22. package/dist/mcp-server/tools/definitions/crs-reports.tool.js.map +1 -1
  23. package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts +1 -0
  24. package/dist/mcp-server/tools/definitions/daily-record.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/daily-record.tool.js +2 -1
  26. package/dist/mcp-server/tools/definitions/daily-record.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts +1 -0
  28. package/dist/mcp-server/tools/definitions/enacted-laws.tool.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/definitions/enacted-laws.tool.js +2 -1
  30. package/dist/mcp-server/tools/definitions/enacted-laws.tool.js.map +1 -1
  31. package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts +1 -0
  32. package/dist/mcp-server/tools/definitions/member-lookup.tool.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/definitions/member-lookup.tool.js +4 -2
  34. package/dist/mcp-server/tools/definitions/member-lookup.tool.js.map +1 -1
  35. package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts +1 -0
  36. package/dist/mcp-server/tools/definitions/roll-votes.tool.d.ts.map +1 -1
  37. package/dist/mcp-server/tools/definitions/roll-votes.tool.js +2 -1
  38. package/dist/mcp-server/tools/definitions/roll-votes.tool.js.map +1 -1
  39. package/dist/mcp-server/tools/definitions/search-bills.tool.d.ts.map +1 -1
  40. package/dist/mcp-server/tools/definitions/search-bills.tool.js +2 -1
  41. package/dist/mcp-server/tools/definitions/search-bills.tool.js.map +1 -1
  42. package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts +1 -0
  43. package/dist/mcp-server/tools/definitions/senate-nominations.tool.d.ts.map +1 -1
  44. package/dist/mcp-server/tools/definitions/senate-nominations.tool.js +2 -1
  45. package/dist/mcp-server/tools/definitions/senate-nominations.tool.js.map +1 -1
  46. package/dist/mcp-server/tools/format-helpers.d.ts.map +1 -1
  47. package/dist/mcp-server/tools/format-helpers.js +34 -20
  48. package/dist/mcp-server/tools/format-helpers.js.map +1 -1
  49. package/dist/mcp-server/tools/tool-helpers.d.ts +9 -7
  50. package/dist/mcp-server/tools/tool-helpers.d.ts.map +1 -1
  51. package/dist/mcp-server/tools/tool-helpers.js +15 -8
  52. package/dist/mcp-server/tools/tool-helpers.js.map +1 -1
  53. package/dist/services/congress-documents/extract-text-stream.d.ts +4 -3
  54. package/dist/services/congress-documents/extract-text-stream.d.ts.map +1 -1
  55. package/dist/services/congress-documents/extract-text-stream.js +143 -6
  56. package/dist/services/congress-documents/extract-text-stream.js.map +1 -1
  57. package/dist/services/congress-documents/extract-text.d.ts +3 -2
  58. package/dist/services/congress-documents/extract-text.d.ts.map +1 -1
  59. package/dist/services/congress-documents/extract-text.js +44 -4
  60. package/dist/services/congress-documents/extract-text.js.map +1 -1
  61. package/package.json +4 -4
  62. package/server.json +3 -3
@@ -9,9 +9,10 @@
9
9
  * how much of it fits in a buffer. The two are pinned against each other by a
10
10
  * differential test — if this file drifts, that test fails, not production.
11
11
  *
12
- * The whole-string pipeline is `normalize newlines → strip comments → unwrap
13
- * <pre> → strip tags → decode entities → trim`, and three of those stages are
14
- * decided by content that arrives arbitrarily late:
12
+ * The whole-string pipeline is `normalize newlines → strip comments → choose
13
+ * verbatim <pre> or sibling-normalized XML → strip tags → decode entities →
14
+ * trim`, and three of those stages are decided by content that arrives
15
+ * arbitrarily late:
15
16
  *
16
17
  * - **Is there a `<pre>` at all?** Only a body with none is read whole. Both
17
18
  * readings run at once, in two sinks; the losing one is dropped the moment a
@@ -53,6 +54,9 @@ function isWhitespace(ch) {
53
54
  function isAsciiLetter(ch) {
54
55
  return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
55
56
  }
57
+ function isTagNameCharacter(ch) {
58
+ return isAsciiLetter(ch) || isDigit(ch) || ch === '_' || ch === ':' || ch === '-' || ch === '.';
59
+ }
56
60
  function isDigit(ch) {
57
61
  return ch >= '0' && ch <= '9';
58
62
  }
@@ -74,6 +78,15 @@ const ENTITY_HEX = 6;
74
78
  const MAX_ENTITY_NAME = 8;
75
79
  /** The largest code point a numeric reference can name. */
76
80
  const MAX_CODE_POINT = 0x10ffff;
81
+ /** Minimal tag classification needed for XML sibling-boundary normalization. */
82
+ const TAG_UNDECIDED = 0;
83
+ const TAG_OPEN = 1;
84
+ const TAG_CLOSE_SLASH = 2;
85
+ const TAG_CLOSE = 3;
86
+ const TAG_SPECIAL = 4;
87
+ const TAG_OTHER = 5;
88
+ const INLINE_XML_TAGS = new Set(['a', 'b', 'em', 'i', 'span', 'strong', 'sub', 'sup']);
89
+ const MAX_INLINE_TAG_NAME = 6;
77
90
  /**
78
91
  * One reading of the body: strips tags, decodes entities, trims, and keeps only
79
92
  * the characters inside the requested window.
@@ -85,6 +98,7 @@ const MAX_CODE_POINT = 0x10ffff;
85
98
  */
86
99
  class WindowSink {
87
100
  windowStart;
101
+ normalizeSiblingBoundaries;
88
102
  emitted = 0;
89
103
  entityDigits = '';
90
104
  entityHexMarker = '';
@@ -92,13 +106,22 @@ class WindowSink {
92
106
  entityName = '';
93
107
  entityZeros = 0;
94
108
  inTag = false;
109
+ lastEmittedWhitespace = false;
110
+ pendingCloseRun = false;
111
+ pendingCloseRunStructural = false;
112
+ pendingSiblingSeparator = false;
95
113
  started = false;
114
+ tagKind = TAG_UNDECIDED;
96
115
  tagMark = null;
116
+ tagName = '';
117
+ tagNameOverflow = false;
118
+ tagNameReading = false;
97
119
  trailingWs = 0;
98
120
  windowChars = [];
99
121
  windowEnd;
100
- constructor(windowStart, windowLimit) {
122
+ constructor(windowStart, windowLimit, normalizeSiblingBoundaries = false) {
101
123
  this.windowStart = windowStart;
124
+ this.normalizeSiblingBoundaries = normalizeSiblingBoundaries;
102
125
  this.windowEnd = windowStart + windowLimit;
103
126
  }
104
127
  write(text) {
@@ -131,8 +154,16 @@ class WindowSink {
131
154
  entityName: this.entityName,
132
155
  entityZeros: this.entityZeros,
133
156
  inTag: this.inTag,
157
+ lastEmittedWhitespace: this.lastEmittedWhitespace,
158
+ pendingCloseRun: this.pendingCloseRun,
159
+ pendingCloseRunStructural: this.pendingCloseRunStructural,
160
+ pendingSiblingSeparator: this.pendingSiblingSeparator,
134
161
  started: this.started,
162
+ tagKind: this.tagKind,
135
163
  tagMark: this.tagMark,
164
+ tagName: this.tagName,
165
+ tagNameOverflow: this.tagNameOverflow,
166
+ tagNameReading: this.tagNameReading,
136
167
  trailingWs: this.trailingWs,
137
168
  windowLength: this.windowChars.length,
138
169
  };
@@ -164,8 +195,16 @@ class WindowSink {
164
195
  this.entityName = mark.entityName;
165
196
  this.entityZeros = mark.entityZeros;
166
197
  this.inTag = mark.inTag;
198
+ this.lastEmittedWhitespace = mark.lastEmittedWhitespace;
199
+ this.pendingCloseRun = mark.pendingCloseRun;
200
+ this.pendingCloseRunStructural = mark.pendingCloseRunStructural;
201
+ this.pendingSiblingSeparator = mark.pendingSiblingSeparator;
167
202
  this.started = mark.started;
203
+ this.tagKind = mark.tagKind;
168
204
  this.tagMark = mark.tagMark;
205
+ this.tagName = mark.tagName;
206
+ this.tagNameOverflow = mark.tagNameOverflow;
207
+ this.tagNameReading = mark.tagNameReading;
169
208
  this.trailingWs = mark.trailingWs;
170
209
  this.windowChars.length = mark.windowLength;
171
210
  if (mark.windowCopy !== undefined) {
@@ -192,20 +231,98 @@ class WindowSink {
192
231
  if (this.inTag) {
193
232
  /** `<[^>]*>` ends at the first `>`; everything it spanned was markup. */
194
233
  if (ch === '>') {
234
+ const completedTagKind = this.tagKind;
235
+ const completedTagName = this.tagName;
236
+ const completedTagNameOverflow = this.tagNameOverflow;
195
237
  this.restore(this.tagMark);
238
+ this.completeTag(completedTagKind, completedTagName, completedTagNameOverflow);
196
239
  return;
197
240
  }
241
+ this.classifyTagCharacter(ch);
198
242
  this.literal(ch);
199
243
  return;
200
244
  }
201
245
  if (ch === '<') {
202
246
  this.tagMark = this.mark();
203
247
  this.inTag = true;
248
+ this.tagKind = TAG_UNDECIDED;
249
+ this.tagName = '';
250
+ this.tagNameOverflow = false;
251
+ this.tagNameReading = false;
204
252
  this.literal(ch);
205
253
  return;
206
254
  }
255
+ if (this.normalizeSiblingBoundaries) {
256
+ this.pendingCloseRun = false;
257
+ this.pendingCloseRunStructural = false;
258
+ }
207
259
  this.literal(ch);
208
260
  }
261
+ /** Classify a tag while retaining only enough of its name to identify inline tags. */
262
+ classifyTagCharacter(ch) {
263
+ if (this.tagKind === TAG_UNDECIDED) {
264
+ if (isWhitespace(ch))
265
+ return;
266
+ if (ch === '/')
267
+ this.tagKind = TAG_CLOSE_SLASH;
268
+ else if (ch === '!' || ch === '?')
269
+ this.tagKind = TAG_SPECIAL;
270
+ else if (isAsciiLetter(ch)) {
271
+ this.tagKind = TAG_OPEN;
272
+ this.tagNameReading = true;
273
+ this.appendTagName(ch);
274
+ }
275
+ else
276
+ this.tagKind = TAG_OTHER;
277
+ return;
278
+ }
279
+ if (this.tagKind === TAG_CLOSE_SLASH && !isWhitespace(ch)) {
280
+ if (isAsciiLetter(ch)) {
281
+ this.tagKind = TAG_CLOSE;
282
+ this.tagNameReading = true;
283
+ this.appendTagName(ch);
284
+ }
285
+ else
286
+ this.tagKind = TAG_OTHER;
287
+ return;
288
+ }
289
+ if ((this.tagKind === TAG_OPEN || this.tagKind === TAG_CLOSE) && this.tagNameReading) {
290
+ if (isTagNameCharacter(ch))
291
+ this.appendTagName(ch);
292
+ else
293
+ this.tagNameReading = false;
294
+ }
295
+ }
296
+ appendTagName(ch) {
297
+ if (this.tagName.length < MAX_INLINE_TAG_NAME)
298
+ this.tagName += ch.toLowerCase();
299
+ else
300
+ this.tagNameOverflow = true;
301
+ }
302
+ /** Apply the no-`<pre>` close-to-open element boundary policy. */
303
+ completeTag(kind, name, nameOverflow) {
304
+ if (!this.normalizeSiblingBoundaries)
305
+ return;
306
+ if (kind === TAG_CLOSE) {
307
+ this.pendingCloseRun = true;
308
+ this.pendingCloseRunStructural ||= nameOverflow || !INLINE_XML_TAGS.has(name);
309
+ return;
310
+ }
311
+ if (kind === TAG_OPEN && this.pendingCloseRun) {
312
+ const structural = this.pendingCloseRunStructural || nameOverflow || !INLINE_XML_TAGS.has(name);
313
+ this.pendingCloseRun = false;
314
+ this.pendingCloseRunStructural = false;
315
+ if (structural) {
316
+ this.flushEntityVerbatim();
317
+ this.pendingSiblingSeparator = true;
318
+ }
319
+ return;
320
+ }
321
+ if (kind !== TAG_OPEN) {
322
+ this.pendingCloseRun = false;
323
+ this.pendingCloseRunStructural = false;
324
+ }
325
+ }
209
326
  /** Feed one character to the entity decoder. */
210
327
  literal(ch) {
211
328
  if (this.entityKind !== ENTITY_NONE && this.stepEntity(ch))
@@ -351,6 +468,14 @@ class WindowSink {
351
468
  this.emitChar(text[i]);
352
469
  }
353
470
  emitChar(ch) {
471
+ if (this.pendingSiblingSeparator) {
472
+ this.pendingSiblingSeparator = false;
473
+ if (this.started && !this.lastEmittedWhitespace && !isWhitespace(ch))
474
+ this.appendChar(' ');
475
+ }
476
+ this.appendChar(ch);
477
+ }
478
+ appendChar(ch) {
354
479
  if (!this.started) {
355
480
  if (isWhitespace(ch))
356
481
  return;
@@ -358,7 +483,8 @@ class WindowSink {
358
483
  }
359
484
  const index = this.emitted;
360
485
  this.emitted = index + 1;
361
- if (isWhitespace(ch))
486
+ this.lastEmittedWhitespace = isWhitespace(ch);
487
+ if (this.lastEmittedWhitespace)
362
488
  this.trailingWs++;
363
489
  else
364
490
  this.trailingWs = 0;
@@ -367,8 +493,19 @@ class WindowSink {
367
493
  }
368
494
  /** Bulk path for a run with no markup, no entity, and no whitespace in it. */
369
495
  emitRun(text, from, to) {
496
+ if (this.normalizeSiblingBoundaries) {
497
+ this.pendingCloseRun = false;
498
+ this.pendingCloseRunStructural = false;
499
+ }
500
+ if (this.pendingSiblingSeparator) {
501
+ this.emitChar(text[from]);
502
+ from++;
503
+ if (from === to)
504
+ return;
505
+ }
370
506
  const start = this.emitted;
371
507
  this.emitted = start + (to - from);
508
+ this.lastEmittedWhitespace = false;
372
509
  this.trailingWs = 0;
373
510
  if (start >= this.windowEnd || this.emitted <= this.windowStart)
374
511
  return;
@@ -416,7 +553,7 @@ class DocumentTextStream {
416
553
  constructor(request) {
417
554
  this.windowStart = request.characterOffset;
418
555
  this.windowLimit = request.characterLimit;
419
- this.noPre = new WindowSink(this.windowStart, this.windowLimit);
556
+ this.noPre = new WindowSink(this.windowStart, this.windowLimit, true);
420
557
  }
421
558
  push(chunk) {
422
559
  if (chunk !== '')
@@ -1 +1 @@
1
- {"version":3,"file":"extract-text-stream.js","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-text-stream.js","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AA0B7D;;;GAGG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,CACL,IAAI,KAAK,IAAI;QACb,IAAI,KAAK,MAAM;QACf,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC;QAClC,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAU;IACpC,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC;AAClG,CAAC;AAED,SAAS,OAAO,CAAC,EAAU;IACzB,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;AAChC,CAAC;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,8EAA8E;AAC9E,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,2DAA2D;AAC3D,MAAM,cAAc,GAAG,QAAQ,CAAC;AAEhC,gFAAgF;AAChF,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACvF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AA2B9B;;;;;;;;GAQG;AACH,MAAM,UAAU;IAuBK,WAAW;IAEX,0BAA0B;IAxBrC,OAAO,GAAG,CAAC,CAAC;IACZ,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,EAAE,CAAC;IACrB,UAAU,GAAG,WAAW,CAAC;IACzB,UAAU,GAAG,EAAE,CAAC;IAChB,WAAW,GAAG,CAAC,CAAC;IAChB,KAAK,GAAG,KAAK,CAAC;IACd,qBAAqB,GAAG,KAAK,CAAC;IAC9B,eAAe,GAAG,KAAK,CAAC;IACxB,yBAAyB,GAAG,KAAK,CAAC;IAClC,uBAAuB,GAAG,KAAK,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,aAAa,CAAC;IACxB,OAAO,GAAoB,IAAI,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC;IACb,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,UAAU,GAAG,CAAC,CAAC;IACN,WAAW,GAAa,EAAE,CAAC;IAC3B,SAAS,CAAS;IAEnC,YACmB,WAAmB,EACpC,WAAmB,EACF,0BAA0B,GAAG,KAAK;2BAFlC,WAAW;0CAEX,0BAA0B;QAE3C,IAAI,CAAC,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBACnE,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAW,CAAC;oBAChC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC;wBAAE,MAAM;oBACxD,IAAI,EAAE,CAAC;gBACT,CAAC;gBACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC5B,CAAC,GAAG,IAAI,CAAC;oBACT,SAAS;gBACX,CAAC;YACH,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;YAClC,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,IAAc;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,gEAAgE;IAChE,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,IAAc;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAW,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC;QAC/E,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3F,OAAO;YACL,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,eAAe;SAChB,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,EAAU;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtC,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC;gBACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAmB,CAAC,CAAC;gBACvC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,sFAAsF;IAC9E,oBAAoB,CAAC,EAAU;QACrC,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACnC,IAAI,YAAY,CAAC,EAAE,CAAC;gBAAE,OAAO;YAC7B,IAAI,EAAE,KAAK,GAAG;gBAAE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;iBAC1C,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;gBAAE,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;iBACzD,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;;gBAAM,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1D,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;;gBAAM,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACrF,IAAI,kBAAkB,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;;gBAC9C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,EAAU;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,mBAAmB;YAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;;YAC3E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,kEAAkE;IAC1D,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,YAAqB;QACnE,IAAI,CAAC,IAAI,CAAC,0BAA0B;YAAE,OAAO;QAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,yBAAyB,KAAK,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9C,MAAM,UAAU,GACd,IAAI,CAAC,yBAAyB,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACtC,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;IACH,CAAC;IAED,gDAAgD;IACxC,OAAO,CAAC,EAAU;QACxB,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,OAAO;QACnE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,kFAAkF;IAC1E,UAAU,CAAC,EAAU;QAC3B,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU;gBACb,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;oBAC/B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe;wBAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACrC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC;oBACpC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAChB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACpD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBAC3E,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM;QACV,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,EAAU,EAAE,GAAY;QAC7C,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC;YACvE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,OAAO,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5D,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,gFAAgF;IACxE,mBAAmB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAErB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEO,IAAI,CAAC,IAAY;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;IACzE,CAAC;IAEO,QAAQ,CAAC,EAAU;QACzB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAEO,UAAU,CAAC,EAAU;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,YAAY,CAAC,EAAE,CAAC;gBAAE,OAAO;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,qBAAqB;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;;YAC7C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,8EAA8E;IACtE,OAAO,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;QACpD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAW,CAAC,CAAC;YACpC,IAAI,EAAE,CAAC;YACP,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO;QAC1B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,CAAC;IACrF,CAAC;CACF;AAeD,+EAA+E;AAC/E,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;AACrB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,CAAC,CAAC;AACjB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,6CAA6C;AAC7C,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,kBAAkB;IACd,KAAK,GAAG,EAAE,CAAC;IACX,UAAU,GAAsB,IAAI,CAAC;IACrC,SAAS,GAAoB,IAAI,CAAC;IAClC,UAAU,GAAG,CAAC,CAAC;IACf,UAAU,GAAG,UAAU,CAAC;IACxB,SAAS,GAAG,KAAK,CAAC;IAClB,aAAa,GAAoB,IAAI,CAAC;IAC7B,KAAK,CAAa;IAC3B,SAAS,GAAG,SAAS,CAAC;IACtB,SAAS,GAAG,KAAK,CAAC;IAClB,WAAW,GAAoB,IAAI,CAAC;IACpC,mBAAmB,GAAG,CAAC,CAAC;IACxB,QAAQ,GAAG,CAAC,CAAC;IACb,GAAG,GAAsB,IAAI,CAAC;IAC9B,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,GAAG,CAAC,CAAC;IACJ,WAAW,CAAS;IACpB,WAAW,CAAS;IAErC,YAAY,OAA0B;QACpC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,KAAK,KAAK,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED,gFAAgF;IACxE,iBAAiB,CAAC,KAAa;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAC,KAAa;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,uEAAuE;YACvE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED,2EAA2E;IACnE,IAAI,CAAC,IAAY;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;oBACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC;oBAC1B,CAAC,GAAG,IAAI,CAAC;oBACT,SAAS;gBACX,CAAC;YACH,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;YAC7B;;;;;eAKG;YACH,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,EAAU;QAC5B,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,KAAK,SAAS;gBACZ,OAAO;YACT,KAAK,SAAS;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,OAAO;YACT,KAAK,aAAa;gBAChB,IAAI,YAAY,CAAC,EAAE,CAAC;oBAAE,OAAO;gBAC7B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;;oBACjD,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7D,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC5E,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;qBAC1B,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;qBAC5C,IAAI,YAAY,CAAC,EAAE,CAAC;oBAAE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;;oBAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT,KAAK,UAAU;gBACb,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;;oBAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC3C,OAAO;YACT;gBACE,wEAAwE;gBACxE,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO;QACX,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,EAAU;QAC5B,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,EAAU;QAC7B,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;YAAE,OAAO;QAC9B,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU;gBACb,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3C,OAAO;YACT,KAAK,cAAc;gBACjB,IAAI,YAAY,CAAC,EAAE,CAAC;oBAAE,OAAO;gBAC7B,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;;oBACzC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,YAAY,CAAC,EAAE,CAAC;oBAAE,OAAO;gBAC7B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;;oBACnD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,KAAK,OAAO;gBACV,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;;oBACpD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;oBAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;;oBACrD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO;YACT;gBACE,IAAI,YAAY,CAAC,EAAE,CAAC;oBAAE,OAAO;gBAC7B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;wBAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxD,CAAC;oBACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAC7C,CAAC;IAEO,YAAY,CAAC,EAAU;QAC7B,IAAI,EAAE,KAAK,GAAG;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;;YACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACpC,CAAC;IAEO,iBAAiB;QACvB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,IAAI;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAwB,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;;YACvC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACjC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IACjE,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -16,8 +16,9 @@ export declare function decodeCharacterReference(ref: string): string | undefine
16
16
  * the occasional inline anchor and HTML-escaped entities. The pre-formatted
17
17
  * layout (column alignment, indentation, blank-line structure) is the document's
18
18
  * real structure, so whitespace is preserved verbatim rather than collapsed the
19
- * way `htmlToMarkdown` collapses narrative prose. XML bodies run through the same
20
- * pipeline minus the `<pre>` unwrap.
19
+ * way `htmlToMarkdown` collapses narrative prose. XML bodies preserve one ASCII
20
+ * space at a close-to-open sibling boundary that carried no source whitespace;
21
+ * inline tags remain transparent.
21
22
  *
22
23
  * The result is the string every character offset indexes into, so it has to be
23
24
  * deterministic: line endings are normalized to `\n` before anything else, and
@@ -1 +1 @@
1
- {"version":3,"file":"extract-text.d.ts","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxE;AAsCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKxD"}
1
+ {"version":3,"file":"extract-text.d.ts","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxE;AAsED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOxD"}
@@ -14,6 +14,10 @@ const NAMED_ENTITIES = {
14
14
  const COMMENT_RE = /<!--[\s\S]*?-->/g;
15
15
  const TAG_RE = /<[^>]*>/g;
16
16
  const ENTITY_RE = /&(#[xX][0-9a-fA-F]+|#\d+|[a-zA-Z]+);/g;
17
+ const XML_ELEMENT_BOUNDARY_RE = /(?<!<)((?:<\s*\/\s*[a-zA-Z][^>]*>)+)(?=<\s*([a-zA-Z][\w:.-]*)(?:\s|\/?>))/g;
18
+ const XML_CLOSE_TAG_RE = /<\s*\/\s*([a-zA-Z][\w:.-]*)[^>]*>/g;
19
+ const XML_BOUNDARY_MARKER = '\0';
20
+ const INLINE_XML_TAGS = new Set(['a', 'b', 'em', 'i', 'span', 'strong', 'sub', 'sup']);
17
21
  /**
18
22
  * Resolve the body of one character reference — what sits between `&` and `;`.
19
23
  * Returns `undefined` for a reference this extractor does not recognize, which
@@ -63,6 +67,38 @@ function unwrapPre(body) {
63
67
  }
64
68
  return closeAt > start ? body.slice(start, closeAt) : body.slice(start);
65
69
  }
70
+ /** Mark structural close-to-open XML boundaries before tags are stripped. */
71
+ function normalizeXmlSiblingBoundaries(xml) {
72
+ return xml.replace(XML_ELEMENT_BOUNDARY_RE, (match, closingTags, openName) => {
73
+ let structuralClose = false;
74
+ for (const [, closeName] of closingTags.matchAll(XML_CLOSE_TAG_RE)) {
75
+ if (INLINE_XML_TAGS.has(closeName.toLowerCase()))
76
+ continue;
77
+ structuralClose = true;
78
+ break;
79
+ }
80
+ const structuralOpen = !INLINE_XML_TAGS.has(openName.toLowerCase());
81
+ return structuralClose || structuralOpen ? `${match}${XML_BOUNDARY_MARKER}` : match;
82
+ });
83
+ }
84
+ /** Resolve a marked boundary only when visible whitespace does not already separate it. */
85
+ function resolveXmlSiblingBoundaries(text) {
86
+ let output = '';
87
+ let pendingBoundary = false;
88
+ for (const ch of text) {
89
+ if (ch === XML_BOUNDARY_MARKER) {
90
+ pendingBoundary = true;
91
+ continue;
92
+ }
93
+ if (pendingBoundary) {
94
+ if (output !== '' && !/\s/u.test(output.at(-1)) && !/\s/u.test(ch))
95
+ output += ' ';
96
+ pendingBoundary = false;
97
+ }
98
+ output += ch;
99
+ }
100
+ return output;
101
+ }
66
102
  /**
67
103
  * Extract the readable plain text of a Congress.gov document body.
68
104
  *
@@ -71,8 +107,9 @@ function unwrapPre(body) {
71
107
  * the occasional inline anchor and HTML-escaped entities. The pre-formatted
72
108
  * layout (column alignment, indentation, blank-line structure) is the document's
73
109
  * real structure, so whitespace is preserved verbatim rather than collapsed the
74
- * way `htmlToMarkdown` collapses narrative prose. XML bodies run through the same
75
- * pipeline minus the `<pre>` unwrap.
110
+ * way `htmlToMarkdown` collapses narrative prose. XML bodies preserve one ASCII
111
+ * space at a close-to-open sibling boundary that carried no source whitespace;
112
+ * inline tags remain transparent.
76
113
  *
77
114
  * The result is the string every character offset indexes into, so it has to be
78
115
  * deterministic: line endings are normalized to `\n` before anything else, and
@@ -81,7 +118,10 @@ function unwrapPre(body) {
81
118
  export function extractDocumentText(body) {
82
119
  const normalized = body.replace(/\r\n?/g, '\n');
83
120
  const stripped = normalized.replace(COMMENT_RE, '');
84
- const inner = unwrapPre(stripped) ?? stripped;
85
- return decodeEntities(inner.replace(TAG_RE, '')).trim();
121
+ const pre = unwrapPre(stripped);
122
+ if (pre !== undefined)
123
+ return decodeEntities(pre.replace(TAG_RE, '')).trim();
124
+ const readable = decodeEntities(normalizeXmlSiblingBoundaries(stripped).replace(TAG_RE, ''));
125
+ return resolveXmlSiblingBoundaries(readable).trim();
86
126
  }
87
127
  //# sourceMappingURL=extract-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-text.js","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8EAA8E;AAC9E,MAAM,cAAc,GAA2B;IAC7C,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,SAAS,GAAG,uCAAuC,CAAC;AAE1D;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC5F,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE1C,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK;YAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;IACjD,CAAC;IACD,OAAO,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IAC9C,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"extract-text.js","sourceRoot":"","sources":["../../../src/services/congress-documents/extract-text.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/congressgov-mcp-server",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "Access U.S. congressional data - bills, votes, members, committees - through MCP. STDIO & Streamable HTTP.",
5
5
  "mcpName": "io.github.cyanheads/congressgov-mcp-server",
6
6
  "type": "module",
@@ -94,15 +94,15 @@
94
94
  "dependencies": {
95
95
  "@cyanheads/mcp-ts-core": "^0.12.3",
96
96
  "better-sqlite3": "^13.0.3",
97
- "fast-xml-parser": "^5.11.0",
97
+ "fast-xml-parser": "^5.11.1",
98
98
  "node-cron": "^4.6.0",
99
99
  "pino-pretty": "^13.1.3",
100
100
  "zod": "^4.4.3"
101
101
  },
102
102
  "devDependencies": {
103
- "@biomejs/biome": "^2.5.10",
103
+ "@biomejs/biome": "^2.5.11",
104
104
  "@socketsecurity/bun-security-scanner": "^1.1.2",
105
- "@types/node": "^26.2.0",
105
+ "@types/node": "^26.4.0",
106
106
  "depcheck": "^1.4.7",
107
107
  "ignore": "^7.0.6",
108
108
  "tsc-alias": "^1.9.2",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/congressgov-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.5.2",
9
+ "version": "0.7.0",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/congressgov-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "0.5.2",
22
+ "version": "0.7.0",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -54,7 +54,7 @@
54
54
  "registryBaseUrl": "https://registry.npmjs.org",
55
55
  "identifier": "@cyanheads/congressgov-mcp-server",
56
56
  "runtimeHint": "bun",
57
- "version": "0.5.2",
57
+ "version": "0.7.0",
58
58
  "packageArguments": [
59
59
  {
60
60
  "type": "positional",