@darwinso/cli 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,10 @@
1
1
  # Darwin CLI
2
2
 
3
3
  The official command-line client for the unified Darwin platform. Its public
4
- commands cover core Darwin, Supply, and Connect resources.
4
+ commands cover Search, Act, Host, and Account administration.
5
+
6
+ The CLI uses the production v2 contract for Search, Act, Host, and Account
7
+ administration. `host capabilities` uses the existing catalog adapter.
5
8
 
6
9
  ## Install
7
10
 
@@ -44,12 +47,12 @@ darwin deals action deal_123 send
44
47
  darwin deals payments deal_123
45
48
 
46
49
  darwin supply businesses list
47
- darwin supply listings list ai_123
50
+ darwin host capabilities list ai_123
48
51
  darwin supply orders list ai_123
49
52
 
50
- darwin connect applications list
51
- darwin connect users resolve app_123 --external-ref customer_123
52
- darwin connect webhooks list app_123
53
+ darwin applications list
54
+ darwin applications usage app_123 --days 30
55
+ darwin applications webhooks list app_123
53
56
  ```
54
57
 
55
58
  Darwin handles discovery, coordination, and execution behind the agent. Every
@@ -72,4 +75,4 @@ The OpenAPI contract is synchronized from
72
75
  [`darwin-studios/darwin`](https://github.com/darwin-studios/darwin). Do not edit
73
76
  `openapi.json` directly in the public CLI repository.
74
77
 
75
- Documentation: [docs.darwin.so/cli](https://docs.darwin.so/cli)
78
+ Documentation: [darwin.so/docs/cli](https://darwin.so/docs/cli)
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { randomUUID } from 'node:crypto';
3
3
  import { chmod, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
4
4
  import { homedir } from 'node:os';
5
5
  import { dirname, join } from 'node:path';
6
- const defaultBaseUrl = 'https://api.darwin.so/api/v1';
6
+ const defaultBaseUrl = 'https://api.darwin.so/api/v2';
7
7
  const configRoot = process.env.XDG_CONFIG_HOME?.trim() || join(homedir(), '.config');
8
8
  const configPath = join(configRoot, 'darwin', 'config.json');
9
9
  class DarwinApiError extends Error {
@@ -26,9 +26,11 @@ async function readConfig() {
26
26
  }
27
27
  async function credentials() {
28
28
  const config = await readConfig();
29
+ const baseUrl = process.env.DARWIN_API_URL?.trim() || config.baseUrl?.trim() || defaultBaseUrl;
29
30
  return {
30
31
  apiKey: process.env.DARWIN_API_KEY?.trim() || config.apiKey?.trim(),
31
- baseUrl: process.env.DARWIN_API_URL?.trim() || config.baseUrl?.trim() || defaultBaseUrl,
32
+ baseUrl,
33
+ v2BaseUrl: /\/v2\/?$/.test(baseUrl) ? baseUrl : baseUrl.replace(/\/v1\/?$/, '/v2'),
32
34
  };
33
35
  }
34
36
  async function request(apiKey, baseUrl, path, options = {}) {
@@ -45,7 +47,7 @@ async function request(apiKey, baseUrl, path, options = {}) {
45
47
  Authorization: `Bearer ${apiKey}`,
46
48
  'X-Darwin-Access-Point': 'cli',
47
49
  'X-Darwin-Client': '@darwinso/cli',
48
- 'X-Darwin-Client-Version': '0.3.0',
50
+ 'X-Darwin-Client-Version': '0.4.0',
49
51
  ...(options.body === undefined ? {} : { 'Content-Type': 'application/json' }),
50
52
  ...options.headers,
51
53
  },
@@ -235,6 +237,18 @@ function mergeFields(body, fields) {
235
237
  withOptionalString(body, key, value);
236
238
  return body;
237
239
  }
240
+ function normalizeCapabilitySelections(body) {
241
+ if (body.capabilitySelections === undefined && Array.isArray(body.listingSelections)) {
242
+ body.capabilitySelections = body.listingSelections.map((selection) => {
243
+ if (!selection || typeof selection !== 'object' || Array.isArray(selection))
244
+ return selection;
245
+ const { listingId, ...rest } = selection;
246
+ return { ...rest, capabilityId: listingId };
247
+ });
248
+ }
249
+ delete body.listingSelections;
250
+ return body;
251
+ }
238
252
  function redact(value) {
239
253
  if (!value)
240
254
  return null;
@@ -293,13 +307,11 @@ Usage:
293
307
  darwin transactions <list|get|action> [...]
294
308
  darwin outcomes <list|get|evidence> [...]
295
309
  darwin supply businesses <list|get|create|update> [...]
296
- darwin supply listings <list|get|create|update|archive> [...]
310
+ darwin host capabilities <list|get|create|update|archive> [...]
297
311
  darwin supply orders <list|get> [...]
298
312
  darwin supply earnings get <business-id>
299
- darwin connect applications <list|get|create|update|archive> [...]
300
- darwin connect users resolve <application-id> --external-ref <reference> [...]
301
- darwin connect enrollment <list|create|revoke> [...]
302
- darwin connect webhooks <list|create|revoke|deliveries|retry> [...]
313
+ darwin applications <list|get|create|update|archive|usage> [...]
314
+ darwin applications webhooks <list|create|revoke|deliveries|retry> [...]
303
315
 
304
316
  Options:
305
317
  --ai <id> Explicitly target an accessible AI
@@ -311,33 +323,22 @@ Set DARWIN_API_KEY and optionally DARWIN_API_URL instead of storing local
311
323
  configuration when running in CI.
312
324
 
313
325
  Run "darwin <resource> --help" for examples in the documentation:
314
- https://docs.darwin.so/cli
326
+ https://darwin.so/docs/cli
315
327
  `);
316
328
  }
317
329
  async function main() {
318
330
  let args = process.argv.slice(2);
331
+ // Keep the old command spelling as an input alias, but route and describe
332
+ // capabilities through Host from here on.
333
+ if (args[0] === 'supply' && args[1] === 'listings') {
334
+ args = ['host', 'capabilities', ...args.slice(2)];
335
+ }
319
336
  if (args[0] === 'agents')
320
337
  args[0] = 'ais';
321
338
  if (args[0] === 'agent')
322
339
  args[0] = 'ai';
323
- if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'agents')
324
- args[1] = 'ais';
325
- if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'link-agent')
326
- args[1] = 'link-ai';
327
- if ((args[0] === 'connect' || args[0] === 'applications') && args[1] === 'unlink-agent')
328
- args[1] = 'unlink-ai';
329
340
  args = args.map((value) => (value === '--agent' ? '--ai' : value === '--exclude-agent' ? '--exclude-ai' : value));
330
- if (args[0] === 'connect' && args[1] === 'applications') {
331
- args = ['connect', args[2] ?? 'list', ...args.slice(3)];
332
- }
333
- else if (args[0] === 'connect' && args[1] === 'users' && args[2] === 'resolve') {
334
- args = ['connect', 'resolve-user', ...args.slice(3)];
335
- }
336
- else if (args[0] === 'connect' && args[1] === 'enrollment') {
337
- const operation = args[2] === 'create' ? 'create-enrollment' : args[2] === 'revoke' ? 'revoke-enrollment' : 'enrollments';
338
- args = ['connect', operation, ...args.slice(3)];
339
- }
340
- else if (args[0] === 'connect' && args[1] === 'webhooks') {
341
+ if (args[0] === 'applications' && args[1] === 'webhooks') {
341
342
  const operation = args[2] === 'create'
342
343
  ? 'create-webhook'
343
344
  : args[2] === 'revoke'
@@ -347,7 +348,7 @@ async function main() {
347
348
  : args[2] === 'retry'
348
349
  ? 'retry-webhook'
349
350
  : 'webhooks';
350
- args = ['connect', operation, ...args.slice(3)];
351
+ args = ['applications', operation, ...args.slice(3)];
351
352
  }
352
353
  if (args.length === 0 || args.includes('--help') || args.includes('-h')) {
353
354
  help();
@@ -376,20 +377,20 @@ async function main() {
376
377
  if (!auth.apiKey) {
377
378
  throw new Error('No API key found. Run darwin configure --api-key <key> or set DARWIN_API_KEY.');
378
379
  }
379
- const resource = args[0] === 'applications' ? 'connect' : args[0];
380
- const operation = resource === 'connect' && args[1] === 'disconnect' ? 'archive' : args[1];
380
+ const resource = args[0];
381
+ const operation = args[1];
381
382
  let result;
382
383
  if (resource === 'account') {
383
- result = await request(auth.apiKey, auth.baseUrl, '/account');
384
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/account');
384
385
  }
385
386
  else if (resource === 'ais' && operation === 'skills') {
386
- result = await request(auth.apiKey, auth.baseUrl, '/account/skills');
387
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/skills');
387
388
  }
388
389
  else if (resource === 'ais' && operation === 'integrations') {
389
- result = await request(auth.apiKey, auth.baseUrl, '/integrations');
390
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/integrations');
390
391
  }
391
392
  else if (resource === 'requests' && operation === 'list') {
392
- result = await request(auth.apiKey, auth.baseUrl, '/requests', {
393
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/requests', {
393
394
  query: {
394
395
  ...aiQuery(args),
395
396
  limit: integerOption(args, '--limit'),
@@ -401,10 +402,9 @@ async function main() {
401
402
  if (action !== 'ACCEPT' && action !== 'DECLINE') {
402
403
  throw new Error('Request action must be accept or decline.');
403
404
  }
404
- result = await request(auth.apiKey, auth.baseUrl, `/requests/${id(args[2], 'Pass a request ID after "darwin requests action".')}/actions`, {
405
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/requests/${id(args[2], 'Pass a request ID after "darwin requests action".')}/${action.toLowerCase()}`, {
405
406
  method: 'POST',
406
407
  body: {
407
- action,
408
408
  ...(option(args, '--ai') ? { aiId: option(args, '--ai') } : {}),
409
409
  },
410
410
  headers: idempotencyHeaders(args),
@@ -415,7 +415,7 @@ async function main() {
415
415
  if (!content) {
416
416
  throw new Error('Pass a message after "darwin conversations send".');
417
417
  }
418
- result = await request(auth.apiKey, auth.baseUrl, '/ai/messages', {
418
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/ai/messages', {
419
419
  method: 'POST',
420
420
  body: {
421
421
  content,
@@ -425,7 +425,7 @@ async function main() {
425
425
  });
426
426
  }
427
427
  else if (resource === 'conversation') {
428
- result = await request(auth.apiKey, auth.baseUrl, '/ai/conversation', {
428
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/ai/conversation', {
429
429
  query: {
430
430
  ...aiQuery(args),
431
431
  limit: integerOption(args, '--limit'),
@@ -434,10 +434,10 @@ async function main() {
434
434
  });
435
435
  }
436
436
  else if (resource === 'ais' && operation === 'list') {
437
- result = await request(auth.apiKey, auth.baseUrl, '/ais');
437
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais');
438
438
  }
439
439
  else if (resource === 'ais' && operation === 'get') {
440
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais get".')}`);
440
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais get".')}`);
441
441
  }
442
442
  else if (resource === 'ais' && operation === 'create') {
443
443
  const body = mergeFields(dataOption(args), [
@@ -450,7 +450,7 @@ async function main() {
450
450
  if (typeof body.name !== 'string' || !body.name.trim()) {
451
451
  throw new Error('Pass an AI name with --name or in --data.');
452
452
  }
453
- result = await request(auth.apiKey, auth.baseUrl, '/ais', { method: 'POST', body });
453
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais', { method: 'POST', body });
454
454
  }
455
455
  else if (resource === 'ais' && operation === 'update') {
456
456
  const body = mergeFields(dataOption(args), [
@@ -463,10 +463,10 @@ async function main() {
463
463
  if (Object.keys(body).length === 0) {
464
464
  throw new Error('Pass at least one editable field or --data.');
465
465
  }
466
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais update".')}`, { method: 'PATCH', body });
466
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais update".')}`, { method: 'PATCH', body });
467
467
  }
468
468
  else if (resource === 'ais' && operation === 'activity') {
469
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais activity".')}/activity`, {
469
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[2], 'Pass an AI ID after "darwin ais activity".')}/activity`, {
470
470
  query: {
471
471
  limit: integerOption(args, '--limit'),
472
472
  cursor: option(args, '--cursor'),
@@ -474,10 +474,10 @@ async function main() {
474
474
  });
475
475
  }
476
476
  else if (resource === 'ais' && operation === 'members') {
477
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais members".')}/members`);
477
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais members".')}/members`);
478
478
  }
479
479
  else if (resource === 'ais' && operation === 'invite') {
480
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais invite".')}/invitations`, {
480
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais invite".')}/invitations`, {
481
481
  method: 'POST',
482
482
  body: {
483
483
  email: requiredOption(args, '--email'),
@@ -486,22 +486,22 @@ async function main() {
486
486
  });
487
487
  }
488
488
  else if (resource === 'ais' && operation === 'invitations') {
489
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais invitations".')}/invitations`);
489
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais invitations".')}/invitations`);
490
490
  }
491
491
  else if (resource === 'ais' && operation === 'revoke-invitation') {
492
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID.')}/invitations/${id(args[3], 'Pass an invitation ID.')}`, { method: 'DELETE' });
492
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/invitations/${id(args[3], 'Pass an invitation ID.')}`, { method: 'DELETE' });
493
493
  }
494
494
  else if (resource === 'ais' && operation === 'update-member') {
495
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, {
495
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, {
496
496
  method: 'PATCH',
497
497
  body: { role: requiredOption(args, '--role') },
498
498
  });
499
499
  }
500
500
  else if (resource === 'ais' && operation === 'remove-member') {
501
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, { method: 'DELETE' });
501
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/members/${id(args[3], 'Pass a membership ID.')}`, { method: 'DELETE' });
502
502
  }
503
503
  else if (resource === 'ais' && operation === 'policies') {
504
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais policies".')}/access-policies`);
504
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID after "darwin ais policies".')}/access-policies`);
505
505
  }
506
506
  else if (resource === 'ais' && operation === 'create-policy') {
507
507
  const body = mergeFields(dataOption(args), [
@@ -512,7 +512,7 @@ async function main() {
512
512
  if (typeof body.name !== 'string' || typeof body.visibility !== 'string') {
513
513
  throw new Error('Pass --name and --visibility, or provide both in --data.');
514
514
  }
515
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID.')}/access-policies`, {
515
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/access-policies`, {
516
516
  method: 'POST',
517
517
  body,
518
518
  });
@@ -525,16 +525,16 @@ async function main() {
525
525
  ]);
526
526
  if (Object.keys(body).length === 0)
527
527
  throw new Error('Pass editable policy fields or --data.');
528
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID.')}/access-policies/${id(args[3], 'Pass a policy ID.')}`, { method: 'PATCH', body });
528
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[2], 'Pass an AI ID.')}/access-policies/${id(args[3], 'Pass a policy ID.')}`, { method: 'PATCH', body });
529
529
  }
530
530
  else if (resource === 'ais' && operation === 'conversations') {
531
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais conversations".')}/conversations`);
531
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/ais/${id(args[2], 'Pass an AI ID after "darwin ais conversations".')}/conversations`);
532
532
  }
533
533
  else if (resource === 'ais' && operation === 'create-conversation') {
534
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[2], 'Pass an AI ID after "darwin ais create-conversation".')}/conversations`, { method: 'POST' });
534
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/ais/${id(args[2], 'Pass an AI ID after "darwin ais create-conversation".')}/conversations`, { method: 'POST' });
535
535
  }
536
536
  else if (resource === 'conversations' && operation === 'get') {
537
- result = await request(auth.apiKey, auth.baseUrl, `/conversations/${id(args[2], 'Pass a conversation ID after "darwin conversations get".')}`, {
537
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/conversations/${id(args[2], 'Pass a conversation ID after "darwin conversations get".')}`, {
538
538
  query: {
539
539
  limit: integerOption(args, '--limit'),
540
540
  cursor: option(args, '--cursor'),
@@ -545,19 +545,19 @@ async function main() {
545
545
  const content = textArgument(args, 3, ['--request-id']);
546
546
  if (!content)
547
547
  throw new Error('Pass message text after the conversation ID.');
548
- result = await request(auth.apiKey, auth.baseUrl, `/conversations/${id(args[2], 'Pass a conversation ID.')}/messages`, {
548
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/conversations/${id(args[2], 'Pass a conversation ID.')}/messages`, {
549
549
  method: 'POST',
550
550
  body: { content, requestId: option(args, '--request-id') },
551
551
  });
552
552
  }
553
553
  else if (resource === 'conversations' && (operation === 'list' || operation === 'create')) {
554
- const path = `/ais/${id(args[2], `Pass an AI ID after "darwin conversations ${operation}".`)}/conversations`;
555
- result = await request(auth.apiKey, auth.baseUrl, path, {
554
+ const path = `/act/ais/${id(args[2], `Pass an AI ID after "darwin conversations ${operation}".`)}/conversations`;
555
+ result = await request(auth.apiKey, auth.v2BaseUrl, path, {
556
556
  method: operation === 'create' ? 'POST' : 'GET',
557
557
  });
558
558
  }
559
559
  else if ((resource === 'tasks' || resource === 'goals') && operation === 'list') {
560
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}`, {
560
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/goals', {
561
561
  query: {
562
562
  ...aiQuery(args),
563
563
  mode: enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT']),
@@ -565,14 +565,13 @@ async function main() {
565
565
  });
566
566
  }
567
567
  else if ((resource === 'tasks' || resource === 'goals') && operation === 'get') {
568
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}/${id(args[2], `Pass a goal ID after "darwin ${resource} get".`)}`, { query: aiQuery(args) });
568
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} get".`)}`, { query: aiQuery(args) });
569
569
  }
570
570
  else if ((resource === 'tasks' || resource === 'goals') && operation === 'create') {
571
571
  const body = mergeFields(dataOption(args), [
572
572
  ['aiId', option(args, '--ai')],
573
573
  ['intent', option(args, '--intent')],
574
574
  ['title', option(args, '--title')],
575
- ['kind', option(args, '--kind')?.toUpperCase()],
576
575
  ['mode', enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT'])],
577
576
  ['type', enumOption(args, '--type', ['DEMAND', 'SUPPLY', 'CHAT'])],
578
577
  ['lifecycleStatus', enumOption(args, '--status', ['DRAFT', 'ACTIVE', 'PAUSED', 'COMPLETED', 'ARCHIVED'])],
@@ -581,7 +580,32 @@ async function main() {
581
580
  if (typeof body.intent !== 'string' || !body.intent.trim()) {
582
581
  throw new Error('Pass a goal intent with --intent or in --data.');
583
582
  }
584
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}`, {
583
+ if (option(args, '--kind') || body.kind !== undefined) {
584
+ throw new Error('Goal kind is not supported by v2. Use --mode BUY, SELL, or CHAT.');
585
+ }
586
+ if (body.type !== undefined) {
587
+ const type = String(body.type).toUpperCase();
588
+ if (!['DEMAND', 'SUPPLY', 'CHAT'].includes(type))
589
+ throw new Error('Goal type must be DEMAND, SUPPLY, or CHAT.');
590
+ const mode = type === 'DEMAND' ? 'BUY' : type === 'SUPPLY' ? 'SELL' : 'CHAT';
591
+ if (body.mode !== undefined && body.mode !== mode)
592
+ throw new Error('Goal --type and --mode disagree.');
593
+ body.mode = mode;
594
+ delete body.type;
595
+ }
596
+ if (body.agentId !== undefined) {
597
+ if (body.aiId !== undefined && body.aiId !== body.agentId)
598
+ throw new Error('Goal AI IDs disagree.');
599
+ body.aiId = body.agentId;
600
+ delete body.agentId;
601
+ }
602
+ if (body.listingIds !== undefined) {
603
+ if (body.capabilityIds !== undefined)
604
+ throw new Error('Pass capabilityIds only once.');
605
+ body.capabilityIds = body.listingIds;
606
+ delete body.listingIds;
607
+ }
608
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/goals', {
585
609
  method: 'POST',
586
610
  body,
587
611
  });
@@ -591,33 +615,44 @@ async function main() {
591
615
  ['intent', option(args, '--intent')],
592
616
  ['title', option(args, '--title')],
593
617
  ['mode', enumOption(args, '--mode', ['BUY', 'SELL', 'CHAT'])],
594
- ['type', enumOption(args, '--type', ['DEMAND', 'SUPPLY', 'CHAT'])],
595
618
  ['lifecycleStatus', enumOption(args, '--status', ['DRAFT', 'ACTIVE', 'PAUSED', 'COMPLETED', 'ARCHIVED'])],
596
619
  ['visibility', enumOption(args, '--visibility', ['PUBLIC', 'RESTRICTED', 'PRIVATE'])],
597
620
  ['pausedUntil', option(args, '--paused-until')],
598
621
  ]);
622
+ if (args.includes('--type') || body.type !== undefined) {
623
+ const type = String(option(args, '--type') ?? body.type).toUpperCase();
624
+ if (!['DEMAND', 'SUPPLY', 'CHAT'].includes(type))
625
+ throw new Error('Goal type must be DEMAND, SUPPLY, or CHAT.');
626
+ const mode = type === 'DEMAND' ? 'BUY' : type === 'SUPPLY' ? 'SELL' : 'CHAT';
627
+ if (body.mode !== undefined && body.mode !== mode)
628
+ throw new Error('Goal --type and --mode disagree.');
629
+ body.mode = mode;
630
+ delete body.type;
631
+ }
599
632
  if (Object.keys(body).length === 0)
600
633
  throw new Error('Pass editable goal fields or --data.');
601
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}/${id(args[2], `Pass a goal ID after "darwin ${resource} update".`)}`, { method: 'PATCH', body });
634
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} update".`)}`, { method: 'PATCH', body });
602
635
  }
603
636
  else if ((resource === 'tasks' || resource === 'goals') && operation === 'action') {
604
- const action = args[3]?.toUpperCase();
605
- if (!action || !['PAUSE', 'RESUME', 'COMPLETE', 'ARCHIVE'].includes(action)) {
637
+ const action = args[3]?.toLowerCase();
638
+ if (!action || !['pause', 'resume', 'complete', 'archive'].includes(action)) {
606
639
  throw new Error('Action must be pause, resume, complete, or archive.');
607
640
  }
608
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}/${id(args[2], `Pass a goal ID after "darwin ${resource} action".`)}/actions`, {
641
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} action".`)}/${action}`, {
609
642
  method: 'POST',
610
- body: { action, pausedUntil: option(args, '--paused-until') },
643
+ ...(action === 'pause' && option(args, '--paused-until')
644
+ ? { body: { pausedUntil: option(args, '--paused-until') } }
645
+ : {}),
611
646
  });
612
647
  }
613
648
  else if ((resource === 'tasks' || resource === 'goals') && operation === 'publish') {
614
- result = await request(auth.apiKey, auth.baseUrl, `/${resource}/${id(args[2], `Pass a goal ID after "darwin ${resource} publish".`)}/publication-requests`, { method: 'POST', body: dataOption(args) });
649
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/goals/${id(args[2], `Pass a goal ID after "darwin ${resource} publish".`)}/publication-requests`, { method: 'POST', body: dataOption(args), headers: idempotencyHeaders(args) });
615
650
  }
616
651
  else if (resource === 'deals' && operation === 'list') {
617
- result = await request(auth.apiKey, auth.baseUrl, '/deals', { query: aiQuery(args) });
652
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { query: aiQuery(args) });
618
653
  }
619
654
  else if (resource === 'deals' && operation === 'get') {
620
- result = await request(auth.apiKey, auth.baseUrl, `/deals/${id(args[2], 'Pass a deal ID after "darwin deals get".')}`);
655
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals get".')}`);
621
656
  }
622
657
  else if (resource === 'deals' && operation === 'create') {
623
658
  const body = mergeFields(dataOption(args), [
@@ -629,10 +664,21 @@ async function main() {
629
664
  ['taskId', option(args, '--task')],
630
665
  ['visibility', enumOption(args, '--visibility', ['PUBLIC', 'RESTRICTED', 'PRIVATE'])],
631
666
  ]);
632
- if ((typeof body.mode !== 'string' && typeof body.direction !== 'string') || typeof body.title !== 'string') {
667
+ if (body.mode === undefined && body.direction !== undefined) {
668
+ if (body.direction !== 'DEMAND' && body.direction !== 'SUPPLY') {
669
+ throw new Error('Deal direction must be DEMAND or SUPPLY.');
670
+ }
671
+ body.mode = body.direction === 'DEMAND' ? 'BUY' : 'SELL';
672
+ }
673
+ if (body.goalId === undefined && body.taskId !== undefined)
674
+ body.goalId = body.taskId;
675
+ delete body.direction;
676
+ delete body.taskId;
677
+ normalizeCapabilitySelections(body);
678
+ if (typeof body.mode !== 'string' || typeof body.title !== 'string') {
633
679
  throw new Error('Pass --mode and --title, or provide both in --data. --direction remains a deprecated alias.');
634
680
  }
635
- result = await request(auth.apiKey, auth.baseUrl, '/deals', { method: 'POST', body });
681
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { method: 'POST', body });
636
682
  }
637
683
  else if (resource === 'deals' && operation === 'update') {
638
684
  const body = mergeFields(dataOption(args), [
@@ -641,23 +687,23 @@ async function main() {
641
687
  ]);
642
688
  if (Object.keys(body).length === 0)
643
689
  throw new Error('Pass editable deal fields or --data.');
644
- result = await request(auth.apiKey, auth.baseUrl, `/deals/${id(args[2], 'Pass a deal ID after "darwin deals update".')}`, { method: 'PATCH', body });
690
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals update".')}`, { method: 'PATCH', body });
645
691
  }
646
692
  else if (resource === 'deals' && operation === 'action') {
647
693
  const action = args[3]?.toUpperCase();
648
694
  if (!action || !['SEND', 'ACCEPT', 'REJECT', 'WITHDRAW'].includes(action)) {
649
695
  throw new Error('Action must be send, accept, reject, or withdraw.');
650
696
  }
651
- result = await request(auth.apiKey, auth.baseUrl, `/deals/${id(args[2], 'Pass a deal ID after "darwin deals action".')}/actions`, { method: 'POST', body: { action } });
697
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals action".')}/${action.toLowerCase()}`, { method: 'POST' });
652
698
  }
653
699
  else if (resource === 'deals' && operation === 'payments') {
654
- result = await request(auth.apiKey, auth.baseUrl, `/deals/${id(args[2], 'Pass a deal ID after "darwin deals payments".')}/payments`);
700
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass a deal ID after "darwin deals payments".')}/payments`);
655
701
  }
656
702
  else if (resource === 'transactions' && operation === 'list') {
657
- result = await request(auth.apiKey, auth.baseUrl, '/transactions', { query: aiQuery(args) });
703
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/transactions', { query: aiQuery(args) });
658
704
  }
659
705
  else if (resource === 'transactions' && operation === 'get') {
660
- result = await request(auth.apiKey, auth.baseUrl, `/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions get".')}`, { query: aiQuery(args) });
706
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions get".')}`, { query: aiQuery(args) });
661
707
  }
662
708
  else if (resource === 'transactions' && operation === 'action') {
663
709
  const action = args[3]?.toUpperCase();
@@ -665,16 +711,22 @@ async function main() {
665
711
  throw new Error('Transaction action must be cancel or request_refund.');
666
712
  }
667
713
  const body = mergeFields(dataOption(args), [
668
- ['action', action],
714
+ ['aiId', option(args, '--ai')],
669
715
  ['amountMinor', integerOption(args, '--amount-minor')],
670
716
  ]);
671
- result = await request(auth.apiKey, auth.baseUrl, `/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions action".')}/actions`, { method: 'POST', body, headers: idempotencyHeaders(args) });
717
+ delete body.action;
718
+ if (typeof body.aiId !== 'string' || !body.aiId.trim()) {
719
+ throw new Error('Pass the transaction AI ID with --ai or aiId in --data.');
720
+ }
721
+ if (action === 'CANCEL')
722
+ delete body.amountMinor;
723
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[2], 'Pass a transaction ID after "darwin transactions action".')}/${action === 'CANCEL' ? 'cancel' : 'refunds'}`, { method: 'POST', body, headers: idempotencyHeaders(args) });
672
724
  }
673
725
  else if (resource === 'outcomes' && operation === 'list') {
674
- result = await request(auth.apiKey, auth.baseUrl, '/outcomes', { query: aiQuery(args) });
726
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/outcomes', { query: aiQuery(args) });
675
727
  }
676
728
  else if (resource === 'outcomes' && operation === 'get') {
677
- result = await request(auth.apiKey, auth.baseUrl, `/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes get".')}`);
729
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes get".')}`);
678
730
  }
679
731
  else if (resource === 'outcomes' && operation === 'evidence') {
680
732
  const body = mergeFields(dataOption(args), [
@@ -684,7 +736,7 @@ async function main() {
684
736
  ]);
685
737
  if (typeof body.evidenceDigest !== 'string')
686
738
  throw new Error('Pass --digest or evidenceDigest in --data.');
687
- result = await request(auth.apiKey, auth.baseUrl, `/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes evidence".')}/evidence`, { method: 'POST', body, headers: idempotencyHeaders(args) });
739
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/outcomes/${id(args[2], 'Pass an outcome ID after "darwin outcomes evidence".')}/evidence`, { method: 'POST', body, headers: idempotencyHeaders(args) });
688
740
  }
689
741
  else if (resource === 'sessions' && operation === 'list') {
690
742
  result = await request(auth.apiKey, auth.baseUrl, '/sessions', {
@@ -1004,7 +1056,7 @@ async function main() {
1004
1056
  result = await request(auth.apiKey, auth.baseUrl, `/sessions/${id(args[2], 'Pass a session ID after "darwin sessions feedback".')}/feedback`, { method: 'POST', body, headers: idempotencyHeaders(args) });
1005
1057
  }
1006
1058
  else if (resource === 'directory' && operation === 'search') {
1007
- result = await request(auth.apiKey, auth.baseUrl, '/directory/ais', {
1059
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/search/directory/ais', {
1008
1060
  query: {
1009
1061
  query: textArgument(args, 2, ['--limit']) || undefined,
1010
1062
  limit: integerOption(args, '--limit'),
@@ -1012,13 +1064,15 @@ async function main() {
1012
1064
  });
1013
1065
  }
1014
1066
  else if (resource === 'directory' && operation === 'get') {
1015
- result = await request(auth.apiKey, auth.baseUrl, `/directory/ais/${id(args[2], 'Pass a directory AI ID.')}`);
1067
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/search/directory/ais/${id(args[2], 'Pass a directory AI ID.')}`);
1016
1068
  }
1017
1069
  else if (resource === 'offers' && operation === 'list') {
1018
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(option(args, '--ai'), 'Pass an AI ID with --ai.')}/offers`);
1070
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', {
1071
+ query: { aiId: id(option(args, '--ai'), 'Pass an AI ID with --ai.') },
1072
+ });
1019
1073
  }
1020
1074
  else if (resource === 'offers' && operation === 'get') {
1021
- result = await request(auth.apiKey, auth.baseUrl, `/offers/${id(args[2], 'Pass an offer ID after "darwin offers get".')}`);
1075
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers get".')}`);
1022
1076
  }
1023
1077
  else if (resource === 'offers' && operation === 'create') {
1024
1078
  const body = mergeFields(dataOption(args), [
@@ -1030,7 +1084,14 @@ async function main() {
1030
1084
  if (typeof body.direction !== 'string' || typeof body.title !== 'string') {
1031
1085
  throw new Error('Pass --direction and --title, or provide both in --data.');
1032
1086
  }
1033
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(option(args, '--ai'), 'Pass an AI ID with --ai.')}/offers`, { method: 'POST', body });
1087
+ if (body.direction !== 'DEMAND' && body.direction !== 'SUPPLY') {
1088
+ throw new Error('Offer direction must be DEMAND or SUPPLY.');
1089
+ }
1090
+ body.mode = body.direction === 'DEMAND' ? 'BUY' : 'SELL';
1091
+ body.aiId = id(option(args, '--ai'), 'Pass an AI ID with --ai.');
1092
+ delete body.direction;
1093
+ normalizeCapabilitySelections(body);
1094
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/deals', { method: 'POST', body });
1034
1095
  }
1035
1096
  else if (resource === 'offers' && operation === 'update') {
1036
1097
  const body = mergeFields(dataOption(args), [
@@ -1039,14 +1100,14 @@ async function main() {
1039
1100
  ]);
1040
1101
  if (Object.keys(body).length === 0)
1041
1102
  throw new Error('Pass editable offer fields or --data.');
1042
- result = await request(auth.apiKey, auth.baseUrl, `/offers/${id(args[2], 'Pass an offer ID after "darwin offers update".')}`, { method: 'PATCH', body });
1103
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers update".')}`, { method: 'PATCH', body });
1043
1104
  }
1044
1105
  else if (resource === 'offers' && operation === 'action') {
1045
1106
  const action = args[3]?.toUpperCase();
1046
1107
  if (!action || !['SEND', 'ACCEPT', 'REJECT', 'WITHDRAW'].includes(action)) {
1047
1108
  throw new Error('Action must be send, accept, reject, or withdraw.');
1048
1109
  }
1049
- result = await request(auth.apiKey, auth.baseUrl, `/offers/${id(args[2], 'Pass an offer ID after "darwin offers action".')}/actions`, { method: 'POST', body: { action } });
1110
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/deals/${id(args[2], 'Pass an offer ID after "darwin offers action".')}/${action.toLowerCase()}`, { method: 'POST' });
1050
1111
  }
1051
1112
  else if (resource === 'payments' && operation === 'account') {
1052
1113
  result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(option(args, '--ai'), 'Pass an AI ID with --ai.')}/payment-account`);
@@ -1072,10 +1133,10 @@ async function main() {
1072
1133
  });
1073
1134
  }
1074
1135
  else if (resource === 'supply' && operation === 'businesses' && args[2] === 'list') {
1075
- result = await request(auth.apiKey, auth.baseUrl, '/ais');
1136
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais');
1076
1137
  }
1077
1138
  else if (resource === 'supply' && operation === 'businesses' && args[2] === 'get') {
1078
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}`);
1139
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}`);
1079
1140
  }
1080
1141
  else if (resource === 'supply' && operation === 'businesses' && args[2] === 'create') {
1081
1142
  const body = mergeFields({ type: 'business', ...dataOption(args) }, [
@@ -1085,7 +1146,7 @@ async function main() {
1085
1146
  ]);
1086
1147
  if (typeof body.name !== 'string')
1087
1148
  throw new Error('Pass --name or include name in --data.');
1088
- result = await request(auth.apiKey, auth.baseUrl, '/ais', { method: 'POST', body });
1149
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/host/ais', { method: 'POST', body });
1089
1150
  }
1090
1151
  else if (resource === 'supply' && operation === 'businesses' && args[2] === 'update') {
1091
1152
  const body = mergeFields(dataOption(args), [
@@ -1095,13 +1156,13 @@ async function main() {
1095
1156
  ]);
1096
1157
  if (Object.keys(body).length === 0)
1097
1158
  throw new Error('Pass editable business fields or --data.');
1098
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}`, {
1159
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}`, {
1099
1160
  method: 'PATCH',
1100
1161
  body,
1101
1162
  });
1102
1163
  }
1103
- else if (resource === 'supply' && operation === 'listings' && args[2] === 'list') {
1104
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/listings`, {
1164
+ else if (resource === 'host' && operation === 'capabilities' && args[2] === 'list') {
1165
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities`, {
1105
1166
  query: {
1106
1167
  limit: integerOption(args, '--limit'),
1107
1168
  cursor: option(args, '--cursor'),
@@ -1111,148 +1172,99 @@ async function main() {
1111
1172
  },
1112
1173
  });
1113
1174
  }
1114
- else if (resource === 'supply' && operation === 'listings' && args[2] === 'get') {
1115
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/listings/${id(args[4], 'Pass a listing ID.')}`);
1175
+ else if (resource === 'host' && operation === 'capabilities' && args[2] === 'get') {
1176
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`);
1116
1177
  }
1117
- else if (resource === 'supply' && operation === 'listings' && args[2] === 'create') {
1178
+ else if (resource === 'host' && operation === 'capabilities' && args[2] === 'create') {
1118
1179
  const body = dataOption(args);
1119
1180
  if (Object.keys(body).length === 0)
1120
- throw new Error('Pass listing fields with --data.');
1121
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/listings`, {
1181
+ throw new Error('Pass capability fields with --data.');
1182
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities`, {
1122
1183
  method: 'POST',
1123
1184
  body,
1124
1185
  });
1125
1186
  }
1126
- else if (resource === 'supply' && operation === 'listings' && args[2] === 'update') {
1187
+ else if (resource === 'host' && operation === 'capabilities' && args[2] === 'update') {
1127
1188
  const body = dataOption(args);
1128
1189
  if (Object.keys(body).length === 0)
1129
- throw new Error('Pass listing fields with --data.');
1130
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/listings/${id(args[4], 'Pass a listing ID.')}`, { method: 'PATCH', body });
1190
+ throw new Error('Pass capability fields with --data.');
1191
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`, { method: 'PATCH', body });
1131
1192
  }
1132
- else if (resource === 'supply' && operation === 'listings' && args[2] === 'archive') {
1133
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/listings/${id(args[4], 'Pass a listing ID.')}`, { method: 'DELETE', query: { expectedRevision: integerOption(args, '--expected-revision') } });
1193
+ else if (resource === 'host' && operation === 'capabilities' && args[2] === 'archive') {
1194
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/host/ais/${id(args[3], 'Pass a business ID.')}/capabilities/${id(args[4], 'Pass a capability ID.')}`, { method: 'DELETE', query: { expectedRevision: integerOption(args, '--expected-revision') } });
1134
1195
  }
1135
1196
  else if (resource === 'supply' && operation === 'orders' && args[2] === 'list') {
1136
- result = await request(auth.apiKey, auth.baseUrl, '/transactions', { query: { aiId: args[3] } });
1197
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/transactions', { query: { aiId: args[3] } });
1137
1198
  }
1138
1199
  else if (resource === 'supply' && operation === 'orders' && args[2] === 'get') {
1139
- result = await request(auth.apiKey, auth.baseUrl, `/transactions/${id(args[4], 'Pass an order ID.')}`, {
1200
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/transactions/${id(args[4], 'Pass an order ID.')}`, {
1140
1201
  query: { aiId: args[3] },
1141
1202
  });
1142
1203
  }
1143
1204
  else if (resource === 'supply' && operation === 'earnings' && args[2] === 'get') {
1144
- result = await request(auth.apiKey, auth.baseUrl, `/ais/${id(args[3], 'Pass a business ID.')}/billing`);
1205
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/ais/${id(args[3], 'Pass a business ID.')}/billing`);
1145
1206
  }
1146
- else if (resource === 'connect' && operation === 'list') {
1147
- result = await request(auth.apiKey, auth.baseUrl, '/applications');
1207
+ else if (resource === 'applications' && operation === 'list') {
1208
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/account/applications');
1148
1209
  }
1149
- else if (resource === 'connect' && operation === 'get') {
1150
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}`);
1210
+ else if (resource === 'applications' && operation === 'get') {
1211
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`);
1151
1212
  }
1152
- else if (resource === 'connect' && operation === 'create') {
1153
- const body = mergeFields(dataOption(args), [
1154
- ['name', option(args, '--name')],
1155
- ['mode', enumOption(args, '--mode', ['HOSTED', 'EMBEDDED', 'HYBRID'])],
1156
- ]);
1213
+ else if (resource === 'applications' && operation === 'create') {
1214
+ const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
1157
1215
  if (typeof body.name !== 'string')
1158
1216
  throw new Error('Pass --name or include name in --data.');
1159
- result = await request(auth.apiKey, auth.baseUrl, '/applications', { method: 'POST', body });
1217
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/account/applications', { method: 'POST', body });
1160
1218
  }
1161
- else if (resource === 'connect' && operation === 'update') {
1162
- const body = mergeFields(dataOption(args), [
1163
- ['name', option(args, '--name')],
1164
- ['mode', enumOption(args, '--mode', ['HOSTED', 'EMBEDDED', 'HYBRID'])],
1165
- ]);
1219
+ else if (resource === 'applications' && operation === 'update') {
1220
+ const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
1166
1221
  if (Object.keys(body).length === 0)
1167
1222
  throw new Error('Pass editable application fields or --data.');
1168
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}`, {
1223
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`, {
1169
1224
  method: 'PATCH',
1170
1225
  body,
1171
1226
  });
1172
1227
  }
1173
- else if (resource === 'connect' && operation === 'archive') {
1174
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}`, {
1228
+ else if (resource === 'applications' && operation === 'archive') {
1229
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}`, {
1175
1230
  method: 'DELETE',
1176
1231
  });
1177
1232
  }
1178
- else if (resource === 'connect' && operation === 'ais') {
1179
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/ais`);
1180
- }
1181
- else if (resource === 'connect' && operation === 'link-ai') {
1182
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/ais`, {
1183
- method: 'POST',
1184
- body: {
1185
- aiId: requiredOption(args, '--ai'),
1186
- role: option(args, '--role'),
1187
- },
1188
- });
1189
- }
1190
- else if (resource === 'connect' && operation === 'unlink-ai') {
1191
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/ais/${id(args[3], 'Pass an AI ID.')}`, { method: 'DELETE' });
1192
- }
1193
- else if (resource === 'connect' && operation === 'resolve-user') {
1194
- const body = dataOption(args);
1195
- const externalRef = option(args, '--external-ref');
1196
- if (externalRef)
1197
- body.externalRef = externalRef;
1198
- if (!body.externalRef && !body.proof) {
1199
- throw new Error('Pass --external-ref or include a supported proof in --data.');
1200
- }
1201
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/users/resolve`, { method: 'POST', body });
1202
- }
1203
- else if (resource === 'connect' && operation === 'enrollments') {
1204
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/enrollment-links`);
1205
- }
1206
- else if (resource === 'connect' && operation === 'create-enrollment') {
1207
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/enrollment-links`, { method: 'POST', body: dataOption(args) });
1233
+ else if (resource === 'applications' && operation === 'usage') {
1234
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/usage`, { query: { days: integerOption(args, '--days') } });
1208
1235
  }
1209
- else if (resource === 'connect' && operation === 'revoke-enrollment') {
1210
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/enrollment-links/${id(args[3], 'Pass an enrollment link ID.')}`, { method: 'DELETE' });
1236
+ else if (resource === 'applications' && operation === 'webhooks') {
1237
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks`);
1211
1238
  }
1212
- else if (resource === 'connect' && operation === 'service-accounts') {
1213
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts`);
1214
- }
1215
- else if (resource === 'connect' && operation === 'create-service-account') {
1216
- const body = mergeFields(dataOption(args), [['name', option(args, '--name')]]);
1217
- if (typeof body.name !== 'string')
1218
- throw new Error('Pass --name or include name in --data.');
1219
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts`, { method: 'POST', body });
1220
- }
1221
- else if (resource === 'connect' && operation === 'revoke-service-account') {
1222
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/service-accounts/${id(args[3], 'Pass a service account ID.')}`, { method: 'DELETE' });
1223
- }
1224
- else if (resource === 'connect' && operation === 'webhooks') {
1225
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks`);
1226
- }
1227
- else if (resource === 'connect' && operation === 'create-webhook') {
1239
+ else if (resource === 'applications' && operation === 'create-webhook') {
1228
1240
  const body = mergeFields(dataOption(args), [['url', option(args, '--url')]]);
1229
1241
  if (typeof body.url !== 'string')
1230
1242
  throw new Error('Pass --url or include url in --data.');
1231
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks`, { method: 'POST', body });
1243
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks`, { method: 'POST', body });
1232
1244
  }
1233
- else if (resource === 'connect' && operation === 'revoke-webhook') {
1234
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}`, { method: 'DELETE' });
1245
+ else if (resource === 'applications' && operation === 'revoke-webhook') {
1246
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}`, { method: 'DELETE' });
1235
1247
  }
1236
- else if (resource === 'connect' && operation === 'webhook-deliveries') {
1237
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries`, {
1248
+ else if (resource === 'applications' && operation === 'webhook-deliveries') {
1249
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries`, {
1238
1250
  query: {
1239
1251
  limit: integerOption(args, '--limit'),
1240
1252
  cursor: option(args, '--cursor'),
1241
1253
  },
1242
1254
  });
1243
1255
  }
1244
- else if (resource === 'connect' && operation === 'retry-webhook') {
1245
- result = await request(auth.apiKey, auth.baseUrl, `/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries/${id(args[4], 'Pass a delivery ID.')}/retry`, { method: 'POST' });
1256
+ else if (resource === 'applications' && operation === 'retry-webhook') {
1257
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/account/applications/${id(args[2], 'Pass an application ID.')}/webhooks/${id(args[3], 'Pass a webhook ID.')}/deliveries/${id(args[4], 'Pass a delivery ID.')}/retry`, { method: 'POST' });
1246
1258
  }
1247
1259
  else if (resource === 'tools' && operation === 'list') {
1248
- result = await request(auth.apiKey, auth.baseUrl, '/tools');
1260
+ result = await request(auth.apiKey, auth.v2BaseUrl, '/act/tools');
1249
1261
  }
1250
1262
  else if (resource === 'tools' && operation === 'execute') {
1251
1263
  const tool = args[2]?.trim();
1252
1264
  if (!tool) {
1253
1265
  throw new Error('Pass a tool name after "darwin tools execute".');
1254
1266
  }
1255
- result = await request(auth.apiKey, auth.baseUrl, `/tools/${encodeURIComponent(tool)}/executions`, {
1267
+ result = await request(auth.apiKey, auth.v2BaseUrl, `/act/tools/${encodeURIComponent(tool)}/executions`, {
1256
1268
  method: 'POST',
1257
1269
  body: { input: jsonObjectOption(args, '--input') },
1258
1270
  });
@@ -1263,11 +1275,17 @@ async function main() {
1263
1275
  throw new Error('API method must be GET, POST, PATCH, or DELETE.');
1264
1276
  }
1265
1277
  const path = args[2]?.trim();
1266
- if (!path || path.includes('://')) {
1267
- throw new Error('Pass a relative API path, such as /ais.');
1278
+ if (!path || path.includes('://') || !/^\/(?:search|act|host|account)(?:\/|$)/u.test(path)) {
1279
+ throw new Error('Pass a v2 API path under /search, /act, /host, or /account.');
1280
+ }
1281
+ const family = /^\/(search|act|host|account)(?:\/|$)/u.exec(path)?.[1];
1282
+ const v2Prefix = `${new URL(auth.v2BaseUrl).pathname.replace(/\/+$/u, '')}/${family}`;
1283
+ const resolved = new URL(`${auth.v2BaseUrl.replace(/\/+$/u, '')}/${path.replace(/^\/+/, '')}`);
1284
+ if (resolved.pathname !== v2Prefix && !resolved.pathname.startsWith(`${v2Prefix}/`)) {
1285
+ throw new Error('The API path must stay within the v2 endpoint.');
1268
1286
  }
1269
1287
  const body = dataOption(args);
1270
- result = await request(auth.apiKey, auth.baseUrl, path, {
1288
+ result = await request(auth.apiKey, auth.v2BaseUrl, path, {
1271
1289
  method: method,
1272
1290
  ...(Object.keys(body).length > 0 ? { body } : {}),
1273
1291
  });
@@ -1275,6 +1293,28 @@ async function main() {
1275
1293
  else {
1276
1294
  throw new Error(`Unknown command: ${args.join(' ')}`);
1277
1295
  }
1296
+ if (resource === 'tasks' && result && typeof result === 'object' && !Array.isArray(result)) {
1297
+ const { goal, goals, ...rest } = result;
1298
+ result = {
1299
+ ...rest,
1300
+ ...(goal && typeof goal === 'object' && !Array.isArray(goal)
1301
+ ? { task: { ...goal, taskId: goal.id } }
1302
+ : {}),
1303
+ ...(Array.isArray(goals)
1304
+ ? {
1305
+ tasks: goals.map((item) => item && typeof item === 'object' && !Array.isArray(item) ? { ...item, taskId: item.id } : item),
1306
+ }
1307
+ : {}),
1308
+ };
1309
+ }
1310
+ if (resource === 'offers' && result && typeof result === 'object' && !Array.isArray(result)) {
1311
+ const { deal, deals, ...rest } = result;
1312
+ result = {
1313
+ ...rest,
1314
+ ...(deal !== undefined ? { offer: deal } : {}),
1315
+ ...(deals !== undefined ? { offers: deals } : {}),
1316
+ };
1317
+ }
1278
1318
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
1279
1319
  }
1280
1320
  main().catch((error) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,cAAc,GAAG,8BAA8B,CAAC;AACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACrF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAO7D,MAAM,cAAe,SAAQ,KAAK;IAErB;IAEA;IAHX,YACW,MAAc,EACvB,OAAe,EACN,IAAc;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,WAAM,GAAN,MAAM,CAAQ;QAEd,SAAI,GAAJ,IAAI,CAAU;QAGvB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AASD,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAiB,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,cAAc,CAAC;IAC/F,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE;QACnE,OAAO;QACP,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,OAAe,EAAE,IAAY,EAAE,UAA0B,EAAE;IAChG,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,OAAO,EAAE;YACP,MAAM,EAAE,kBAAkB;YAC1B,aAAa,EAAE,UAAU,MAAM,EAAE;YACjC,uBAAuB,EAAE,KAAK;YAC9B,iBAAiB,EAAE,eAAe;YAClC,yBAAyB,EAAE,OAAO;YAClC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YAC7E,GAAG,OAAO,CAAC,OAAO;SACnB;QACD,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GACX,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YACvF,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,2BAA2B,CAAC;QACzD,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,IAAY;IAClD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,SAAS;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,IAAY;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAc,EAAE,IAAY;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,IAAY;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CAAC,IAAc,EAAE,IAAY;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY,EAAE,MAAyB;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAc,EAAE,IAAY,EAAE,MAAyB;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAA6B,EAAE,GAAW,EAAE,KAAc;IACpF,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3D,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,EAAE,CAAC,KAAyB,EAAE,KAAa;IAClD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAc,EAAE,KAAa,EAAE,YAA+B;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B,EAAE,MAA4C;IAC9F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM;QAAE,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,IAA6B;IAClE,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACnE,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9F,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,SAAoC,CAAC;YACpE,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAc;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,MAAM,GAAiB;QAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;QACrB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC;IACF,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAClE,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CACf;QACE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU;KACX,EACD,IAAI,EACJ,CAAC,CACF,IAAI,CACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAEjG,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,IAAI;IACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCtB,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,0EAA0E;IAC1E,0CAA0C;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACnD,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;QAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClH,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,SAAS,GACb,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAClB,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBACpB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;oBACxB,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO;wBACnB,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,UAAU,CAAC;QACvB,IAAI,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,MAAe,CAAC;IAEpB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE;YACnE,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mDAAmD,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAC3G;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC;QACpH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,OAAO;gBACP,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;aACxC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,sBAAsB,EAAE;YAC1E,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACrD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uCAAuC,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC3C,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,EAAE,EACtE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC,WAAW,EACjF;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2CAA2C,CAAC,UAAU,CACnF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,cAAc,EACrF;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC;gBACtC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;aAC7B;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAC7D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,+CAA+C,CAAC,cAAc,CAC3F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;QACnE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE,EACpG,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EAC/F;YACE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;SAC/C,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EAC/F,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,CAAC,kBAAkB,CAC5F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,kBAAkB,EAC/D;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,EACnG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,gBAAgB,CAC3F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;QACrE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uDAAuD,CAAC,gBAAgB,EAChG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0DAA0D,CAAC,EAAE,EAC/F;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9E,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,EACvE;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE;SAC3D,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,eAAe,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,SAAS,IAAI,CAAC,gBAAgB,CAAC;QACjH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;YACxD,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;SAChD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAClF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,KAAK,EAAE;gBACL,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aAC1D;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACjF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,QAAQ,CAAC,EAAE,EAC7E,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACpG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACvF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,CAAC,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YACrF,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACvE,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACvG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,WAAW,CAAC,EAAE,EAChF,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,WAAW,CAAC,IAAI,MAAM,EAAE,EAC1F;YACE,MAAM,EAAE,MAAM;YACd,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;gBACtD,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;SACR,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gCAAgC,QAAQ,YAAY,CAAC,uBAAuB,EACtG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,0CAA0C,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,EAAE,EAC1E,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAClG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,+CAA+C,CAAC,WAAW,CACtF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,wDAAwD,CAAC,EAAE,EAC5F,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QACjD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2DAA2D,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,EAC7I,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC5C,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACvD,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC3G,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sDAAsD,CAAC,WAAW,EAC/F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YAC7D,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE;oBACxC,kBAAkB;oBAClB,UAAU;oBACV,QAAQ;oBACR,WAAW;oBACX,UAAU;oBACV,QAAQ;iBACT,CAAC;gBACF,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE;YACxE,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC1B,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2DAA2D,CAAC,UAAU,EAC1G;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,OAAO,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yDAAyD,CAAC,EAAE,CACtF,CAAC;QACF,MAAM,OAAO,GACX,aAAa;YACb,OAAO,aAAa,KAAK,QAAQ;YACjC,SAAS,IAAI,aAAa;YAC1B,aAAa,CAAC,OAAO;YACrB,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ;YACvC,CAAC,CAAE,aAAa,CAAC,OAAmC;YACpD,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,GAAG;YACP,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;SAC/E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YACjG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAClD,CAAC,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC7F,CAAC,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;SAC3F,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,iBAAiB,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,cAAc,GAClB,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3E,CAAC,CAAE,IAAI,CAAC,MAAkC;gBAC1C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,WAAW,GACf,iBAAiB,IAAI,CAAC,OAAO,cAAc,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,IAAI,CAAC,MAAM,GAAG;gBACZ,GAAG,cAAc;gBACjB,KAAK,EACH,WAAW,IAAI,CAAC,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9G,WAAW;aACZ,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE3D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,kBAAkB,GACtB,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YACvF,CAAC,CAAE,IAAI,CAAC,UAAsC;YAC9C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,GAAG,kBAAkB,EAAE,EAAE;YACxD,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/E;gBACE,cAAc;gBACd,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE;oBACvC,MAAM;oBACN,eAAe;oBACf,sBAAsB;oBACtB,sBAAsB;iBACvB,CAAC;aACH;YACD,CAAC,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;SACnG,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QACrE,MAAM,oBAAoB,GACxB,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/F,IAAI,oBAAoB,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CACb,uIAAuI,CACxI,CAAC;QACJ,CAAC;QACD,IAAI,oBAAoB,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9G,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;YAC7D,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;YACpC,QAAQ;YACR,iBAAiB;YACjB,mBAAmB;YACnB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,kBAAkB;YAClB,uBAAuB;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC;gBACE,MAAM;gBACN,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;oBAC9B,SAAS;oBACT,UAAU;oBACV,eAAe;oBACf,UAAU;oBACV,iBAAiB;oBACjB,QAAQ;oBACR,QAAQ;oBACR,UAAU;iBACX,CAAC;aACH;YACD,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;YACjC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;SACpD,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1E,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC1F,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,MAAM,gBAAgB,GACpB,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChH,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,eAAe,EAC1F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,kDAAkD,CAAC,eAAe,EAC3F;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;gBAChC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;aAChD;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iDAAiD,CAAC,OAAO,CACnF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mDAAmD,CAAC,cAAc,EAC3F;YACE,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;QACvF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4CAA4C,SAAS,IAAI,CAAC,UAAU,EAC7F;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,UAAU,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE;aACjC;YACD,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAClC,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,iBAAiB,EAAE,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YACjH;gBACE,cAAc;gBACd,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;aACrG;YACD,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YACxF,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF;gBACE,eAAe;gBACf,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;aAChG;SACF,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACxF,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YACjE,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,4BAA4B,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3D,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAClE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvE,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oDAAoD,CAAC,WAAW,EACzF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;YACpC,UAAU;YACV,WAAW;YACX,iBAAiB;YACjB,mBAAmB;YACnB,QAAQ;YACR,qBAAqB;YACrB,0BAA0B;YAC1B,kBAAkB;YAClB,uBAAuB;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACxC,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACxF,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC1E,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QAC1F,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,gBAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1F,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC;QAC/C,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACtF,MAAM,mBAAmB,GACvB,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChH,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qDAAqD,CAAC,WAAW,EAC1F,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE;YAC3E,KAAK,EAAE;gBACL,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,SAAS;gBACtD,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;aACtC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE;YAChE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,6CAA6C,CAAC,EAAE,CAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpE,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC;QACtB,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;SACtF,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,EAC7E,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EACrG,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAC/E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,0BAA0B,CAAC,WAAW,CACxE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,UAAU,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,EAAE,CAC7E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC5D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC;SAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,SAAS,EAAE;YAC7G,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACpF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE;YAClE,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACzC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChG,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,EAAE;YACrG,MAAM,EAAE,OAAO;YACf,IAAI;SACL,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACrF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,eAAe,EAC9D;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;gBAChC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;gBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QACpF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,eAAe,EAC9D;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EACtG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACxF,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,EAAE,EACtG,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC,EAAE,EAAE,CAC9F,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACjF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAChF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,EAAE,EAAE;YAC3G,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;QAClF,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACpH,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC/D,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IAC/E,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9D,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAClE,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7F,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnG,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,EACjE;YACE,MAAM,EAAE,OAAO;YACf,IAAI;SACL,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAClE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,EACjE;YACE,MAAM,EAAE,QAAQ;SACjB,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,QAAQ,EACvE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACnD,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QACnE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,CAC3E,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1F,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,WAAW,EAC1E,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CACzB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACzE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,EAAE,EAC/G,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QAC7E,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,aAAa,EAC1H;YACE,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;aACjC;SACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,cAAc,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QACxE,MAAM,GAAG,MAAM,OAAO,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,QAAQ,EACtK,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,QAAQ,KAAK,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE;YACvG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;SACnD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,MAAM,GAAG,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;YACxD,MAAM,EAAE,MAAkC;YAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;QACnE,MAAM,GAAG;YACP,GAAG,IAAI;YACP,GAAG,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAI,IAAgC,EAAE,MAAM,EAAG,IAAgC,CAAC,EAAE,EAAE,EAAE;gBAClG,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC;oBACE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAC/F;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;QACnE,MAAM,GAAG;YACP,GAAG,IAAI;YACP,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@darwinso/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Official command-line client for Darwin",
5
5
  "keywords": [
6
6
  "darwin",
7
7
  "agent",
8
8
  "cli"
9
9
  ],
10
- "homepage": "https://docs.darwin.so/cli",
10
+ "homepage": "https://darwin.so/docs/cli",
11
11
  "bugs": {
12
12
  "url": "https://github.com/darwin-studios/darwin-cli/issues"
13
13
  },