@cyanheads/secedgar-mcp-server 0.15.13 → 0.15.14

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 (91) hide show
  1. package/AGENTS.md +8 -6
  2. package/CLAUDE.md +8 -6
  3. package/Dockerfile +3 -3
  4. package/README.md +2 -2
  5. package/changelog/0.15.x/0.15.14.md +31 -0
  6. package/dist/index.js +7 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts +2 -2
  9. package/dist/mcp-server/tools/definitions/company-search.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/company-search.tool.js +8 -10
  11. package/dist/mcp-server/tools/definitions/company-search.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts +2 -2
  13. package/dist/mcp-server/tools/definitions/compare-companies.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/compare-companies.tool.js +6 -4
  15. package/dist/mcp-server/tools/definitions/compare-companies.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts +1 -1
  17. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js +1 -1
  19. package/dist/mcp-server/tools/definitions/dataframe-describe.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts +1 -1
  21. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js +1 -1
  23. package/dist/mcp-server/tools/definitions/dataframe-drop.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts +1 -1
  25. package/dist/mcp-server/tools/definitions/dataframe-query.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js +1 -1
  27. package/dist/mcp-server/tools/definitions/dataframe-query.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts +2 -2
  29. package/dist/mcp-server/tools/definitions/fetch-frames.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js +6 -4
  31. package/dist/mcp-server/tools/definitions/fetch-frames.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts +2 -2
  33. package/dist/mcp-server/tools/definitions/find-holders.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/find-holders.tool.js +6 -4
  35. package/dist/mcp-server/tools/definitions/find-holders.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts +2 -2
  37. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js +7 -5
  39. package/dist/mcp-server/tools/definitions/get-beneficial-owners.tool.js.map +1 -1
  40. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts +2 -2
  41. package/dist/mcp-server/tools/definitions/get-filing.tool.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/definitions/get-filing.tool.js +59 -33
  43. package/dist/mcp-server/tools/definitions/get-filing.tool.js.map +1 -1
  44. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts +2 -2
  45. package/dist/mcp-server/tools/definitions/get-financials.tool.d.ts.map +1 -1
  46. package/dist/mcp-server/tools/definitions/get-financials.tool.js +11 -8
  47. package/dist/mcp-server/tools/definitions/get-financials.tool.js.map +1 -1
  48. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts +2 -2
  49. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.d.ts.map +1 -1
  50. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js +22 -20
  51. package/dist/mcp-server/tools/definitions/get-fund-holdings.tool.js.map +1 -1
  52. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts +2 -2
  53. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.d.ts.map +1 -1
  54. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js +9 -11
  55. package/dist/mcp-server/tools/definitions/get-insider-transactions.tool.js.map +1 -1
  56. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts +2 -2
  57. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.d.ts.map +1 -1
  58. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js +11 -12
  59. package/dist/mcp-server/tools/definitions/get-institutional-holdings.tool.js.map +1 -1
  60. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts +2 -2
  61. package/dist/mcp-server/tools/definitions/get-material-events.tool.d.ts.map +1 -1
  62. package/dist/mcp-server/tools/definitions/get-material-events.tool.js +8 -10
  63. package/dist/mcp-server/tools/definitions/get-material-events.tool.js.map +1 -1
  64. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts +2 -2
  65. package/dist/mcp-server/tools/definitions/get-snapshot.tool.d.ts.map +1 -1
  66. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js +6 -4
  67. package/dist/mcp-server/tools/definitions/get-snapshot.tool.js.map +1 -1
  68. package/dist/mcp-server/tools/definitions/index.d.ts +30 -35
  69. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  70. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts +3 -8
  71. package/dist/mcp-server/tools/definitions/search-filings.tool.d.ts.map +1 -1
  72. package/dist/mcp-server/tools/definitions/search-filings.tool.js +117 -59
  73. package/dist/mcp-server/tools/definitions/search-filings.tool.js.map +1 -1
  74. package/dist/services/edgar/call-scope.d.ts +41 -0
  75. package/dist/services/edgar/call-scope.d.ts.map +1 -0
  76. package/dist/services/edgar/call-scope.js +53 -0
  77. package/dist/services/edgar/call-scope.js.map +1 -0
  78. package/dist/services/edgar/edgar-api-service.d.ts +80 -50
  79. package/dist/services/edgar/edgar-api-service.d.ts.map +1 -1
  80. package/dist/services/edgar/edgar-api-service.js +483 -211
  81. package/dist/services/edgar/edgar-api-service.js.map +1 -1
  82. package/dist/services/edgar/filing-to-text.d.ts +53 -14
  83. package/dist/services/edgar/filing-to-text.d.ts.map +1 -1
  84. package/dist/services/edgar/filing-to-text.js +181 -33
  85. package/dist/services/edgar/filing-to-text.js.map +1 -1
  86. package/dist/services/edgar/submissions-archive.d.ts +6 -3
  87. package/dist/services/edgar/submissions-archive.d.ts.map +1 -1
  88. package/dist/services/edgar/submissions-archive.js +6 -3
  89. package/dist/services/edgar/submissions-archive.js.map +1 -1
  90. package/package.json +4 -4
  91. package/server.json +3 -3
@@ -8,6 +8,7 @@
8
8
  import { tool, z } from '@cyanheads/mcp-ts-core';
9
9
  import { JsonRpcErrorCode, McpError, notFound, validationError, } from '@cyanheads/mcp-ts-core/errors';
10
10
  import { dataframeGuidance, getCanvasBridge, toDatasetField, } from '../../../services/canvas-bridge/canvas-bridge.js';
11
+ import { CallScope } from '../../../services/edgar/call-scope.js';
11
12
  import { cleanDisplayName, getEdgarApiService, quartersInRange, } from '../../../services/edgar/edgar-api-service.js';
12
13
  import { filingToExtract } from '../../../services/edgar/filing-to-text.js';
13
14
  import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-archive.js';
@@ -20,11 +21,37 @@ import { SubmissionsArchiveWalk } from '../../../services/edgar/submissions-arch
20
21
  const EFTS_FULLTEXT_FLOOR = '2001-01-01';
21
22
  /** Last day the archive arms serve when a range is split at {@link EFTS_FULLTEXT_FLOOR}. */
22
23
  const ARCHIVE_ERA_END = '2000-12-31';
24
+ /** First day of EDGAR's archives — where a lone pre-2001 `filed_before` starts. */
25
+ const EDGAR_ARCHIVE_START = '1993-01-01';
26
+ /**
27
+ * The inclusive filing-date window a call searches, or `undefined` when no bound
28
+ * was given (`""` counts as absent). EFTS honors a custom range only with both
29
+ * ends — `startdt` or `enddt` alone returns the same hits as no dates — so a lone
30
+ * bound is paired here, before routing: `filed_after` runs through today (UTC,
31
+ * read per call), and `filed_before` starts where its route's coverage does —
32
+ * the full-text floor from 2001 on, the archive start before it (#185). `filled`
33
+ * marks a window the caller did not spell out, which the full-text path then
34
+ * discloses in `effectiveQuery`.
35
+ */
36
+ function dateWindow(filedAfter, filedBefore) {
37
+ if (filedAfter && filedBefore) {
38
+ return { startDate: filedAfter, endDate: filedBefore, filled: false };
39
+ }
40
+ if (filedAfter) {
41
+ return { startDate: filedAfter, endDate: new Date().toISOString().slice(0, 10), filled: true };
42
+ }
43
+ if (filedBefore) {
44
+ const startDate = filedBefore < EFTS_FULLTEXT_FLOOR ? EDGAR_ARCHIVE_START : EFTS_FULLTEXT_FLOOR;
45
+ return { startDate, endDate: filedBefore, filled: true };
46
+ }
47
+ return;
48
+ }
23
49
  /**
24
50
  * Cap on quarterly full-index files fetched in one unscoped pre-2001 browse.
25
51
  * Each `master.idx` is a multi-MB whole-quarter download and is not
26
52
  * form-filterable server-side, so this arm is the heaviest — the cap bounds it
27
- * hard, and `dataset.truncated` discloses when older quarters went unscanned.
53
+ * hard. When older quarters go unscanned, `effectiveQuery` and the notice name the
54
+ * quarters read and `total_is_exact` / `dataset.truncated` turn false / true.
28
55
  */
29
56
  const FULL_INDEX_QUARTER_SCAN_CAP = 8;
30
57
  /**
@@ -172,10 +199,10 @@ function stripToken(query, token) {
172
199
  * a silently-broadened search misleads, and a stripped token can leave EFTS
173
200
  * with a blank query it rejects (#61).
174
201
  */
175
- async function resolveEntityTargeting(query, ctx) {
202
+ async function resolveEntityTargeting(query, ctx, scope) {
176
203
  const tickerMatch = query.match(/\bticker:(\S+)/i);
177
204
  if (tickerMatch?.[1]) {
178
- const resolved = await getEdgarApiService().resolveCik(tickerMatch[1]);
205
+ const resolved = await getEdgarApiService().resolveCik(tickerMatch[1], scope);
179
206
  const match = Array.isArray(resolved) ? resolved[0] : resolved;
180
207
  if (!match?.cik) {
181
208
  throw validationError(`Entity targeting token 'ticker:${tickerMatch[1]}' does not resolve to a known company.`, { reason: 'unresolved_ticker', ...ctx.recoveryFor('unresolved_ticker') });
@@ -341,7 +368,7 @@ async function finishAssembledResult(ctx, args) {
341
368
  * (period_ending, ticker, file_description, matched_documents, sic, location) are left
342
369
  * null for a uniform archive-row shape.
343
370
  */
344
- async function collectSubmissionsRows(ctx, args) {
371
+ async function collectSubmissionsRows(ctx, scope, args) {
345
372
  const api = getEdgarApiService();
346
373
  // A `cik:` targeting token is only shape-validated (1-10 digits), never checked
347
374
  // against the ticker cache, so a well-formed filing-agent/transmitter CIK reaches
@@ -350,12 +377,12 @@ async function collectSubmissionsRows(ctx, args) {
350
377
  // error — no raw SEC URL (#93). A registrant that 404s is an EDGAR-side problem
351
378
  // and propagates unchanged, same reasoning as #55 and #76. The lookup is confined
352
379
  // to this pre-2001 arm (already multi-fetch) so the EFTS path stays untouched.
353
- const resolved = await api.resolveCik(args.entityCik);
380
+ const resolved = await api.resolveCik(args.entityCik, scope);
354
381
  const cacheMatch = Array.isArray(resolved) ? resolved[0] : resolved;
355
382
  const isBareCikFallback = !cacheMatch?.name && !cacheMatch?.ticker;
356
383
  let submissions;
357
384
  try {
358
- submissions = await api.getSubmissions(args.entityCik);
385
+ submissions = await api.getSubmissions(args.entityCik, scope);
359
386
  }
360
387
  catch (err) {
361
388
  if (isBareCikFallback && err instanceof McpError && err.code === JsonRpcErrorCode.NotFound) {
@@ -393,11 +420,7 @@ async function collectSubmissionsRows(ctx, args) {
393
420
  };
394
421
  pushBlock(submissions.filings.recent);
395
422
  // Older filings live in the archive pages covering the requested pre-2001 range.
396
- const walk = new SubmissionsArchiveWalk(api, submissions, {
397
- filedAfter: args.startDate,
398
- filedBefore: args.endDate,
399
- order: 'newest-first',
400
- });
423
+ const walk = new SubmissionsArchiveWalk(api, submissions, { filedAfter: args.startDate, filedBefore: args.endDate, order: 'newest-first' }, scope);
401
424
  for await (const { block } of walk)
402
425
  pushBlock(block);
403
426
  return { rows, scanTruncated: walk.truncated };
@@ -412,8 +435,11 @@ async function collectSubmissionsRows(ctx, args) {
412
435
  * filer and the subject company — so lines collapse to one row per accession,
413
436
  * keeping the first line's `cik` and `company_name`; the index carries no
414
437
  * filer/subject role to choose by (#124).
438
+ *
439
+ * Quarters are read newest first, so a capped browse covers the end of its range;
440
+ * `quarterCap` names that slice, which `effectiveQuery` and the notice disclose.
415
441
  */
416
- async function collectFullIndexRows(args) {
442
+ async function collectFullIndexRows(scope, args) {
417
443
  const api = getEdgarApiService();
418
444
  const quarters = quartersInRange(args.startDate, args.endDate);
419
445
  const quarterLimit = Math.min(quarters.length, FULL_INDEX_QUARTER_SCAN_CAP);
@@ -424,7 +450,7 @@ async function collectFullIndexRows(args) {
424
450
  const quarter = quarters[i];
425
451
  if (!quarter)
426
452
  break;
427
- const entries = await api.fetchFullIndexQuarter(quarter.year, quarter.quarter);
453
+ const entries = await api.fetchFullIndexQuarter(quarter.year, quarter.quarter, scope);
428
454
  for (const entry of entries) {
429
455
  if (entry.filingDate < args.startDate || entry.filingDate > args.endDate)
430
456
  continue;
@@ -449,7 +475,25 @@ async function collectFullIndexRows(args) {
449
475
  });
450
476
  }
451
477
  }
452
- return { rows, scanTruncated };
478
+ // A quarter past the limit exists only when the cap bound.
479
+ const newestUnread = quarters[quarterLimit];
480
+ const newest = quarters[0];
481
+ const oldestRead = quarters[quarterLimit - 1];
482
+ const oldest = quarters.at(-1);
483
+ if (!newestUnread || !newest || !oldestRead || !oldest)
484
+ return { rows, scanTruncated };
485
+ const label = (q) => `${q.year}Q${q.quarter}`;
486
+ const quarterEnd = ['03-31', '06-30', '09-30', '12-31'][newestUnread.quarter - 1];
487
+ return {
488
+ rows,
489
+ scanTruncated,
490
+ quarterCap: {
491
+ read: `${label(oldestRead)}–${label(newest)}`,
492
+ range: `${label(oldest)}–${label(newest)}`,
493
+ count: quarters.length,
494
+ olderEnd: `${newestUnread.year}-${quarterEnd}`,
495
+ },
496
+ };
453
497
  }
454
498
  /**
455
499
  * Read candidate filings and keep the ones whose text satisfies the query — the
@@ -469,11 +513,11 @@ async function collectFullIndexRows(args) {
469
513
  * asked for. Documents are fetched concurrently; `EdgarApiService`'s throttle
470
514
  * serializes them at the configured request rate, which is the real cost.
471
515
  */
472
- async function scanFilingText(ctx, candidates, parsed) {
516
+ async function scanFilingText(ctx, scope, candidates, parsed) {
473
517
  const api = getEdgarApiService();
474
518
  const targets = candidates.slice(0, DOCUMENT_SCAN_CAP);
475
519
  const outcomes = await Promise.all(targets.map(async (row) => {
476
- const text = await api.tryGetFilingDocument(row.cik ?? '', row.accession_number, `${row.accession_number}.txt`);
520
+ const text = await api.tryGetFilingDocument(row.cik ?? '', row.accession_number, `${row.accession_number}.txt`, scope);
477
521
  if (text === null)
478
522
  return null;
479
523
  return matchesLocalQuery(filingToExtract(text), parsed) ? row : null;
@@ -495,7 +539,7 @@ async function scanFilingText(ctx, candidates, parsed) {
495
539
  * is always fetched from offset 0 regardless of the caller's `offset`, which
496
540
  * addresses the merged list instead.
497
541
  */
498
- async function fetchEftsRows(args) {
542
+ async function fetchEftsRows(scope, args) {
499
543
  const response = await getEdgarApiService().searchFilings({
500
544
  query: args.query,
501
545
  forms: args.forms,
@@ -504,7 +548,7 @@ async function fetchEftsRows(args) {
504
548
  endDate: args.endDate,
505
549
  from: 0,
506
550
  size: 100,
507
- });
551
+ }, scope);
508
552
  return {
509
553
  rows: collapseEftsHits(response.hits.hits),
510
554
  totalIsExact: windowHoldsEveryMatch(response, 0),
@@ -521,7 +565,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
521
565
  enrichment: {
522
566
  effectiveQuery: z
523
567
  .string()
524
- .describe('The query as executed: a ticker:/cik: token shows as "(entity scope: CIK …)", a forms-only browse as "(browse: forms …)", and a pre-2001 range names its archive route and dates.'),
568
+ .describe('The query as executed: "(entity scope: CIK …)" for a ticker:/cik: token, "(browse: forms …)" for a forms-only browse, a pre-2001 range\'s archive route and dates (and quarters read, if the full-index cap bound), and "(filed <after> to <before>)" for a full-text search given one bound.'),
525
569
  notice: z
526
570
  .string()
527
571
  .optional()
@@ -534,12 +578,6 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
534
578
  cap: z.number().optional().describe('The limit cap applied.'),
535
579
  },
536
580
  errors: [
537
- {
538
- reason: 'invalid_date_range',
539
- code: JsonRpcErrorCode.ValidationError,
540
- when: 'Only one of filed_after or filed_before was provided',
541
- recovery: 'Provide both filed_after and filed_before, or omit both to search all dates.',
542
- },
543
581
  {
544
582
  reason: 'unresolved_ticker',
545
583
  code: JsonRpcErrorCode.ValidationError,
@@ -571,7 +609,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
571
609
  reason: 'pre2001_full_text_unscoped',
572
610
  code: JsonRpcErrorCode.ValidationError,
573
611
  when: 'A date range reaching before 2001-01-01 carries free-text terms with no entity scope — no pre-2001 full-text index exists, and nothing bounds a local scan',
574
- recovery: 'Add ticker: or cik: entity scope to the query, drop the text terms to browse by form and date, or start the range at 2001-01-01.',
612
+ recovery: 'Add ticker: or cik: entity scope to the query, drop the text terms and browse by form type (forms: ["10-K"]) and date, or, for a range that reaches 2001, start the range at 2001-01-01.',
575
613
  },
576
614
  {
577
615
  reason: 'rate_limited',
@@ -584,8 +622,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
584
622
  {
585
623
  reason: 'sec_unreachable',
586
624
  code: JsonRpcErrorCode.ServiceUnavailable,
587
- when: 'The last of three attempts to reach SEC EDGAR got no HTTP response — the connection failed, or no response headers arrived within 15 seconds',
588
- recovery: 'Retry the same call in a minute — SEC EDGAR could not be reached, and nothing in the request needs to change.',
625
+ when: "SEC EDGAR gave no complete, readable response — on the last attempt made (the third, or an earlier one once this call's 40-second budget for SEC failures ran out) the connection failed, no response headers arrived within 15 seconds, or the body broke off or stalled for 15 seconds, each wait capped at what was left of that budget; a 200 body was not the JSON SEC serves; or earlier SEC failures had spent that budget, so the request was never sent",
626
+ recovery: 'Retry the same call in a minute — SEC EDGAR did not deliver a complete, readable response, and nothing in the request needs to change.',
589
627
  retryable: true,
590
628
  thrownBy: 'service',
591
629
  },
@@ -601,7 +639,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
601
639
  .describe('Full-text search query. Supports: exact phrases ("material weakness"), boolean operators (revenue OR income), exclusion (-preliminary), wildcard suffix (account*), entity targeting (ticker:AAPL or cik:320193 in the query). Terms are AND\'d by default.'),
602
640
  ])
603
641
  .optional()
604
- .describe('Full-text search query. Optional — omit (or pass "") to browse by form type and/or entity instead, e.g. every S-1 in a date window, or a company\'s filings via ticker:/cik:. A date range alone is not a valid search; pair it with forms or entity targeting. The EFTS index that serves free text starts at 2001-01-01; a date range reaching earlier needs ticker:/cik: entity scope, which lets the tool read that entity\'s filings and match the terms locally (bounded to 50 documents, a few seconds at SEC\'s request rate), or drop the text terms to browse by form and date. When present, supports exact phrases ("material weakness"), boolean operators (revenue OR income), exclusion (-preliminary), wildcard suffix (account*), and entity targeting (ticker:AAPL or cik:320193 in the query); terms are AND\'d by default. A multi-class share ticker resolves in either form — ticker:BRK-B and ticker:BRK.B scope to the same issuer. The pre-2001 local scan honors the same phrase / OR / exclusion / wildcard syntax.'),
642
+ .describe('Full-text search query. Optional — omit (or pass "") to browse by form type and/or entity instead, e.g. every S-1 in a date window, or a company\'s filings via ticker:/cik:. A date range alone is not a valid search; pair it with forms or entity targeting. The EFTS index that serves free text starts at 2001-01-01; a date range reaching earlier needs ticker:/cik: entity scope, which lets the tool read that entity\'s filings and match the terms locally (bounded to 50 documents, a few seconds at SEC\'s request rate), or drop the text terms and browse by form type (forms) and date. When present, supports exact phrases ("material weakness"), boolean operators (revenue OR income), exclusion (-preliminary), wildcard suffix (account*), and entity targeting (ticker:AAPL or cik:320193 in the query); terms are AND\'d by default. A multi-class share ticker resolves in either form — ticker:BRK-B and ticker:BRK.B scope to the same issuer. The pre-2001 local scan honors the same phrase / OR / exclusion / wildcard syntax.'),
605
643
  forms: z
606
644
  .array(z.string())
607
645
  .optional()
@@ -615,7 +653,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
615
653
  .describe('YYYY-MM-DD'),
616
654
  ])
617
655
  .optional()
618
- .describe('Only include filings filed on or after this date (YYYY-MM-DD). This tool filters by date only with both bounds — pair it with filed_before.'),
656
+ .describe('Only include filings filed on or after this date (YYYY-MM-DD). Use alone or with filed_before; alone, the search runs through today (UTC).'),
619
657
  filed_before: z
620
658
  .union([
621
659
  z.literal(''),
@@ -625,7 +663,7 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
625
663
  .describe('YYYY-MM-DD'),
626
664
  ])
627
665
  .optional()
628
- .describe('Only include filings filed on or before this date (YYYY-MM-DD). This tool filters by date only with both bounds — pair it with filed_after.'),
666
+ .describe('Only include filings filed on or before this date (YYYY-MM-DD). Use alone or with filed_after; alone, the search starts at 2001-01-01, or at 1993-01-01 (the archive start) for a date before 2001.'),
629
667
  limit: z.number().int().min(1).max(100).default(20).describe('Results per page. Max 100.'),
630
668
  offset: z
631
669
  .number()
@@ -742,10 +780,6 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
742
780
  .describe('Dataframe of every filing assembled (the full-text window, or the full pre-2001 match set). Absent when the rows fit inline, canvas is unavailable, or staging failed.'),
743
781
  }),
744
782
  async handler(input, ctx) {
745
- // Validate date range: both or neither
746
- if ((input.filed_after && !input.filed_before) || (!input.filed_after && input.filed_before)) {
747
- throw ctx.fail('invalid_date_range', 'Both filed_after and filed_before are required when filtering by date.');
748
- }
749
783
  // Browse mode (#79): EFTS accepts a forms-only or entity-scoped request with no
750
784
  // full-text term, but rejects one with neither ("Blank search not valid"). Guard
751
785
  // the both-absent shape here — checked against the RAW query/forms (before the
@@ -757,49 +791,61 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
757
791
  // Resolve ticker:/cik: entity targeting → stripped query + CIK for the
758
792
  // server-side ciks param. Throws typed validation errors on bad tokens (#61).
759
793
  // Default to '' so a browse request (undefined query) resolves cleanly.
760
- const { query, entityCik } = await resolveEntityTargeting(input.query ?? '', ctx);
794
+ const scope = new CallScope(ctx.signal);
795
+ const { query, entityCik } = await resolveEntityTargeting(input.query ?? '', ctx, scope);
761
796
  const api = getEdgarApiService();
762
797
  // Date-based routing at the EFTS full-text floor (2001-01-01). EFTS only
763
798
  // indexes filings from 2001, so a range reaching earlier is served from the
764
799
  // archives — entirely, or (when it also reaches 2001 onward) as the older half
765
- // of a two-source merge split at the floor (#77, #87).
766
- const startDate = input.filed_after || undefined;
767
- const endDate = input.filed_before || undefined;
800
+ // of a two-source merge split at the floor (#77, #87). A lone bound is paired
801
+ // first, so it routes exactly as the equivalent explicit pair would (#185).
802
+ const dates = dateWindow(input.filed_after, input.filed_before);
768
803
  const hasFreeText = query.trim().length > 0;
769
- if (startDate && endDate && startDate < EFTS_FULLTEXT_FLOOR) {
804
+ if (dates && dates.startDate < EFTS_FULLTEXT_FLOOR) {
805
+ const { startDate, endDate } = dates;
770
806
  const straddles = endDate >= EFTS_FULLTEXT_FLOOR;
771
807
  const archiveEnd = straddles ? ARCHIVE_ERA_END : endDate;
772
808
  // Free text before 2001 is matched by reading documents, which only an entity
773
809
  // scope bounds. Unscoped, the pre-2001 half of the range cannot be served at
774
- // all — reject rather than answer half a range and call it the answer.
810
+ // all — reject rather than answer half a range and call it the answer. Starting
811
+ // at the floor is a way out only for a range that reaches it.
775
812
  if (hasFreeText && !entityCik) {
776
- throw ctx.fail('pre2001_full_text_unscoped', `Full-text search is unavailable before ${EFTS_FULLTEXT_FLOOR} (where the EFTS index starts), so the ${startDate}..${archiveEnd} part of this range has no index to search. Add ticker:/cik: entity scope to match those filings by reading them, drop the text terms to browse by form and date, or start the range at ${EFTS_FULLTEXT_FLOOR}.`);
813
+ const ways = straddles
814
+ ? `Add ticker:/cik: entity scope to match those filings by reading them, drop the text terms and browse by form type (forms: ["10-K"]) and date, or start the range at ${EFTS_FULLTEXT_FLOOR}.`
815
+ : 'Add ticker:/cik: entity scope to match those filings by reading them, or drop the text terms and browse by form type (forms: ["10-K"]) and date.';
816
+ throw ctx.fail('pre2001_full_text_unscoped', `Full-text search is unavailable before ${EFTS_FULLTEXT_FLOOR} (where the EFTS index starts), so the ${startDate}..${archiveEnd} part of this range has no index to search. ${ways}`, straddles
817
+ ? undefined
818
+ : {
819
+ recovery: {
820
+ hint: 'Add ticker: or cik: entity scope to the query, or drop the text terms and browse by form type (forms: ["10-K"]) and date.',
821
+ },
822
+ });
777
823
  }
778
824
  let archive;
779
825
  let scan;
780
826
  if (entityCik) {
781
- archive = await collectSubmissionsRows(ctx, {
827
+ archive = await collectSubmissionsRows(ctx, scope, {
782
828
  entityCik,
783
829
  forms: input.forms,
784
830
  startDate,
785
831
  endDate: archiveEnd,
786
832
  });
787
833
  if (hasFreeText) {
788
- const scanned = await scanFilingText(ctx, sortRows(archive.rows, input.sort), parseLocalQuery(query));
834
+ const scanned = await scanFilingText(ctx, scope, sortRows(archive.rows, input.sort), parseLocalQuery(query));
789
835
  archive = { rows: scanned.rows, scanTruncated: archive.scanTruncated };
790
836
  scan = scanned.scan;
791
837
  }
792
838
  }
793
839
  else {
794
840
  // Unscoped + no free text → forms are guaranteed present by the missing_criteria guard.
795
- archive = await collectFullIndexRows({
841
+ archive = await collectFullIndexRows(scope, {
796
842
  forms: input.forms ?? [],
797
843
  startDate,
798
844
  endDate: archiveEnd,
799
845
  });
800
846
  }
801
847
  const efts = straddles
802
- ? await fetchEftsRows({
848
+ ? await fetchEftsRows(scope, {
803
849
  query,
804
850
  forms: input.forms,
805
851
  entityCik,
@@ -828,6 +874,15 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
828
874
  const windowNote = efts && eftsWindowIncomplete
829
875
  ? ` The ${EFTS_FULLTEXT_FLOOR}-onward side contributed the ${efts.rows.length} filings of one 100-document window of its ${efts.totalDocuments} matching documents, so the merged rows jump from the end of that window straight to ${ARCHIVE_ERA_END} — search ${EFTS_FULLTEXT_FLOOR} to ${endDate} on its own to page through the rest.`
830
876
  : '';
877
+ // A capped full-index browse covers only the newest quarters of its range, which
878
+ // the stated dates alone would hide.
879
+ const { quarterCap } = archive;
880
+ const quarterRead = quarterCap
881
+ ? `; quarters read ${quarterCap.read} of ${quarterCap.range}`
882
+ : '';
883
+ const quarterNote = quarterCap
884
+ ? ` The full-index browse read the newest ${FULL_INDEX_QUARTER_SCAN_CAP} of the ${quarterCap.count} quarters in range, ${quarterCap.read}; end the range at ${quarterCap.olderEnd} to read the older ones.`
885
+ : '';
831
886
  return await finishAssembledResult(ctx, {
832
887
  matched: [...archive.rows, ...(efts?.rows ?? [])],
833
888
  totalIsExact: !archiveIncomplete && !eftsWindowIncomplete,
@@ -844,11 +899,11 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
844
899
  source: straddles ? 'efts+archive' : entityCik ? 'submissions' : 'full-index',
845
900
  },
846
901
  effectiveQuery: straddles
847
- ? `${hasFreeText ? `${query} ` : ''}(split at ${EFTS_FULLTEXT_FLOOR}: ${scopeNote}${formsNote}, ${startDate} to ${endDate})`
848
- : `${hasFreeText ? `${query} ` : ''}(pre-2001 archive: ${scopeNote}${formsNote}, ${startDate} to ${endDate})`,
902
+ ? `${hasFreeText ? `${query} ` : ''}(split at ${EFTS_FULLTEXT_FLOOR}: ${scopeNote}${formsNote}, ${startDate} to ${endDate}${quarterRead})`
903
+ : `${hasFreeText ? `${query} ` : ''}(pre-2001 archive: ${scopeNote}${formsNote}, ${startDate} to ${endDate}${quarterRead})`,
849
904
  coverageNote: straddles
850
- ? `Merged across the ${EFTS_FULLTEXT_FLOOR} boundary — filings from ${EFTS_FULLTEXT_FLOOR} on come from the full-text index, earlier ones from ${archiveSource}. Read each row's source; the EFTS-only fields (period_ending, ticker, file_description, matched_documents, sic, location) are null on archive rows.${windowNote}${scanNote}`
851
- : `Served from ${archiveSource} — full-text search covers 2001-present only.${scanNote}`,
905
+ ? `Merged across the ${EFTS_FULLTEXT_FLOOR} boundary — filings from ${EFTS_FULLTEXT_FLOOR} on come from the full-text index, earlier ones from ${archiveSource}. Read each row's source; the EFTS-only fields (period_ending, ticker, file_description, matched_documents, sic, location) are null on archive rows.${windowNote}${quarterNote}${scanNote}`
906
+ : `Served from ${archiveSource} — full-text search covers 2001-present only.${quarterNote}${scanNote}`,
852
907
  zeroHitCriteria: [
853
908
  ...(hasFreeText ? [`"${query}"`] : []),
854
909
  ...(entityCik ? [`CIK ${entityCik}`] : []),
@@ -869,11 +924,11 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
869
924
  query,
870
925
  forms: input.forms,
871
926
  ciks: entityCik ? [entityCik] : undefined,
872
- startDate: input.filed_after,
873
- endDate: input.filed_before,
927
+ startDate: dates?.startDate,
928
+ endDate: dates?.endDate,
874
929
  from: fetchFrom,
875
930
  size: fetchSize,
876
- });
931
+ }, scope);
877
932
  // EFTS scopes by the server-side `ciks` param (set above when entity targeting
878
933
  // was used), so no client-side CIK post-filter is involved. A search with terms
879
934
  // answers one hit per matching document, so the window collapses to one row per
@@ -917,8 +972,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
917
972
  queryParams: {
918
973
  query,
919
974
  forms: input.forms,
920
- filed_after: input.filed_after,
921
- filed_before: input.filed_before,
975
+ filed_after: dates?.startDate,
976
+ filed_before: dates?.endDate,
922
977
  entity_cik: entityCik,
923
978
  source: 'efts',
924
979
  },
@@ -934,9 +989,13 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
934
989
  resultCount: results.length,
935
990
  datasetName: dataset?.name,
936
991
  });
937
- const effectiveQuery = entityCik
992
+ const searched = entityCik
938
993
  ? `${query ? `${query} ` : ''}(entity scope: CIK ${entityCik})`
939
994
  : query || (input.forms?.length ? `(browse: forms ${input.forms.join(', ')})` : '');
995
+ // A window the caller spelled out is already in their arguments; a filled one is not.
996
+ const effectiveQuery = dates?.filled
997
+ ? `${searched} (filed ${dates.startDate} to ${dates.endDate})`
998
+ : searched;
940
999
  ctx.enrich.echo(effectiveQuery);
941
1000
  if (totalDocuments === 0) {
942
1001
  // Genuine no-match — EFTS returned zero hits. Echo all active criteria; on the
@@ -949,9 +1008,8 @@ export const searchFilingsTool = tool('secedgar_search_filings', {
949
1008
  criteria.push(`entity CIK ${entityCik}`);
950
1009
  if (input.forms?.length)
951
1010
  criteria.push(`forms [${input.forms.join(', ')}]`);
952
- if (input.filed_after && input.filed_before) {
953
- criteria.push(`dates ${input.filed_after} to ${input.filed_before}`);
954
- }
1011
+ if (dates)
1012
+ criteria.push(`dates ${dates.startDate} to ${dates.endDate}`);
955
1013
  const criteriaText = criteria.length > 0 ? criteria.join(', ') : 'the given criteria';
956
1014
  ctx.enrich.notice(`No filings matched ${criteriaText}. Broaden the query, remove the form filter, or widen the date range.`);
957
1015
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-filings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC,4FAA4F;AAC5F,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,gEAAgE,CAAC;AAwElG;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAe;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC;QAC7D,MAAM,QAAQ,GAAsB,QAAQ;YAC1C,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,gBAAgB,EAAE,SAAS;YAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;YAC9B,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS;YAClC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI;YAChD,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC3C,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAClC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC;YAClC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI;YACtD,iBAAiB,EAAE,QAAQ;YAC3B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAClC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;YAChD,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,QAAsB,EAAE,IAAY;IACjE,OAAO,CACL,IAAI,KAAK,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;QACtD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CACtC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,GAAc;IACpC,OAAO;QACL,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;QACtE,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;QAClB,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACjD,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,IAAI,EAAE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/E,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI;YAC/B,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACnF,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvD,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,GAAG,GAAG;QACN,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAAM;YAC9C,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxD,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,UAAkB,EAAE,cAAwB;IAC/D,MAAM,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,qBAAqB,CAC5B,KAA0C;IAE1C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,WAAmB;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED,8EAA8E;AAC9E,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB,CACnC,KAAa,EACb,GAAY;IAEZ,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAChB,MAAM,eAAe,CACnB,kCAAkC,WAAW,CAAC,CAAC,CAAC,wCAAwC,EACxF,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,eAAe,CACnB,+BAA+B,QAAQ,CAAC,CAAC,CAAC,8CAA8C,EACxF,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAUD;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,OAAO;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;YAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;AAC5E,CAAC;AAED,wEAAwE;AACxE,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAkB;IACzD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CACf,IAAiB,EACjB,IAA0D;IAE1D,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7B,IAAI,KAAK,iBAAiB;QACxB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,qBAAqB,CAClC,GAAY,EACZ,IAaC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,IAAI,OAES,CAAC;IACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;YACrD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7B,UAAU,EAAE,yBAAyB;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;SACV,CAAC,CAAC;QACH,IAAI,UAAU;YAAE,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,+EAA+E;QAC/E,kFAAkF;QAClF,MAAM,MAAM,GAAG;YACb,WAAW,IAAI,CAAC,MAAM,iBAAiB,KAAK,oDAAoD;SACjG,CAAC;QACF,IAAI,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;QACxE,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxD,8EAA8E;QAC9E,2EAA2E;QAC3E,iFAAiF;QACjF,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAI,OAAO;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEhE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK;QACL,cAAc,EAAE,IAAI,CAAC,YAAY;QACjC,eAAe,EAAE,IAAI,CAAC,cAAc;QACpC,OAAO;QACP,iBAAiB,EAAE,gBAAgB;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAY,EACZ,IAKC;IAED,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,gFAAgF;IAChF,kFAAkF;IAClF,gFAAgF;IAChF,iFAAiF;IACjF,gFAAgF;IAChF,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAEnE,IAAI,WAA2D,CAAC;IAChE,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,iBAAiB,IAAI,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC3F,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACtE,MAAM,QAAQ,CACZ,gCAAgC,IAAI,CAAC,SAAS,2IAA2I,EACzL,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,EACtE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvE,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YACjD,IAAI,CAAC,IAAI,CAAC;gBACR,gBAAgB,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE;gBAChD,IAAI,EAAE,IAAI,IAAI,IAAI;gBAClB,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,WAAW;gBACzB,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,iFAAiF;IACjF,MAAM,IAAI,GAAG,IAAI,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE;QACxD,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,WAAW,EAAE,IAAI,CAAC,OAAO;QACzB,KAAK,EAAE,cAAc;KACtB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI;QAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAAC,IAInC;IACC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;IAErD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,MAAM;QACpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO;gBAAE,SAAS;YACnF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;gBAAE,SAAS;YAC9C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC;gBACR,gBAAgB,EAAE,KAAK,CAAC,eAAe;gBACvC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,KAAK,CAAC,WAAW;gBAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAY,EACZ,UAAuB,EACvB,MAAkB;IAElB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,oBAAoB,CACzC,GAAG,CAAC,GAAG,IAAI,EAAE,EACb,GAAG,CAAC,gBAAgB,EACpB,GAAG,GAAG,CAAC,gBAAgB,MAAM,CAC9B,CAAC;QACF,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAoB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACtE,MAAM,IAAI,GAAgB;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,OAAO,EAAE,IAAI,CAAC,MAAM;QACpB,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;KAC3C,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAC,IAM5B;IACC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,EAAE,CAAC,aAAa,CAAC;QACxD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QACnD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,EAAE;IAC/D,WAAW,EACT,8yBAA8yB;IAChzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAE9E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,iBAAiB;IACjB,UAAU,EAAE;QACV,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CACP,mLAAmL,CACpL;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wHAAwH,CACzH;QACH,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG,CACjG;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACxE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KAC9D;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,sDAAsD;YAC5D,QAAQ,EAAE,8EAA8E;SACzF;QACD;YACE,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,4EAA4E;YAClF,QAAQ,EACN,6FAA6F;YAC/F,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,gEAAgE;YACtE,QAAQ,EACN,0FAA0F;YAC5F,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,QAAQ;YAC/B,IAAI,EAAE,+FAA+F;YACrG,QAAQ,EACN,mHAAmH;YACrH,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,6FAA6F;YACnG,QAAQ,EACN,gJAAgJ;SACnJ;QACD;YACE,MAAM,EAAE,4BAA4B;YACpC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,4JAA4J;YAClK,QAAQ,EACN,kIAAkI;SACrI;QACD;YACE,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,gBAAgB,CAAC,WAAW;YAClC,IAAI,EAAE,yIAAyI;YAC/I,QAAQ,EACN,0HAA0H;YAC5H,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;QACD;YACE,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,8IAA8I;YACpJ,QAAQ,EACN,+GAA+G;YACjH,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,SAAS;SACpB;KACF;IAED,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;iBAC/B,QAAQ,CACP,6PAA6P,CAC9P;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,g/BAAg/B,CACj/B;QACH,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,4pBAA4pB,CAC7pB;QACH,WAAW,EAAE,CAAC;aACX,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC;YACL,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACb,CAAC;iBACE,MAAM,EAAE;iBACR,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;iBACnD,QAAQ,CAAC,YAAY,CAAC;SAC1B,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,6IAA6I,CAC9I;QACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CACP,8yCAA8yC,CAC/yC;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;aAC1D,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,CACP,i0BAAi0B,CACl0B;KACJ,CAAC;IACF,qFAAqF;IACrF,YAAY,EAAE;QACZ,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,OAAO;KACpB;IAED,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,CACP,8SAA8S,CAC/S;QACH,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,QAAQ,CACP,oSAAoS,CACrS;QACH,eAAe,EAAE,CAAC;aACf,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wMAAwM,CACzM;QACH,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YAClF,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,4EAA4E,CAC7E;YACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAC/E,aAAa,EAAE,CAAC;iBACb,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gHAAgH,CACjH;YACH,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CAAC,yDAAyD,CAAC;YACtE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACxE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0KAA0K,CAC3K;YACH,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,0GAA0G,CAC3G;YACH,iBAAiB,EAAE,CAAC;iBACjB,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,CACP,sEAAsE,CACvE;gBACH,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,mGAAmG,CACpG;aACJ,CAAC;iBACD,QAAQ,CAAC,qDAAqD,CAAC,CACnE;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,wHAAwH,CACzH;YACH,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;iBAC3C,QAAQ,EAAE;iBACV,QAAQ,CACP,sQAAsQ,CACvQ;SACJ,CAAC;aACD,QAAQ,CACP,4KAA4K,CAC7K,CACJ;aACA,QAAQ,CAAC,mBAAmB,CAAC;QAChC,iBAAiB,EAAE,CAAC;aACjB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,+KAA+K,CAChL;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,CAAC;YACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC/E,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CACP,wGAAwG,CACzG;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;QACH,OAAO,EAAE,CAAC;aACP,MAAM,CAAC;YACN,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CACP,mGAAmG,CACpG;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC7D,SAAS,EAAE,CAAC;iBACT,OAAO,EAAE;iBACT,QAAQ,CACP,oHAAoH,CACrH;SACJ,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CACP,wKAAwK,CACzK;KACJ,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,uCAAuC;QACvC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7F,MAAM,GAAG,CAAC,IAAI,CACZ,oBAAoB,EACpB,wEAAwE,CACzE,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,iFAAiF;QACjF,+EAA+E;QAC/E,mFAAmF;QACnF,8EAA8E;QAC9E,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACjD,MAAM,GAAG,CAAC,IAAI,CACZ,kBAAkB,EAClB,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAElF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QAEjC,yEAAyE;QACzE,4EAA4E;QAC5E,+EAA+E;QAC/E,uDAAuD;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,IAAI,SAAS,CAAC;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;QAChD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,GAAG,mBAAmB,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,OAAO,IAAI,mBAAmB,CAAC;YACjD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;YAEzD,8EAA8E;YAC9E,6EAA6E;YAC7E,uEAAuE;YACvE,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC,IAAI,CACZ,4BAA4B,EAC5B,0CAA0C,mBAAmB,0CAA0C,SAAS,KAAK,UAAU,2LAA2L,mBAAmB,GAAG,CACjV,CAAC;YACJ,CAAC;YAED,IAAI,OAAoB,CAAC;YACzB,IAAI,IAA6B,CAAC;YAClC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE;oBAC1C,SAAS;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS;oBACT,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;gBACH,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,GAAG,EACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAClC,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;oBACF,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;oBACvE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wFAAwF;gBACxF,OAAO,GAAG,MAAM,oBAAoB,CAAC;oBACnC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;oBACxB,SAAS;oBACT,OAAO,EAAE,UAAU;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,SAAS;gBACpB,CAAC,CAAC,MAAM,aAAa,CAAC;oBAClB,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS;oBACT,SAAS,EAAE,mBAAmB;oBAC9B,OAAO;iBACR,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,gFAAgF;YAChF,iFAAiF;YACjF,mEAAmE;YACnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC;YAC3E,MAAM,oBAAoB,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAEtE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACvE,MAAM,aAAa,GAAG,SAAS;gBAC7B,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,gCAAgC,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI;gBACnB,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,UAAU,wCAAwC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,4IAA4I;gBAC3S,CAAC,CAAC,EAAE,CAAC;YACP,wFAAwF;YACxF,mFAAmF;YACnF,uFAAuF;YACvF,uFAAuF;YACvF,mDAAmD;YACnD,MAAM,UAAU,GACd,IAAI,IAAI,oBAAoB;gBAC1B,CAAC,CAAC,QAAQ,mBAAmB,gCAAgC,IAAI,CAAC,IAAI,CAAC,MAAM,8CAA8C,IAAI,CAAC,cAAc,wFAAwF,eAAe,aAAa,mBAAmB,OAAO,OAAO,uCAAuC;gBAC1U,CAAC,CAAC,EAAE,CAAC;YAET,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE;gBACtC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBACjD,YAAY,EAAE,CAAC,iBAAiB,IAAI,CAAC,oBAAoB;gBACzD,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE;oBACX,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACtC,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,SAAS;oBACtB,YAAY,EAAE,OAAO;oBACrB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY;iBAC9E;gBACD,cAAc,EAAE,SAAS;oBACvB,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,mBAAmB,KAAK,SAAS,GAAG,SAAS,KAAK,SAAS,OAAO,OAAO,GAAG;oBAC5H,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAsB,SAAS,GAAG,SAAS,KAAK,SAAS,OAAO,OAAO,GAAG;gBAC/G,YAAY,EAAE,SAAS;oBACrB,CAAC,CAAC,qBAAqB,mBAAmB,4BAA4B,mBAAmB,wDAAwD,aAAa,uJAAuJ,UAAU,GAAG,QAAQ,EAAE;oBAC5U,CAAC,CAAC,eAAe,aAAa,gDAAgD,QAAQ,EAAE;gBAC1F,eAAe,EAAE;oBACf,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,SAAS,SAAS,OAAO,OAAO,EAAE;iBACnC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,SAAS,GAAG,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;QACxE,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;YACvC,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACzC,SAAS,EAAE,KAAK,CAAC,WAAW;YAC5B,OAAO,EAAE,KAAK,CAAC,YAAY;YAC3B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,mFAAmF;QACnF,mFAAmF;QACnF,+EAA+E;QAC/E,mFAAmF;QACnF,0BAA0B;QAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,gBAAgB,CAAC;QACtE,kEAAkE;QAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3D,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;QAE5F,kFAAkF;QAClF,oFAAoF;QACpF,gFAAgF;QAChF,uEAAuE;QACvE,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE7C,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,OAES,CAAC;QACd,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,gFAAgF;QAChF,sDAAsD;QACtD,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,8EAA8E;YAC9E,0CAA0C;YAC1C,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE;gBACrD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC3B,UAAU,EAAE,yBAAyB;gBACrC,WAAW,EAAE;oBACX,KAAK;oBACL,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,MAAM;iBACf;gBACD,SAAS;aACV,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;QACzE,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACtC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK;YACL,cAAc;YACd,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,WAAW,EAAE,OAAO,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,SAAS;YAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,sBAAsB,SAAS,GAAG;YAC/D,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;YACzB,+EAA+E;YAC/E,+EAA+E;YAC/E,sBAAsB;YACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACvC,IAAI,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;gBAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,WAAW,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,sBAAsB,YAAY,uEAAuE,CAC1G,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,kFAAkF;YAClF,wBAAwB;YACxB,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,aAAa;gBACX,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,KAAK,+BAA+B;gBAC9E,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,cAAc,+FAA+F,CAC1J,CAAC;QACJ,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,iFAAiF;YACjF,mFAAmF;YACnF,oFAAoF;YACpF,2EAA2E;YAC3E,sFAAsF;YACtF,MAAM,YAAY,GAAG,SAAS;gBAC5B,CAAC,CAAC,uCAAuC;gBACzC,CAAC,CAAC,iJAAiJ,CAAC;YACtJ,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,CAAC,cAAc;gBACb,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,uCAAuC;gBAC5F,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,IAAI,CAAC,MAAM,6CAA6C,gBAAgB,OAAO,cAAc,aAAa,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,8DAA8D,YAAY,GAAG,CAAC;gBACzQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,gFAAgF;YAChF,6DAA6D;YAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,SAAS;oBACrB,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,2FAA2F,CAAC;gBAChG,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBACtE,QAAQ,CAAC,IAAI,CACX,aAAa;oBACX,CAAC,CAAC,SAAS;wBACT,CAAC,CAAC,kCAAkC,IAAI,CAAC,MAAM,OAAO,OAAO,MAAM,KAAK,qBAAqB;wBAC7F,CAAC,CAAC,4BAA4B,IAAI,CAAC,MAAM,wBAAwB,KAAK,CAAC,MAAM,OAAO,OAAO,yBAAyB;oBACtH,CAAC,CAAC,SAAS;wBACT,CAAC,CAAC,4CAA4C,gBAAgB,OAAO,cAAc,yBAAyB,KAAK,qBAAqB;wBACtI,CAAC,CAAC,sCAAsC,gBAAgB,kCAAkC,KAAK,CAAC,MAAM,OAAO,cAAc,iIAAiI,CACjQ,CAAC;YACJ,CAAC;YACD,IAAI,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,GAAG,EAAE,KAAK,CAAC,KAAK;gBAChB,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,KAAK;YACL,cAAc,EAAE,YAAY;YAC5B,eAAe,EAAE,cAAc;YAC/B,OAAO;YACP,iBAAiB,EAAE,gBAAgB;YACnC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc;YACrC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;gBACpC,CAAC,CAAC,4CAA4C;gBAC9C,CAAC,CAAC,mDAAmD,CAAC;QAC1D,MAAM,SAAS,GACb,MAAM,CAAC,eAAe,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC;QAC7H,MAAM,KAAK,GAAG,CAAC,SAAS,MAAM,CAAC,KAAK,aAAa,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,EAAE,MAAM;gBACzC,CAAC,CAAC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACnH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;YACtE,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,GAAG,MAAM,MAAM,CAAC,CAAC,YAAY,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAC3I,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;iBAClD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;gBACnC,CAAC,CAAC,0BAA0B,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,6DAA6D;gBACrI,CAAC,CAAC,wCAAwC,CAAC;YAC7C,KAAK,CAAC,IAAI,CACR,8BAA8B,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,uBAAuB,MAAM,CAAC,IAAI,CAAC,OAAO,aAAa,UAAU,mIAAmI,CACnR,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS;gBAC5C,CAAC,CAAC,+DAA+D;gBACjE,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,IAAI,CACR,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,aAAa,yCAAyC,CACpK,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"search-filings.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-filings.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @fileoverview The scope one tool call's SEC requests run under: the caller's
3
+ * cancellation signal and the call's failure budget (#179). Built once per tool
4
+ * call from `ctx.signal` and passed to every `EdgarApiService` method that reaches
5
+ * SEC, which takes it as a required parameter.
6
+ * @module services/edgar/call-scope
7
+ */
8
+ /**
9
+ * The most time one tool call may spend on SEC failing it: waits on attempts that
10
+ * got no response or a 5xx, retry backoff, and the idle wait a body stalled on
11
+ * (#179). Healthy progress never counts — pacer queue time, answered requests, a
12
+ * body still arriving — so no call SEC keeps answering with a 2xx is cut. Each attempt's
13
+ * header wait and each body-idle wait is the lesser of its own 15 s cap and the
14
+ * budget left; once it is spent no further attempt or backoff starts. Under the
15
+ * MCP SDK client's 60 s default request timeout with room for the response.
16
+ */
17
+ export declare const CALL_FAILURE_BUDGET_MS = 40000;
18
+ /**
19
+ * One tool call's hold on SEC. `signal` is the caller's: once it fires, every SEC
20
+ * request the call has queued, in flight, reading a body, or sleeping a backoff
21
+ * ends with its reason, unretried and unclassified. The budget is charged by the
22
+ * service as SEC fails the call, and only by the service.
23
+ */
24
+ export declare class CallScope {
25
+ #private;
26
+ readonly signal: AbortSignal;
27
+ constructor(signal: AbortSignal);
28
+ /**
29
+ * A scope for work several calls await — the ticker-index load: a full budget of
30
+ * its own and a signal that never fires, so one waiter's cancel ends only its own
31
+ * wait.
32
+ */
33
+ static unowned(): CallScope;
34
+ /** Budget left, in ms; 0 once spent. */
35
+ get remainingMs(): number;
36
+ /** Failure time charged so far, in ms. */
37
+ get spentMs(): number;
38
+ /** Charge `ms` of time SEC spent failing this call. */
39
+ charge(ms: number): void;
40
+ }
41
+ //# sourceMappingURL=call-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-scope.d.ts","sourceRoot":"","sources":["../../../src/services/edgar/call-scope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAK7C;;;;;GAKG;AACH,qBAAa,SAAS;;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAG7B,YAAY,MAAM,EAAE,WAAW,EAE9B;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,IAAI,SAAS,CAE1B;IAED,wCAAwC;IACxC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,0CAA0C;IAC1C,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,uDAAuD;IACvD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvB;CACF"}