@opencx/mcp 1.15.34 → 1.15.36

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 (41) hide show
  1. package/dist/campaign-tools.spec.js +129 -0
  2. package/dist/campaign-tools.spec.js.map +1 -1
  3. package/dist/email-tools.spec.d.ts +2 -0
  4. package/dist/email-tools.spec.d.ts.map +1 -0
  5. package/dist/email-tools.spec.js +149 -0
  6. package/dist/email-tools.spec.js.map +1 -0
  7. package/dist/phone-tools.spec.js +45 -0
  8. package/dist/phone-tools.spec.js.map +1 -1
  9. package/dist/schema.d.ts +786 -171
  10. package/dist/schema.d.ts.map +1 -1
  11. package/dist/tools/campaign-channel.d.ts.map +1 -1
  12. package/dist/tools/campaign-channel.js +76 -5
  13. package/dist/tools/campaign-channel.js.map +1 -1
  14. package/dist/tools/campaign-personalization.d.ts.map +1 -1
  15. package/dist/tools/campaign-personalization.js +7 -3
  16. package/dist/tools/campaign-personalization.js.map +1 -1
  17. package/dist/tools/campaign-spine.d.ts.map +1 -1
  18. package/dist/tools/campaign-spine.js +35 -6
  19. package/dist/tools/campaign-spine.js.map +1 -1
  20. package/dist/tools/conversation-sankey.d.ts.map +1 -1
  21. package/dist/tools/conversation-sankey.js +5 -2
  22. package/dist/tools/conversation-sankey.js.map +1 -1
  23. package/dist/tools/csat.d.ts.map +1 -1
  24. package/dist/tools/csat.js +3 -3
  25. package/dist/tools/csat.js.map +1 -1
  26. package/dist/tools/email.d.ts.map +1 -1
  27. package/dist/tools/email.js +20 -6
  28. package/dist/tools/email.js.map +1 -1
  29. package/dist/tools/impact-report.d.ts.map +1 -1
  30. package/dist/tools/impact-report.js +1 -1
  31. package/dist/tools/impact-report.js.map +1 -1
  32. package/dist/tools/phone.d.ts.map +1 -1
  33. package/dist/tools/phone.js +15 -3
  34. package/dist/tools/phone.js.map +1 -1
  35. package/dist/tools/sessions.d.ts.map +1 -1
  36. package/dist/tools/sessions.js +32 -2
  37. package/dist/tools/sessions.js.map +1 -1
  38. package/dist/tools/structured-fields.d.ts.map +1 -1
  39. package/dist/tools/structured-fields.js +17 -2
  40. package/dist/tools/structured-fields.js.map +1 -1
  41. package/package.json +1 -1
@@ -131,6 +131,10 @@ describe('sequence authoring tools', () => {
131
131
  const tool = await toolNamed(name);
132
132
  expect(Object.keys(tool.inputSchema.properties ?? {})).toEqual([]);
133
133
  });
134
+ it('list_sequence_data_keys reads the data-keys route for one sequence', async () => {
135
+ await client.callTool({ name: 'list_sequence_data_keys', arguments: { sequence_id: 'c1' } });
136
+ expect(requestUrl(fetchSpy.mock.calls[0])).toContain('/sequences/c1/data-keys');
137
+ });
134
138
  it('list_enrichment_paths needs no arguments', async () => {
135
139
  const tool = await toolNamed('list_enrichment_paths');
136
140
  expect(Object.keys(tool.inputSchema.properties ?? {})).toEqual([]);
@@ -182,6 +186,7 @@ describe('sequence authoring tools', () => {
182
186
  body_text: 'Hi {{1}}',
183
187
  body_variable_examples: ['Sara'],
184
188
  footer_text: 'Support',
189
+ buttons: [],
185
190
  });
186
191
  // Optional fields the caller omitted are not sent as undefined keys.
187
192
  expect(body).not.toHaveProperty('header_text');
@@ -199,6 +204,42 @@ describe('sequence authoring tools', () => {
199
204
  });
200
205
  const body = await requestBody(fetchSpy.mock.calls[0]);
201
206
  expect(body?.body_variable_examples).toEqual([]);
207
+ expect(body?.buttons).toEqual([]);
208
+ expect(body).not.toHaveProperty('message_send_ttl_seconds');
209
+ });
210
+ it('create_whatsapp_template forwards buttons and message validity verbatim', async () => {
211
+ await client.callTool({
212
+ name: 'create_whatsapp_template',
213
+ arguments: {
214
+ name: 'code_drop',
215
+ language: 'en_US',
216
+ category: 'MARKETING',
217
+ body_text: 'Your code is inside.',
218
+ message_send_ttl_seconds: 86400,
219
+ buttons: [
220
+ {
221
+ type: 'URL',
222
+ text: 'Track',
223
+ url: 'https://open.cx/t/{{1}}',
224
+ url_example: 'https://open.cx/t/abc',
225
+ },
226
+ { type: 'COPY_CODE', example: 'SAVE20' },
227
+ ],
228
+ },
229
+ });
230
+ const body = await requestBody(fetchSpy.mock.calls[0]);
231
+ expect(body).toMatchObject({
232
+ message_send_ttl_seconds: 86400,
233
+ buttons: [
234
+ {
235
+ type: 'URL',
236
+ text: 'Track',
237
+ url: 'https://open.cx/t/{{1}}',
238
+ url_example: 'https://open.cx/t/abc',
239
+ },
240
+ { type: 'COPY_CODE', example: 'SAVE20' },
241
+ ],
242
+ });
202
243
  });
203
244
  });
204
245
  describe('the spine — create, enroll, launch', () => {
@@ -459,6 +500,94 @@ describe('sequence authoring tools', () => {
459
500
  steps: [{ channel: 'voice', content: { type: 'voice_call' }, delay_minutes: 0 }],
460
501
  });
461
502
  });
503
+ it('set_sequence_steps forwards WhatsApp button bindings by Meta index', async () => {
504
+ await client.callTool({
505
+ name: 'set_sequence_steps',
506
+ arguments: {
507
+ sequence_id: 'c1',
508
+ steps: [
509
+ {
510
+ channel: 'whatsapp',
511
+ content: {
512
+ type: 'whatsapp_template',
513
+ template_name: 'code_drop',
514
+ template_language: 'en_US',
515
+ variables: {},
516
+ buttons: { '1': { source: 'promo_code' } },
517
+ },
518
+ delay_minutes: 0,
519
+ },
520
+ ],
521
+ },
522
+ });
523
+ const body = await requestBody(fetchSpy.mock.calls[0]);
524
+ expect(body).toMatchObject({
525
+ steps: [{ content: { buttons: { '1': { source: 'promo_code' } } } }],
526
+ });
527
+ });
528
+ it('set_sequence_steps accepts an attached-data source with a type and forwards it verbatim', async () => {
529
+ await client.callTool({
530
+ name: 'set_sequence_steps',
531
+ arguments: {
532
+ sequence_id: 'c1',
533
+ steps: [
534
+ {
535
+ channel: 'email',
536
+ content: {
537
+ type: 'email',
538
+ subject: 'For {{company}}, renewing {{renewal}}',
539
+ html: '<p>{{company}} {{renewal}}</p>',
540
+ text: '{{company}} {{renewal}}',
541
+ variables: {
542
+ company: { source: 'company', fallback: 'your team' },
543
+ renewal: { source: 'renewal_at', type: 'date' },
544
+ },
545
+ },
546
+ delay_minutes: 0,
547
+ },
548
+ ],
549
+ },
550
+ });
551
+ const body = await requestBody(fetchSpy.mock.calls[0]);
552
+ expect(body).toMatchObject({
553
+ steps: [
554
+ {
555
+ content: {
556
+ variables: {
557
+ company: { source: 'company', fallback: 'your team' },
558
+ renewal: { source: 'renewal_at', type: 'date' },
559
+ },
560
+ },
561
+ },
562
+ ],
563
+ });
564
+ });
565
+ it('set_sequence_steps refuses a type outside the column vocabulary at the tool boundary', async () => {
566
+ const voiceStep = (type) => ({
567
+ channel: 'voice',
568
+ content: {
569
+ type: 'voice_call',
570
+ extra_instructions: 'Seats: {{seats}}',
571
+ variables: { seats: { source: 'seats', type } },
572
+ },
573
+ delay_minutes: 0,
574
+ });
575
+ const refused = await client.callTool({
576
+ name: 'set_sequence_steps',
577
+ arguments: { sequence_id: 'c1', steps: [voiceStep('integer')] },
578
+ });
579
+ expect(refused.isError).toBe(true);
580
+ expect(fetchSpy).not.toHaveBeenCalled();
581
+ // Positive control: the same payload with a real type is forwarded.
582
+ await client.callTool({
583
+ name: 'set_sequence_steps',
584
+ arguments: { sequence_id: 'c1', steps: [voiceStep('number')] },
585
+ });
586
+ const body = await requestBody(fetchSpy.mock.calls[0]);
587
+ expect(body).toMatchObject({
588
+ steps: [{ content: { variables: { seats: { source: 'seats', type: 'number' } } } }],
589
+ });
590
+ });
462
591
  it('edit_sequence_steps forwards a mixed typed batch to PATCH /steps', async () => {
463
592
  await client.callTool({
464
593
  name: 'edit_sequence_steps',
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-tools.spec.js","sourceRoot":"","sources":["../src/campaign-tools.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-tools.spec.js","sourceRoot":"","sources":["../src/campaign-tools.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAC9E,2EAA2E;AAC3E,sDAAsD;AAEtD,SAAS,YAAY,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,UAAU,CAAC,IAAe;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAe;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAgB,CAAC;IACpC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,MAAc,CAAC;IACnB,IAAI,OAA4B,CAAC;IACjC,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QACpE,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,GAAG,KAAK,IAAI,EAAE;YACnB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,EAAE,CAAC;QAChB,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE;oBACjD,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBACzD,QAAQ,EAAE;wBACR,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;wBAC/E,IAAI,EAAE,EAAE;qBACT;oBACD,IAAI,EAAE,IAAI;iBACX;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,IAAI,EAAE,IAAI;gBACV,yDAAyD;gBACzD,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACzD,oEAAoE;gBACpE,oDAAoD;gBACpD,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC;oBAC/E,IAAI,EAAE,EAAE;iBACT;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;aACpE,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,wEAAwE;YACxE,uEAAuE;YACvE,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACjD,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACtD,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;YAC1D,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SAC/C,CAAC,CAAC,oEAAoE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5F,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC,CAC3D,yDAAyD,EACzD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEpE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;iBACvF;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;aACvF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE;aAC5E,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,UAAU;oBACrB,sBAAsB,EAAE,CAAC,MAAM,CAAC;oBAChC,WAAW,EAAE,SAAS;iBACvB;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,UAAU;gBACrB,sBAAsB,EAAE,CAAC,MAAM,CAAC;gBAChC,WAAW,EAAE,SAAS;gBACtB,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YACH,qEAAqE;YACrE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,aAAa;iBACzB;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,WAAW;oBACrB,SAAS,EAAE,sBAAsB;oBACjC,wBAAwB,EAAE,KAAK;oBAC/B,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,OAAO;4BACb,GAAG,EAAE,yBAAyB;4BAC9B,WAAW,EAAE,uBAAuB;yBACrC;wBACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;qBACzC;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,wBAAwB,EAAE,KAAK;gBAC/B,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,KAAK;wBACX,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,yBAAyB;wBAC9B,WAAW,EAAE,uBAAuB;qBACrC;oBACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;iBACzC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAClD,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,2BAA2B,EAAE;aACpF,CAAC,CAAC;YAEH,wEAAwE;YACxE,sEAAsE;YACtE,+DAA+D;YAC/D,8DAA8D;YAC9D,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,2BAA2B;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,uBAAuB;gBAC7B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;oBACpE,SAAS,EAAE,QAAQ;iBACpB;aACF,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;gBACpE,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,uBAAuB;gBAC7B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE;wBACR,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;wBACrF,EAAE,YAAY,EAAE,cAAc,EAAE;qBACjC;iBACF;aACF,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD,QAAQ,EAAE;oBACR,EAAE,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACrF,EAAE,YAAY,EAAE,cAAc,EAAE;iBACjC;gBACD,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,oBAAoB,EAAE,KAAK,EAAE,8BAA8B,CAAC;YAC7D,CAAC,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,CAAC;YACnD,CAAC,gBAAgB,EAAE,MAAM,EAAE,qBAAqB,CAAC;YACjD,CAAC,iBAAiB,EAAE,MAAM,EAAE,sBAAsB,CAAC;YACnD,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,CAAC;YACxC,CAAC,oBAAoB,EAAE,KAAK,EAAE,qBAAqB,CAAC;YACpD,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,CAAC;YACzD,CAAC,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,CAAC;YACzD,CAAC,yBAAyB,EAAE,KAAK,EAAE,kCAAkC,CAAC;SACvE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/C,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC;YACN,CAAC,sBAAsB,EAAE,KAAK,EAAE,6BAA6B,CAAC;YAC9D,CAAC,6BAA6B,EAAE,KAAK,EAAE,oCAAoC,CAAC;SAC7E,CAAC,CAAC,oCAAoC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACtF,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;aAC3E,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACrF,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,4BAA4B;gBAClC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;aACrE,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACrF,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,uBAAuB;gBAC7B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE;aACjF,CAAC,CAAC;YACH,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACrF,MAAM,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,oBAAoB;aAC7B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;aACnD,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAClE,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,2BAA2B,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC7D,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,kCAAkC;gBACxC,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;iBACd;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CACnD,+GAA+G,CAChH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE;iBAC9E;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAChC,uHAAuH,CACxH,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE;aAC9E,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,yBAAyB;wBAClC,IAAI,EAAE,kDAAkD;qBACzD;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;aAC/D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE;wBACP,IAAI,EAAE,mBAAmB;wBACzB,aAAa,EAAE,eAAe;wBAC9B,iBAAiB,EAAE,OAAO;wBAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;qBACzB;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;aACjE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE;iBAC7D;aACF,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,qCAAqC;gBAC3C,SAAS,EAAE;oBACT,WAAW,EAAE,sCAAsC;oBACnD,UAAU,EAAE,sCAAsC;oBAClD,UAAU,EAAE,CAAC;iBACd;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAChC,uHAAuH,CACxH,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE;gCACP,IAAI,EAAE,YAAY;gCAClB,kBAAkB,EAAE,gBAAgB;gCACpC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;6BACnE;4BACD,aAAa,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;aACjF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,UAAU;4BACnB,OAAO,EAAE;gCACP,IAAI,EAAE,mBAAmB;gCACzB,aAAa,EAAE,WAAW;gCAC1B,iBAAiB,EAAE,OAAO;gCAC1B,SAAS,EAAE,EAAE;gCACb,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;6BAC3C;4BACD,aAAa,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC;aACrE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;YACvG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,uCAAuC;gCAChD,IAAI,EAAE,gCAAgC;gCACtC,IAAI,EAAE,yBAAyB;gCAC/B,SAAS,EAAE;oCACT,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE;oCACrD,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;iCAChD;6BACF;4BACD,aAAa,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE;4BACP,SAAS,EAAE;gCACT,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE;gCACrD,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;6BAChD;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;YACpG,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;gBACnC,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,IAAI,EAAE,YAAY;oBAClB,kBAAkB,EAAE,kBAAkB;oBACtC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;iBAChD;gBACD,aAAa,EAAE,CAAC;aACjB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;aAChE,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxC,oEAAoE;YACpE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;aAC/D,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;aACpF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE;wBAC/B;4BACE,EAAE,EAAE,QAAQ;4BACZ,KAAK,EAAE;gCACL;oCACE,OAAO,EAAE,UAAU;oCACnB,OAAO,EAAE;wCACP,IAAI,EAAE,mBAAmB;wCACzB,aAAa,EAAE,UAAU;wCACzB,iBAAiB,EAAE,IAAI;wCACvB,SAAS,EAAE,EAAE;qCACd;oCACD,aAAa,EAAE,IAAI;iCACpB;6BACF;yBACF;wBACD,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;qBAClD;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;YAC1F,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,sBAAsB;gCAC/B,IAAI,EAAE,yCAAyC;gCAC/C,IAAI,EAAE,+BAA+B;gCACrC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;6BACnE;4BACD,aAAa,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;aAC5E,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;YAClG,uEAAuE;YACvE,qCAAqC;YACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,OAAO;4BAChB,OAAO,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,OAAO,EAAE,OAAO;gCAChB,IAAI,EAAE,eAAe;gCACrB,IAAI,EAAE,mBAAmB;gCACzB,SAAS,EAAE,EAAE;6BACd;4BACD,aAAa,EAAE,CAAC;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;YACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;YAC1G,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,qBAAqB;gBAC3B,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE;wBACL;4BACE,EAAE,EAAE,QAAQ;4BACZ,UAAU,EAAE,CAAC;4BACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE;yBACpF;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC;gBAC1B;oBACE,EAAE,EAAE,QAAQ;oBACZ,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,aAAa;wBACtB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,KAAK;wBACX,SAAS,EAAE,EAAE;qBACd;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,SAAS,EAAE;oBACT,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;iBAChE;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACnB,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;aAChE,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE;aAC5E,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,6BAA6B;gBACnC,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;aACnD,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAEjF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBAChC,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE;oBACT,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAkC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=email-tools.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-tools.spec.d.ts","sourceRoot":"","sources":["../src/email-tools.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,149 @@
1
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
+ import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
3
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
+ import { createServer } from './server.js';
5
+ // `send_email`, from the agent's side of the wire.
6
+ //
7
+ // Regression: the tool used to take `recipients: [{ contact_id }]` and put the
8
+ // contact UUID on the wire as `to_email`, so the API rejected every call with
9
+ // `recipients.0.to_email invalid_format`. The public API addresses recipients
10
+ // by email address (the contact is upserted by email on send) — the tool now
11
+ // carries the same shape verbatim.
12
+ function mockResponse(body, status = 200) {
13
+ return new Response(JSON.stringify(body), { status, statusText: 'OK' });
14
+ }
15
+ function requestUrl(call) {
16
+ const arg = call[0];
17
+ return arg instanceof Request ? arg.url : String(arg);
18
+ }
19
+ async function requestBody(call) {
20
+ const arg = call[0];
21
+ if (arg instanceof Request) {
22
+ const text = await arg.clone().text();
23
+ return text ? JSON.parse(text) : undefined;
24
+ }
25
+ const init = call[1];
26
+ if (typeof init === 'object' &&
27
+ init !== null &&
28
+ 'body' in init &&
29
+ typeof init.body === 'string') {
30
+ return JSON.parse(init.body);
31
+ }
32
+ return undefined;
33
+ }
34
+ describe('email tools', () => {
35
+ let client;
36
+ let cleanup;
37
+ let fetchSpy;
38
+ beforeEach(async () => {
39
+ fetchSpy = vi.fn().mockResolvedValue(mockResponse({ ok: true }));
40
+ vi.stubGlobal('fetch', fetchSpy);
41
+ const server = createServer('test-api-key', 'https://api.test.com');
42
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
43
+ await server.connect(serverTransport);
44
+ client = new Client({ name: 'test-client', version: '1.0.0' });
45
+ await client.connect(clientTransport);
46
+ cleanup = async () => {
47
+ await client.close();
48
+ await server.close();
49
+ };
50
+ });
51
+ afterEach(async () => {
52
+ await cleanup();
53
+ vi.restoreAllMocks();
54
+ });
55
+ const toolNamed = async (name) => {
56
+ const { tools } = await client.listTools();
57
+ return tools.find((t) => t.name === name);
58
+ };
59
+ describe('send_email', () => {
60
+ it('declares recipients by to_email, never by contact_id', async () => {
61
+ const tool = await toolNamed('send_email');
62
+ expect(tool).toBeDefined();
63
+ const recipients = JSON.stringify(tool.inputSchema.properties?.recipients);
64
+ expect(recipients).toContain('"to_email"');
65
+ expect(recipients).not.toContain('"contact_id"');
66
+ });
67
+ it('puts the recipient email address on the wire as to_email', async () => {
68
+ await client.callTool({
69
+ name: 'send_email',
70
+ arguments: {
71
+ from_email: 'reservations@example.com',
72
+ recipients: [{ to_email: 'contact@example.com' }],
73
+ },
74
+ });
75
+ expect(fetchSpy).toHaveBeenCalledTimes(1);
76
+ expect(requestUrl(fetchSpy.mock.calls[0])).toContain('/email');
77
+ const body = await requestBody(fetchSpy.mock.calls[0]);
78
+ expect(body).toMatchObject({
79
+ from_email: 'reservations@example.com',
80
+ recipients: [{ to_email: 'contact@example.com' }],
81
+ });
82
+ });
83
+ it('forwards the per-recipient overrides verbatim alongside the address', async () => {
84
+ await client.callTool({
85
+ name: 'send_email',
86
+ arguments: {
87
+ from_email: 'reservations@example.com',
88
+ recipients: [
89
+ {
90
+ to_email: 'a@example.com',
91
+ email_subject: 'Your booking',
92
+ email_body: 'See you tomorrow',
93
+ email_sender_name: 'Reservations',
94
+ email_is_transactional: true,
95
+ },
96
+ { to_email: 'b@example.com' },
97
+ ],
98
+ delay_in_minutes: 5,
99
+ fallback_email_subject: 'Fallback subject',
100
+ },
101
+ });
102
+ const body = await requestBody(fetchSpy.mock.calls[0]);
103
+ expect(body).toEqual({
104
+ from_email: 'reservations@example.com',
105
+ recipients: [
106
+ {
107
+ to_email: 'a@example.com',
108
+ email_subject: 'Your booking',
109
+ email_body: 'See you tomorrow',
110
+ email_sender_name: 'Reservations',
111
+ email_is_transactional: true,
112
+ },
113
+ { to_email: 'b@example.com' },
114
+ ],
115
+ delay_in_minutes: 5,
116
+ fallback_email_subject: 'Fallback subject',
117
+ });
118
+ });
119
+ it('rejects a recipient that is not an email address before any request is made', async () => {
120
+ // Control for the wire test above: the same call with a contact UUID in
121
+ // the address slot never reaches fetch — the tool's own schema stops it.
122
+ const result = await client.callTool({
123
+ name: 'send_email',
124
+ arguments: {
125
+ from_email: 'reservations@example.com',
126
+ recipients: [{ to_email: 'bd52c727-d079-4a0d-9f51-a755e08b5024' }],
127
+ },
128
+ });
129
+ expect(result.isError).toBe(true);
130
+ expect(fetchSpy).not.toHaveBeenCalled();
131
+ });
132
+ it('tells the agent recipients are email addresses and that domains, not senders, gate it', async () => {
133
+ const tool = await toolNamed('send_email');
134
+ expect(tool.description).toMatch(/email address/i);
135
+ expect(tool.description).toMatch(/list_email_domains/);
136
+ expect(tool.description).not.toMatch(/contact ID to send to/i);
137
+ });
138
+ });
139
+ describe('list_email_senders', () => {
140
+ it('says it lists sequence mailboxes, not the domains send_email needs', async () => {
141
+ // The agent conflated "no senders" with "cannot send": the mailbox list
142
+ // is the sequence fleet; send_email is gated on verified domains.
143
+ const tool = await toolNamed('list_email_senders');
144
+ expect(tool.description).toMatch(/list_email_domains/);
145
+ expect(tool.description).toMatch(/never blocks `send_email`/);
146
+ });
147
+ });
148
+ });
149
+ //# sourceMappingURL=email-tools.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-tools.spec.js","sourceRoot":"","sources":["../src/email-tools.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,mCAAmC;AAEnC,SAAS,YAAY,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,UAAU,CAAC,IAAe;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAe;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,IACE,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAC7B,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,MAAc,CAAC;IACnB,IAAI,OAA4B,CAAC;IACjC,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;QACpE,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAChF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,OAAO,GAAG,KAAK,IAAI,EAAE;YACnB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,OAAO,EAAE,CAAC;QAChB,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACvC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAK,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC5E,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE;oBACT,UAAU,EAAE,0BAA0B;oBACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;iBAClD;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,UAAU,EAAE,0BAA0B;gBACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;aAClD,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE;oBACT,UAAU,EAAE,0BAA0B;oBACtC,UAAU,EAAE;wBACV;4BACE,QAAQ,EAAE,eAAe;4BACzB,aAAa,EAAE,cAAc;4BAC7B,UAAU,EAAE,kBAAkB;4BAC9B,iBAAiB,EAAE,cAAc;4BACjC,sBAAsB,EAAE,IAAI;yBAC7B;wBACD,EAAE,QAAQ,EAAE,eAAe,EAAE;qBAC9B;oBACD,gBAAgB,EAAE,CAAC;oBACnB,sBAAsB,EAAE,kBAAkB;iBAC3C;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACnB,UAAU,EAAE,0BAA0B;gBACtC,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,eAAe;wBACzB,aAAa,EAAE,cAAc;wBAC7B,UAAU,EAAE,kBAAkB;wBAC9B,iBAAiB,EAAE,cAAc;wBACjC,sBAAsB,EAAE,IAAI;qBAC7B;oBACD,EAAE,QAAQ,EAAE,eAAe,EAAE;iBAC9B;gBACD,gBAAgB,EAAE,CAAC;gBACnB,sBAAsB,EAAE,kBAAkB;aAC3C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACnC,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE;oBACT,UAAU,EAAE,0BAA0B;oBACtC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,sCAAsC,EAAE,CAAC;iBACnE;aACF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;YACrG,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,wEAAwE;YACxE,kEAAkE;YAClE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACnD,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,CAAC,IAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -111,6 +111,51 @@ describe('phone tools', () => {
111
111
  expect(getRequestMethod(call)).toBe('PATCH');
112
112
  expect(await getRequestBody(call)).toEqual({ transfer_destination_ids: [] });
113
113
  });
114
+ it('updates independent instruction and knowledge search allowlists', async () => {
115
+ fetchSpy.mockResolvedValueOnce(mockResponse({
116
+ success: true,
117
+ totalTokens: 0,
118
+ instructionMode: 'selected',
119
+ knowledgeMode: 'selected',
120
+ }));
121
+ await client.callTool({
122
+ name: 'update_phone_agent_knowledge_sources',
123
+ arguments: {
124
+ phone_agent_id: 'agent-1',
125
+ instruction_ids: ['instruction-1'],
126
+ directory_ids: [],
127
+ knowledge_item_ids: ['knowledge-1'],
128
+ knowledge_folder_keys: ['website:help.example.com'],
129
+ },
130
+ });
131
+ const call = fetchSpy.mock.calls[0];
132
+ expect(getRequestUrl(call)).toBe('https://api.test.com/phone/agent-1/knowledge-sources');
133
+ expect(getRequestMethod(call)).toBe('PUT');
134
+ expect(await getRequestBody(call)).toEqual({
135
+ instructionIds: ['instruction-1'],
136
+ directoryIds: [],
137
+ knowledgeItemIds: ['knowledge-1'],
138
+ knowledgeFolderKeys: ['website:help.example.com'],
139
+ });
140
+ });
141
+ it('omits knowledge allowlists for legacy-compatible instruction-only updates', async () => {
142
+ fetchSpy.mockResolvedValueOnce(mockResponse({
143
+ success: true,
144
+ totalTokens: 0,
145
+ instructionMode: 'all',
146
+ knowledgeMode: 'selected',
147
+ }));
148
+ await client.callTool({
149
+ name: 'update_phone_agent_knowledge_sources',
150
+ arguments: {
151
+ phone_agent_id: 'agent-1',
152
+ instruction_ids: [],
153
+ directory_ids: [],
154
+ },
155
+ });
156
+ const call = fetchSpy.mock.calls[0];
157
+ expect(await getRequestBody(call)).toEqual({ instructionIds: [], directoryIds: [] });
158
+ });
114
159
  it('make_outbound_call maps session_custom_data / extra_instructions onto the API body', async () => {
115
160
  fetchSpy.mockResolvedValueOnce(mockResponse({ sessionId: 's-1', callId: 'c-1' }));
116
161
  const result = await client.callTool({
@@ -1 +1 @@
1
- {"version":3,"file":"phone-tools.spec.js","sourceRoot":"","sources":["../src/phone-tools.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phone-tools.spec.js","sourceRoot":"","sources":["../src/phone-tools.spec.ts"],"names":[],"mappings":"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"}