@cyanheads/pubchem-mcp-server 0.4.1 → 0.4.3

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 (55) hide show
  1. package/Dockerfile +11 -7
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/dist/mcp-server/resources/definitions/assay.resource.d.ts.map +1 -1
  5. package/dist/mcp-server/resources/definitions/assay.resource.js +1 -1
  6. package/dist/mcp-server/resources/definitions/assay.resource.js.map +1 -1
  7. package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.js +1 -1
  8. package/dist/mcp-server/resources/definitions/compound-bioactivity.resource.js.map +1 -1
  9. package/dist/mcp-server/resources/definitions/compound-image.resource.js +1 -1
  10. package/dist/mcp-server/resources/definitions/compound-image.resource.js.map +1 -1
  11. package/dist/mcp-server/resources/definitions/compound-safety.resource.d.ts.map +1 -1
  12. package/dist/mcp-server/resources/definitions/compound-safety.resource.js +13 -9
  13. package/dist/mcp-server/resources/definitions/compound-safety.resource.js.map +1 -1
  14. package/dist/mcp-server/resources/definitions/compound-xrefs.resource.js +1 -1
  15. package/dist/mcp-server/resources/definitions/compound-xrefs.resource.js.map +1 -1
  16. package/dist/mcp-server/resources/definitions/compound.resource.js +1 -1
  17. package/dist/mcp-server/resources/definitions/compound.resource.js.map +1 -1
  18. package/dist/mcp-server/resources/definitions/index.d.ts +3 -3
  19. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/get-bioactivity.tool.d.ts +1 -1
  21. package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.d.ts +1 -1
  22. package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.js +2 -2
  23. package/dist/mcp-server/tools/definitions/get-compound-3d-structure.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-compound-details.tool.d.ts.map +1 -1
  25. package/dist/mcp-server/tools/definitions/get-compound-details.tool.js +24 -10
  26. package/dist/mcp-server/tools/definitions/get-compound-details.tool.js.map +1 -1
  27. package/dist/mcp-server/tools/definitions/get-compound-image.tool.d.ts +1 -1
  28. package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.d.ts +0 -1
  29. package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.js +1 -6
  31. package/dist/mcp-server/tools/definitions/get-compound-interactions.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/get-compound-safety.tool.d.ts +6 -0
  33. package/dist/mcp-server/tools/definitions/get-compound-safety.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/get-compound-safety.tool.js +51 -22
  35. package/dist/mcp-server/tools/definitions/get-compound-safety.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/get-compound-xrefs.tool.js +3 -3
  37. package/dist/mcp-server/tools/definitions/get-compound-xrefs.tool.js.map +1 -1
  38. package/dist/mcp-server/tools/definitions/get-summary.tool.d.ts.map +1 -1
  39. package/dist/mcp-server/tools/definitions/get-summary.tool.js +39 -9
  40. package/dist/mcp-server/tools/definitions/get-summary.tool.js.map +1 -1
  41. package/dist/mcp-server/tools/definitions/index.d.ts +200 -195
  42. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  43. package/dist/mcp-server/tools/definitions/search-assays.tool.d.ts +2 -2
  44. package/dist/mcp-server/tools/definitions/search-compounds.tool.d.ts +6 -6
  45. package/dist/mcp-server/tools/definitions/search-compounds.tool.js.map +1 -1
  46. package/dist/services/pubchem/pubchem-client.d.ts +8 -2
  47. package/dist/services/pubchem/pubchem-client.d.ts.map +1 -1
  48. package/dist/services/pubchem/pubchem-client.js +90 -23
  49. package/dist/services/pubchem/pubchem-client.js.map +1 -1
  50. package/dist/services/pubchem/types.d.ts +24 -6
  51. package/dist/services/pubchem/types.d.ts.map +1 -1
  52. package/dist/services/pubchem/types.js.map +1 -1
  53. package/manifest.json +1 -1
  54. package/package.json +11 -10
  55. package/server.json +3 -3
@@ -9,6 +9,11 @@ export declare const getCompoundSafety: import("@cyanheads/mcp-ts-core").ToolDef
9
9
  results: z.ZodArray<z.ZodObject<{
10
10
  cid: z.ZodNumber;
11
11
  hasData: z.ZodBoolean;
12
+ status: z.ZodEnum<{
13
+ cid_not_found: "cid_not_found";
14
+ no_ghs_data: "no_ghs_data";
15
+ ok: "ok";
16
+ }>;
12
17
  ghs: z.ZodOptional<z.ZodObject<{
13
18
  signalWord: z.ZodOptional<z.ZodString>;
14
19
  pictograms: z.ZodArray<z.ZodString>;
@@ -19,6 +24,7 @@ export declare const getCompoundSafety: import("@cyanheads/mcp-ts-core").ToolDef
19
24
  precautionaryStatements: z.ZodArray<z.ZodObject<{
20
25
  code: z.ZodString;
21
26
  statement: z.ZodString;
27
+ decoded: z.ZodBoolean;
22
28
  }, z.core.$strip>>;
23
29
  }, z.core.$strip>>;
24
30
  source: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"get-compound-safety.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAmCjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAmI5B,CAAC"}
1
+ {"version":3,"file":"get-compound-safety.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA4CjD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuK5B,CAAC"}
@@ -21,7 +21,12 @@ const ghsSchema = z
21
21
  .array(z
22
22
  .object({
23
23
  code: z.string().describe('P-code (e.g. "P210").'),
24
- statement: z.string().describe('Precautionary statement text.'),
24
+ statement: z
25
+ .string()
26
+ .describe('Standard precautionary statement text for the code. Empty string when "decoded" is false — PubChem deposits P-codes without text, so a blank statement means the code was not decoded, never that the depositor supplied an empty statement.'),
27
+ decoded: z
28
+ .boolean()
29
+ .describe('Whether "statement" carries the standard text. False for codes needing label-specific fill text the depositor must supply (disposal method, firefighting agent, first-aid reference) and for codes outside the decoder table; the code itself is still authoritative.'),
25
30
  })
26
31
  .describe('GHS precautionary statement entry.'))
27
32
  .describe('GHS precautionary statements.'),
@@ -52,58 +57,74 @@ export const getCompoundSafety = tool('pubchem_get_compound_safety', {
52
57
  hasData: z
53
58
  .boolean()
54
59
  .describe('Whether GHS safety data is available for this compound.'),
60
+ status: z
61
+ .enum(['ok', 'no_ghs_data', 'cid_not_found'])
62
+ .describe('Outcome for this CID. "ok": GHS data returned. "no_ghs_data": the compound exists in PubChem but has no deposited GHS classification. "cid_not_found": PubChem has no record for this CID at all — the identifier is wrong, so verify it with pubchem_search_compounds rather than concluding the compound is unclassified.'),
55
63
  ghs: ghsSchema.optional(),
56
64
  source: z.string().optional().describe('Data source attribution.'),
57
65
  })
58
66
  .describe('Per-CID safety result.'))
59
67
  .describe('Safety results, one per requested CID (input order preserved).'),
60
68
  }),
61
- // Agent-facing context — requested/with-data counts and a cross-tool notice listing the CIDs
62
- // that lack GHS data. Reaches structuredContent and content[]; keys disjoint from output.
69
+ // Agent-facing context — requested/with-data counts and a notice that names the CIDs behind
70
+ // each non-ok status separately. Reaches structuredContent and content[]; keys disjoint from
71
+ // output.
63
72
  enrichment: {
64
73
  requestedCount: z.number().describe('CIDs requested.'),
65
74
  withDataCount: z.number().describe('CIDs with GHS safety data available.'),
66
75
  notice: z
67
76
  .string()
68
77
  .optional()
69
- .describe('Cross-tool guidance when one or more CIDs have no GHS data, pointing to an alternative source.'),
78
+ .describe('Recovery guidance when one or more CIDs returned no GHS data, listing the unrecognized CIDs to verify separately from the CIDs that exist but carry no deposited classification.'),
70
79
  },
71
80
  async handler(input, ctx) {
72
81
  const client = getPubChemClient();
73
82
  // Fan out per CID, capped at MAX_IN_FLIGHT in flight.
74
- const dataByCid = new Map();
83
+ const lookupByCid = new Map();
75
84
  for (let i = 0; i < input.cids.length; i += MAX_IN_FLIGHT) {
76
85
  const chunk = input.cids.slice(i, i + MAX_IN_FLIGHT);
77
86
  const chunkData = await Promise.all(chunk.map(async (cid) => [cid, await client.getSafetyData(cid)]));
78
- for (const [cid, data] of chunkData)
79
- dataByCid.set(cid, data);
87
+ for (const [cid, lookup] of chunkData)
88
+ lookupByCid.set(cid, lookup);
80
89
  }
81
90
  const results = input.cids.map((cid) => {
82
- const data = dataByCid.get(cid) ?? null;
83
- if (!data)
84
- return { cid, hasData: false };
91
+ const lookup = lookupByCid.get(cid) ?? { status: 'no_ghs_data' };
92
+ if (lookup.status !== 'ok')
93
+ return { cid, hasData: false, status: lookup.status };
85
94
  return {
86
95
  cid,
87
96
  hasData: true,
97
+ status: lookup.status,
88
98
  ghs: {
89
- signalWord: data.signalWord,
90
- pictograms: data.pictograms,
91
- hazardStatements: data.hazardStatements,
92
- precautionaryStatements: data.precautionaryStatements,
99
+ signalWord: lookup.ghs.signalWord,
100
+ pictograms: lookup.ghs.pictograms,
101
+ hazardStatements: lookup.ghs.hazardStatements,
102
+ precautionaryStatements: lookup.ghs.precautionaryStatements,
93
103
  },
94
- source: data.source,
104
+ source: lookup.ghs.source,
95
105
  };
96
106
  });
97
107
  const withDataCount = results.filter((r) => r.hasData).length;
108
+ const unknownCids = results.filter((r) => r.status === 'cid_not_found').map((r) => r.cid);
109
+ const noDataCids = results.filter((r) => r.status === 'no_ghs_data').map((r) => r.cid);
98
110
  ctx.log.info('Safety data fetched', {
99
111
  requested: input.cids.length,
100
112
  withData: withDataCount,
113
+ notFound: unknownCids.length,
101
114
  });
102
115
  ctx.enrich({ requestedCount: input.cids.length, withDataCount });
103
- if (withDataCount < input.cids.length) {
104
- const missing = results.filter((r) => !r.hasData).map((r) => r.cid);
105
- ctx.enrich.notice(`No GHS classification on file for ${missing.length} of ${input.cids.length} CID(s): ${missing.join(', ')}. Try pubchem_get_compound_details with includeDescription for hazard context, or those compounds may simply lack deposited safety data.`);
116
+ // Unknown CIDs lead: a wrong identifier invalidates the question, whereas a real compound
117
+ // without GHS data is a real answer. Collapsing the two is what made a mistyped CID read
118
+ // as a confident "no hazards on file".
119
+ const notices = [];
120
+ if (unknownCids.length > 0) {
121
+ notices.push(`PubChem has no record for ${unknownCids.length} of ${input.cids.length} CID(s): ${unknownCids.join(', ')} — verify the CID with pubchem_search_compounds. Nothing was evaluated for these identifiers, so they say nothing about any compound's hazards.`);
122
+ }
123
+ if (noDataCids.length > 0) {
124
+ notices.push(`No GHS classification on file for ${noDataCids.length} of ${input.cids.length} CID(s): ${noDataCids.join(', ')}. These compounds exist in PubChem but have no deposited safety data — try pubchem_get_compound_details with includeDescription for hazard context.`);
106
125
  }
126
+ if (notices.length > 0)
127
+ ctx.enrich.notice(notices.join(' '));
107
128
  return { results };
108
129
  },
109
130
  format(result) {
@@ -113,10 +134,18 @@ export const getCompoundSafety = tool('pubchem_get_compound_safety', {
113
134
  const blocks = [];
114
135
  for (const r of result.results) {
115
136
  if (!r.hasData || !r.ghs) {
116
- blocks.push(`## CID ${r.cid} no GHS safety data`, '');
137
+ blocks.push(...(r.status === 'cid_not_found'
138
+ ? [
139
+ `## CID ${r.cid} — no PubChem record`,
140
+ '**Status:** cid_not_found — PubChem has no compound with this CID, so nothing was evaluated for safety. Verify it with pubchem_search_compounds.',
141
+ ]
142
+ : [
143
+ `## CID ${r.cid} — no GHS safety data`,
144
+ '**Status:** no_ghs_data — the compound exists in PubChem but has no deposited GHS classification.',
145
+ ]), '');
117
146
  continue;
118
147
  }
119
- const lines = [`## GHS Safety Data — CID ${r.cid}`];
148
+ const lines = [`## GHS Safety Data — CID ${r.cid}`, `**Status:** ${r.status}`];
120
149
  const g = r.ghs;
121
150
  if (g.signalWord)
122
151
  lines.push(`**Signal Word:** ${g.signalWord}`);
@@ -128,9 +157,9 @@ export const getCompoundSafety = tool('pubchem_get_compound_safety', {
128
157
  lines.push(` ${h.code}: ${inlineData(h.statement)}`);
129
158
  }
130
159
  if (g.precautionaryStatements.length > 0) {
131
- lines.push('', '**Precautionary Statements:**');
160
+ lines.push('', '**Precautionary Statements:** (PubChem deposits bare P-codes; any not decoded below is a decoder gap or a code needing label-specific fill text, not an empty statement)');
132
161
  for (const p of g.precautionaryStatements) {
133
- lines.push(p.statement ? ` ${p.code}: ${inlineData(p.statement)}` : ` ${p.code}`);
162
+ lines.push(p.decoded ? ` ${p.code}: ${inlineData(p.statement)}` : ` ${p.code}: (not decoded)`);
134
163
  }
135
164
  }
136
165
  if (r.source)
@@ -1 +1 @@
1
- {"version":3,"file":"get-compound-safety.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-compound-safety.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-safety.tool.ts"],"names":[],"mappings":"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"}
@@ -99,9 +99,9 @@ export const getCompoundXrefs = tool('pubchem_get_compound_xrefs', {
99
99
  : `${xref.totalAvailable} total`;
100
100
  lines.push(`**${xref.type}** (${countInfo})`);
101
101
  if (xref.ids.length > 0) {
102
- const display = xref.ids.slice(0, 20);
103
- const more = xref.ids.length > 20 ? `, ... (+${xref.ids.length - 20} more)` : '';
104
- lines.push(` ${display.join(', ')}${more}`);
102
+ // Rendered in full: the handler already capped ids at maxPerType and the header
103
+ // discloses that cap, so a second slice here would hide IDs structuredContent returned.
104
+ lines.push(` ${xref.ids.join(', ')}`);
105
105
  }
106
106
  else {
107
107
  lines.push(' None found');
@@ -1 +1 @@
1
- {"version":3,"file":"get-compound-xrefs.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-xrefs.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-compound-xrefs.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-compound-xrefs.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-summary.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-summary.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAmCjD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmIrB,CAAC"}
1
+ {"version":3,"file":"get-summary.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-summary.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAwCjD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIrB,CAAC"}
@@ -28,7 +28,10 @@ const entitySummaryDataSchema = z.object({
28
28
  scientificName: z.string().optional().describe('Scientific name (taxonomy summaries).'),
29
29
  commonName: z.string().optional().describe('Common name (taxonomy summaries).'),
30
30
  rank: z.string().optional().describe('Taxonomic rank (taxonomy summaries).'),
31
- lineage: z.array(z.string()).optional().describe('Parent taxonomy lineage (taxonomy summaries).'),
31
+ lineage: z
32
+ .array(z.string())
33
+ .optional()
34
+ .describe('Taxonomic lineage ordered from the most inclusive rank to the most specific, e.g. ["Eukaryota", "Metazoa", "Chordata"] (taxonomy summaries). Ranks that do not apply to the entity are omitted.'),
32
35
  });
33
36
  export const getSummary = tool('pubchem_get_summary', {
34
37
  title: 'Get Entity Summary',
@@ -125,12 +128,15 @@ export const getSummary = tool('pubchem_get_summary', {
125
128
  if (Array.isArray(value)) {
126
129
  if (value.length === 0)
127
130
  continue;
128
- // synonyms / lineage — upstream free text; escape each element inline.
131
+ /**
132
+ * synonyms / lineage — upstream free text; escape each element inline.
133
+ * Rendered in full: structuredContent carries the whole array, so capping
134
+ * here would hide values the structured surface already returned.
135
+ * Pipe-separated because synonyms carry their own commas ("Homo sapiens
136
+ * Linnaeus, 1758"), which would split one entry into two.
137
+ */
129
138
  const items = value.map((v) => inlineData(String(v)));
130
- const display = items.length > 10
131
- ? `${items.slice(0, 10).join(', ')} (+${items.length - 10} more)`
132
- : items.join(', ');
133
- lines.push(` ${formatKey(key)}: ${display}`);
139
+ lines.push(` ${formatKey(key)}: ${items.join(' | ')}`);
134
140
  }
135
141
  else if (typeof value === 'string') {
136
142
  lines.push(` ${formatKey(key)}: ${inlineData(value)}`);
@@ -174,6 +180,29 @@ function toStrArr(v) {
174
180
  return [v];
175
181
  return;
176
182
  }
183
+ /**
184
+ * Ranks of PubChem's `RankedLineage`, ordered most-inclusive-first. The upstream
185
+ * object keys run the other way (Species first) and carry empty strings for ranks
186
+ * that do not apply, so the flat lineage is rebuilt in this order with blanks dropped.
187
+ */
188
+ const LINEAGE_RANKS = [
189
+ 'Superkingdom',
190
+ 'Kingdom',
191
+ 'Phylum',
192
+ 'Class',
193
+ 'Order',
194
+ 'Family',
195
+ 'Genus',
196
+ 'Species',
197
+ ];
198
+ /** Flatten a `RankedLineage` object into an ordered list of taxon names. */
199
+ function toLineage(v) {
200
+ if (typeof v !== 'object' || v === null || Array.isArray(v))
201
+ return;
202
+ const ranked = v;
203
+ const names = LINEAGE_RANKS.map((rank) => ranked[rank]).filter((name) => typeof name === 'string' && name.length > 0);
204
+ return names.length > 0 ? names : undefined;
205
+ }
177
206
  /** Assign `value` to `target[key]` only when defined — keeps unknowns off the output. */
178
207
  function put(target, key, value) {
179
208
  if (value !== undefined)
@@ -187,8 +216,8 @@ function extractSummary(entityType, raw) {
187
216
  put(data, 'name', toStr(raw.Name ?? raw.AssayName));
188
217
  put(data, 'description', toStr(raw.Description));
189
218
  put(data, 'sourceName', toStr(raw.SourceName));
190
- put(data, 'numSubstances', toNum(raw.NumberOfSubstances ?? raw.TotalSIDCount));
191
- put(data, 'numActive', toNum(raw.ActiveSidCount ?? raw.ActiveCount));
219
+ put(data, 'numSubstances', toNum(raw.SIDCountAll));
220
+ put(data, 'numActive', toNum(raw.SIDCountActive));
192
221
  return data;
193
222
  case 'gene':
194
223
  put(data, 'geneId', toNum(raw.GeneID));
@@ -211,7 +240,8 @@ function extractSummary(entityType, raw) {
211
240
  put(data, 'scientificName', toStr(raw.ScientificName));
212
241
  put(data, 'commonName', toStr(raw.CommonName));
213
242
  put(data, 'rank', toStr(raw.Rank));
214
- put(data, 'lineage', toStrArr(raw.Lineage ?? raw.ParentTaxList));
243
+ put(data, 'lineage', toLineage(raw.RankedLineage));
244
+ put(data, 'synonyms', toStrArr(raw.Synonym));
215
245
  return data;
216
246
  }
217
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-summary.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-summary.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-summary.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-summary.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAIxE;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACrF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACxF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACvE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACjG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC9F,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAClF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC5E,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,iMAAiM,CAClM;CACJ,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE;IACpD,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,uKAAuK;IACzK,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;KACpB;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QAC7F,WAAW,EAAE,CAAC;aACX,KAAK,CACJ,CAAC;aACE,KAAK,CAAC;YACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YAClE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SACvE,CAAC;aACD,QAAQ,CAAC,+DAA+D,CAAC,CAC7E;aACA,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,CACP,qOAAqO,CACtO;KACJ,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,SAAS,EAAE,CAAC;aACT,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC;gBACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;gBAClE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;aACvE,CAAC;iBACD,QAAQ,CAAC,qBAAqB,CAAC;YAClC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YAC5D,IAAI,EAAE,uBAAuB;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;SAC3E,CAAC;aACD,QAAQ,CAAC,gCAAgC,CAAC,CAC9C;aACA,QAAQ,CAAC,kBAAkB,CAAC;KAChC,CAAC;IACF,yFAAyF;IACzF,sEAAsE;IACtE,UAAU,EAAE;QACV,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC7D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACrE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;KAC9E;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAElC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC;YAE3D,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACnD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAa,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAE3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAChC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM;YACnC,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,MAAM,CACf,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,UAAU,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,oEAAoE,KAAK,CAAC,UAAU,8EAA8E,CAC9P,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,MAAM;QACX,MAAM,KAAK,GAAa,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAE9E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACjB,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC;YAElF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,KAAK,MAAM;oBAAE,SAAS;gBAC9C,uEAAuE;gBACvE,IAAI,GAAG,KAAK,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvD,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACnE,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBACjC;;;;;;uBAMG;oBACH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AAEH,uEAAuE;AAEvE,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO;AACT,CAAC;AAED,SAAS,KAAK,CAAC,CAAU;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC;IACD,OAAO;AACT,CAAC;AAED,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO;AACT,CAAC;AAED;;;;GAIG;AACH,MAAM,aAAa,GAAG;IACpB,cAAc;IACd,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;CACD,CAAC;AAEX,4EAA4E;AAC5E,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO;IACpE,MAAM,MAAM,GAAG,CAA4B,CAAC;IAC5C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CACtE,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,yFAAyF;AACzF,SAAS,GAAG,CACV,MAAyB,EACzB,GAAM,EACN,KAAuC;IAEvC,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,UAAsB,EAAE,GAA4B;IAC1E,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACpD,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACjD,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,KAAK,UAAU;YACb,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG;SACP,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACrC,IAAI,EAAE,CAAC;AACZ,CAAC"}