agent-world 0.12.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +15 -0
  2. package/dist/cli/hitl.d.ts +5 -1
  3. package/dist/cli/hitl.js +9 -3
  4. package/dist/cli/index.js +11 -9
  5. package/dist/core/activity-tracker.d.ts +12 -2
  6. package/dist/core/activity-tracker.d.ts.map +1 -1
  7. package/dist/core/activity-tracker.js +41 -5
  8. package/dist/core/activity-tracker.js.map +1 -1
  9. package/dist/core/create-agent-tool.d.ts +23 -25
  10. package/dist/core/create-agent-tool.d.ts.map +1 -1
  11. package/dist/core/create-agent-tool.js +241 -141
  12. package/dist/core/create-agent-tool.js.map +1 -1
  13. package/dist/core/events/memory-manager.js +1 -1
  14. package/dist/core/events/memory-manager.js.map +1 -1
  15. package/dist/core/events/orchestrator.d.ts.map +1 -1
  16. package/dist/core/events/orchestrator.js +14 -5
  17. package/dist/core/events/orchestrator.js.map +1 -1
  18. package/dist/core/events/persistence.d.ts +1 -1
  19. package/dist/core/events/persistence.d.ts.map +1 -1
  20. package/dist/core/events/persistence.js +1 -27
  21. package/dist/core/events/persistence.js.map +1 -1
  22. package/dist/core/events/publishers.d.ts +0 -9
  23. package/dist/core/events/publishers.d.ts.map +1 -1
  24. package/dist/core/events/publishers.js +10 -27
  25. package/dist/core/events/publishers.js.map +1 -1
  26. package/dist/core/events/subscribers.d.ts +1 -1
  27. package/dist/core/events/subscribers.d.ts.map +1 -1
  28. package/dist/core/events/subscribers.js +15 -7
  29. package/dist/core/events/subscribers.js.map +1 -1
  30. package/dist/core/hitl-tool.d.ts +79 -0
  31. package/dist/core/hitl-tool.d.ts.map +1 -0
  32. package/dist/core/hitl-tool.js +306 -0
  33. package/dist/core/hitl-tool.js.map +1 -0
  34. package/dist/core/hitl.d.ts +26 -6
  35. package/dist/core/hitl.d.ts.map +1 -1
  36. package/dist/core/hitl.js +82 -32
  37. package/dist/core/hitl.js.map +1 -1
  38. package/dist/core/index.d.ts +3 -2
  39. package/dist/core/index.d.ts.map +1 -1
  40. package/dist/core/index.js +3 -2
  41. package/dist/core/index.js.map +1 -1
  42. package/dist/core/llm-manager.d.ts +2 -0
  43. package/dist/core/llm-manager.d.ts.map +1 -1
  44. package/dist/core/llm-manager.js +16 -9
  45. package/dist/core/llm-manager.js.map +1 -1
  46. package/dist/core/managers.d.ts +24 -3
  47. package/dist/core/managers.d.ts.map +1 -1
  48. package/dist/core/managers.js +103 -52
  49. package/dist/core/managers.js.map +1 -1
  50. package/dist/core/mcp-server-registry.d.ts +3 -1
  51. package/dist/core/mcp-server-registry.d.ts.map +1 -1
  52. package/dist/core/mcp-server-registry.js +7 -1
  53. package/dist/core/mcp-server-registry.js.map +1 -1
  54. package/dist/core/tool-utils.d.ts +3 -1
  55. package/dist/core/tool-utils.d.ts.map +1 -1
  56. package/dist/core/tool-utils.js +55 -25
  57. package/dist/core/tool-utils.js.map +1 -1
  58. package/dist/core/types.d.ts +2 -17
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/core/types.js +0 -2
  61. package/dist/core/types.js.map +1 -1
  62. package/dist/core/utils.d.ts +9 -0
  63. package/dist/core/utils.d.ts.map +1 -1
  64. package/dist/core/utils.js +28 -3
  65. package/dist/core/utils.js.map +1 -1
  66. package/dist/public/assets/index-BW41BxMy.css +1 -0
  67. package/dist/public/assets/index-kO6UJFwK.js +96 -0
  68. package/dist/public/index.html +2 -2
  69. package/dist/server/api.js +29 -41
  70. package/dist/server/sse-handler.d.ts +3 -2
  71. package/dist/server/sse-handler.js +19 -11
  72. package/package.json +1 -1
  73. package/dist/public/assets/index-BO20H4xt.js +0 -96
  74. package/dist/public/assets/index-ETY7W5_S.css +0 -1
@@ -25,6 +25,8 @@
25
25
  * - Error log persistence with 100-entry retention policy
26
26
  *
27
27
  * Recent Changes:
28
+ * - 2026-02-20: Added `claimAgentCreationSlot` to allow `create_agent` tool to hold the TOCTOU slot before showing approval dialog, preventing duplicate-approval race conditions.
29
+ * - 2026-02-20: Added `createAgent` option `allowWhileWorldProcessing` so approval-gated in-flight tool calls can create agents without disabling default processing guards.
28
30
  * - 2026-02-16: Added `branchChatFromMessage` to create a new chat branched from an assistant message and copy source-chat history up to the target message.
29
31
  * - 2026-02-14: Updated `editUserMessage` to be fully core-managed for clear+resend behavior without client-side subscription refresh logic.
30
32
  * - Edit resubmission now prefers active subscribed world runtimes.
@@ -33,7 +35,7 @@
33
35
  * - 2026-02-13: Added world-level `mainAgent` routing config and agent-level `autoReply` toggle support.
34
36
  * - 2026-02-13: Moved edit-resubmission title-regeneration reset into core `editUserMessage` so all clients share the same behavior.
35
37
  * - Auto-generated chat titles are reset to `New Chat` before edit resubmission only when the latest persisted
36
- * chat-title CRUD payload name still matches the current chat name.
38
+ * `chat-title-updated` payload title still matches the current chat name.
37
39
  * - 2026-02-13: Centralized default chat-title semantics via shared chat constants.
38
40
  * - Uses a single `NEW_CHAT_TITLE` source for reusable chat detection and creation paths.
39
41
  * - 2026-02-12: Hardened `getMemory` to auto-migrate legacy messages missing `messageId` before returning memory payloads.
@@ -76,7 +78,6 @@ import * as fs from 'fs';
76
78
  import * as path from 'path';
77
79
  import { getWorldDir } from './storage/world-storage.js';
78
80
  import { getDefaultRootPath } from './storage/storage-factory.js';
79
- import { publishCRUDEvent } from './events/index.js';
80
81
  import { NEW_CHAT_TITLE, isDefaultChatTitle } from './chat-constants.js';
81
82
  import { hasActiveChatMessageProcessing, stopMessageProcessing } from './message-processing-control.js';
82
83
  // Initialize logger and storage
@@ -104,15 +105,49 @@ function ensureInitialization() {
104
105
  return moduleInitialization;
105
106
  }
106
107
  const NEW_CHAT_CONFIG = { REUSABLE_CHAT_TITLE: NEW_CHAT_TITLE };
107
- function extractGeneratedChatTitleFromCrudPayload(payload) {
108
+ // TOCTOU guard: prevents two concurrent createAgent calls from both passing the
109
+ // `agentExists` check before either write lands. Maps worldId → Set<agentId>.
110
+ const pendingAgentCreates = new Map();
111
+ /**
112
+ * Pre-claim an agent creation slot before showing an approval dialog.
113
+ * Prevents race conditions where two concurrent create_agent tool calls both
114
+ * pass approval before either calls createAgent.
115
+ * Returns a release() function that MUST be called if createAgent is not called.
116
+ * createAgent({ slotAlreadyClaimed: true }) also cleans up the slot itself,
117
+ * so calling release() after createAgent is safe (idempotent).
118
+ */
119
+ export async function claimAgentCreationSlot(worldId, agentName) {
120
+ await ensureInitialization();
121
+ const resolvedWorldId = await getResolvedWorldId(worldId);
122
+ const agentId = utils.toKebabCase(agentName);
123
+ const worldPending = pendingAgentCreates.get(resolvedWorldId) ?? new Set();
124
+ if (!pendingAgentCreates.has(resolvedWorldId)) {
125
+ pendingAgentCreates.set(resolvedWorldId, worldPending);
126
+ }
127
+ if (worldPending.has(agentId)) {
128
+ return { claimed: false, reason: 'already_pending', name: agentName };
129
+ }
130
+ const exists = await storageWrappers.agentExists(resolvedWorldId, agentId);
131
+ if (exists) {
132
+ return { claimed: false, reason: 'already_exists', name: agentName };
133
+ }
134
+ worldPending.add(agentId);
135
+ return {
136
+ claimed: true,
137
+ release: () => {
138
+ worldPending.delete(agentId);
139
+ if (worldPending.size === 0) {
140
+ pendingAgentCreates.delete(resolvedWorldId);
141
+ }
142
+ },
143
+ };
144
+ }
145
+ function extractGeneratedChatTitleFromSystemPayload(payload) {
108
146
  if (!payload || typeof payload !== 'object')
109
147
  return null;
110
- if (payload.operation !== 'update')
148
+ if (payload.eventType !== 'chat-title-updated')
111
149
  return null;
112
- if (payload.entityType !== 'chat')
113
- return null;
114
- const entityData = payload.entityData && typeof payload.entityData === 'object' ? payload.entityData : null;
115
- const title = typeof entityData?.name === 'string' ? entityData.name.trim() : '';
150
+ const title = typeof payload.title === 'string' ? payload.title.trim() : '';
116
151
  return title || null;
117
152
  }
118
153
  async function resetAutoGeneratedChatTitleForEditResubmission(world, chatId) {
@@ -129,13 +164,13 @@ async function resetAutoGeneratedChatTitleForEditResubmission(world, chatId) {
129
164
  }
130
165
  let latestGeneratedTitle = null;
131
166
  try {
132
- const crudEvents = await eventStorage.getEventsByWorldAndChat(world.id, chatId, {
133
- types: ['crud'],
167
+ const systemEvents = await eventStorage.getEventsByWorldAndChat(world.id, chatId, {
168
+ types: ['system'],
134
169
  order: 'desc',
135
170
  limit: 25
136
171
  });
137
- for (const event of crudEvents) {
138
- const generatedTitle = extractGeneratedChatTitleFromCrudPayload(event?.payload);
172
+ for (const event of systemEvents) {
173
+ const generatedTitle = extractGeneratedChatTitleFromSystemPayload(event?.payload);
139
174
  if (generatedTitle) {
140
175
  latestGeneratedTitle = generatedTitle;
141
176
  break;
@@ -143,7 +178,7 @@ async function resetAutoGeneratedChatTitleForEditResubmission(world, chatId) {
143
178
  }
144
179
  }
145
180
  catch (error) {
146
- logger.debug('Skipping auto-title reset because chat CRUD events could not be queried', {
181
+ logger.debug('Skipping auto-title reset because system events could not be queried', {
147
182
  worldId: world.id,
148
183
  chatId,
149
184
  error: error instanceof Error ? error.message : String(error)
@@ -425,45 +460,65 @@ export async function getWorld(worldId) {
425
460
  /**
426
461
  * Create new agent with configuration and system prompt
427
462
  */
428
- export async function createAgent(worldId, params, options) {
463
+ export async function createAgent(worldId, params, options = {}) {
429
464
  await ensureInitialization();
430
465
  const resolvedWorldId = await getResolvedWorldId(worldId);
431
466
  // Check if world is processing to prevent agent creation during concurrent chat sessions
432
467
  const { getActiveSubscribedWorld } = await import('./subscription.js');
433
468
  const activeSubscribedWorld = getActiveSubscribedWorld(resolvedWorldId);
434
469
  const world = activeSubscribedWorld || await getWorld(resolvedWorldId);
435
- if (world?.isProcessing && options?.allowWhileProcessing !== true) {
470
+ if (world?.isProcessing && !options.allowWhileWorldProcessing) {
436
471
  throw new Error('Cannot create agent while world is processing');
437
472
  }
438
473
  const agentId = params.id || utils.toKebabCase(params.name);
439
- const exists = await storageWrappers.agentExists(resolvedWorldId, agentId);
440
- if (exists) {
441
- throw new Error(`Agent with ID '${agentId}' already exists`);
474
+ // Resolve the pending-creates Set (needed in finally regardless of who claimed it).
475
+ const worldPending = pendingAgentCreates.get(resolvedWorldId) ?? new Set();
476
+ if (!pendingAgentCreates.has(resolvedWorldId)) {
477
+ pendingAgentCreates.set(resolvedWorldId, worldPending);
478
+ }
479
+ if (!options.slotAlreadyClaimed) {
480
+ // TOCTOU guard: claim the slot before the async agentExists check.
481
+ // Skipped when the caller already claimed the slot via claimAgentCreationSlot().
482
+ if (worldPending.has(agentId)) {
483
+ throw new Error(`Agent '${agentId}' is already being created`);
484
+ }
485
+ worldPending.add(agentId);
442
486
  }
443
- const now = new Date();
444
- const agent = {
445
- id: agentId,
446
- name: params.name,
447
- type: params.type,
448
- autoReply: params.autoReply ?? true,
449
- status: 'inactive',
450
- provider: params.provider,
451
- model: params.model,
452
- systemPrompt: params.systemPrompt,
453
- temperature: params.temperature,
454
- maxTokens: params.maxTokens,
455
- createdAt: now,
456
- lastActive: now,
457
- llmCallCount: 0,
458
- memory: [],
459
- };
460
- await storageWrappers.saveAgent(resolvedWorldId, agent);
461
- // Emit CRUD event for real-time updates
462
- if (world) {
463
- world.agents.set(agent.id, agent);
464
- publishCRUDEvent(world, 'create', 'agent', agent.id, agent);
487
+ try {
488
+ const exists = await storageWrappers.agentExists(resolvedWorldId, agentId);
489
+ if (exists) {
490
+ throw new Error(`Agent with ID '${agentId}' already exists`);
491
+ }
492
+ const now = new Date();
493
+ const agent = {
494
+ id: agentId,
495
+ name: params.name,
496
+ type: params.type,
497
+ autoReply: params.autoReply ?? true,
498
+ status: 'inactive',
499
+ provider: params.provider,
500
+ model: params.model,
501
+ systemPrompt: params.systemPrompt,
502
+ temperature: params.temperature,
503
+ maxTokens: params.maxTokens,
504
+ createdAt: now,
505
+ lastActive: now,
506
+ llmCallCount: 0,
507
+ memory: [],
508
+ };
509
+ await storageWrappers.saveAgent(resolvedWorldId, agent);
510
+ if (world) {
511
+ world.agents.set(agent.id, agent);
512
+ }
513
+ return agent;
514
+ }
515
+ finally {
516
+ // Clean up the slot whether it was claimed here or via claimAgentCreationSlot().
517
+ worldPending.delete(agentId);
518
+ if (worldPending.size === 0) {
519
+ pendingAgentCreates.delete(resolvedWorldId);
520
+ }
465
521
  }
466
- return agent;
467
522
  }
468
523
  /**
469
524
  * Load agent by ID with full configuration and memory
@@ -509,17 +564,14 @@ export async function updateAgent(worldId, agentId, updates) {
509
564
  lastActive: new Date()
510
565
  };
511
566
  await storageWrappers.saveAgent(resolvedWorldId, updatedAgent);
512
- // Emit CRUD event for real-time updates
513
567
  if (world) {
514
568
  const runtimeAgent = world.agents.get(resolvedAgentId);
515
569
  if (runtimeAgent) {
516
570
  Object.assign(runtimeAgent, updatedAgent);
517
571
  world.agents.set(resolvedAgentId, runtimeAgent);
518
- publishCRUDEvent(world, 'update', 'agent', resolvedAgentId, runtimeAgent);
519
572
  }
520
573
  else {
521
574
  world.agents.set(resolvedAgentId, updatedAgent);
522
- publishCRUDEvent(world, 'update', 'agent', resolvedAgentId, updatedAgent);
523
575
  }
524
576
  }
525
577
  return updatedAgent;
@@ -539,10 +591,15 @@ export async function deleteAgent(worldId, agentId) {
539
591
  throw new Error('Cannot delete agent while world is processing');
540
592
  }
541
593
  const success = await storageWrappers.deleteAgent(resolvedWorldId, resolvedAgentId);
542
- // Emit CRUD event for real-time updates
543
594
  if (success && world) {
595
+ // Remove the agent's message listener BEFORE removing from the agents map
596
+ // to prevent the stale closure from continuing to process messages.
597
+ const unsubscribe = world._agentUnsubscribers?.get(resolvedAgentId);
598
+ if (unsubscribe) {
599
+ unsubscribe();
600
+ world._agentUnsubscribers.delete(resolvedAgentId);
601
+ }
544
602
  world.agents.delete(resolvedAgentId);
545
- publishCRUDEvent(world, 'delete', 'agent', resolvedAgentId);
546
603
  }
547
604
  return success;
548
605
  }
@@ -655,11 +712,9 @@ async function createChat(worldId, params) {
655
712
  messageCount: 0,
656
713
  };
657
714
  await storageWrappers.saveChatData(worldId, chatData);
658
- // Emit CRUD event for real-time updates
659
715
  const world = await getWorld(worldId);
660
716
  if (world) {
661
717
  world.chats.set(chatData.id, chatData);
662
- publishCRUDEvent(world, 'create', 'chat', chatData.id, chatData, chatData.id);
663
718
  }
664
719
  return chatData;
665
720
  }
@@ -839,10 +894,6 @@ export async function deleteChat(worldId, chatId) {
839
894
  if (world && world.currentChatId === chatId) {
840
895
  shouldSetNewCurrentChat = true;
841
896
  }
842
- // Emit CRUD event BEFORE deletion (while chat_id still exists in DB)
843
- if (world) {
844
- publishCRUDEvent(world, 'delete', 'chat', chatId, undefined, chatId);
845
- }
846
897
  // Then delete the chat itself
847
898
  const chatDeleted = await storageWrappers.deleteChatData(resolvedWorldId, chatId);
848
899
  // Remove from world's in-memory chat map
@@ -1 +1 @@
1
- {"version":3,"file":"managers.js","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managers.js","sourceRoot":"","sources":["../../core/managers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG,CAAA,sBAAsB;AACzB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAmB,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACzF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAQxG,gCAAgC;AAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;AACrD,IAAI,eAAe,GAAsB,IAAI,CAAC;AAC9C,IAAI,oBAAoB,GAAyB,IAAI,CAAC;AAEtD,KAAK,UAAU,iBAAiB;IAC9B,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,sBAAsB;IAChC,CAAC;IACD,IAAI,CAAC;QACH,gBAAgB,EAAE,CAAC;QACnB,eAAe,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACxG,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,iBAAiB,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AACD,MAAM,eAAe,GAAG,EAAE,mBAAmB,EAAE,cAAc,EAAW,CAAC;AAQzE,gFAAgF;AAChF,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAM3D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,SAAiB;IAEjB,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;IACnF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACvE,CAAC;IAED,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE1B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,GAAG,EAAE;YACZ,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0CAA0C,CAAC,OAAY;IAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,OAAO,CAAC,SAAS,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,8CAA8C,CAC3D,KAAY,EACZ,MAAc;IAEd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,eAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9F,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,oBAAoB,GAAkB,IAAI,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE;YAChF,KAAK,EAAE,CAAC,QAAQ,CAAC;YACjB,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,0CAA0C,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClF,IAAI,cAAc,EAAE,CAAC;gBACnB,oBAAoB,GAAG,cAAc,CAAC;gBACtC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sEAAsE,EAAE;YACnF,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,MAAM;YACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,KAAK,YAAY,EAAE,CAAC;QACnE,OAAO;IACT,CAAC;IAED,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,OAAO,eAAgB,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;QACnE,cAAc,GAAG,MAAM,eAAgB,CAAC,uBAAuB,CAC7D,KAAK,CAAC,EAAE,EACR,MAAM,EACN,YAAY,EACZ,cAAc,CACf,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,eAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAClG,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,GAAG,cAAc,CAAC;IACpC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iCAAiC,CAAC,KAAY,EAAE,OAAe;IAC5E,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAEtD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QAClF,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YACzD,CAAC,CAAC,CAAC,GAAG,cAAe,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IACzD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,WAAW,EAAE,EAAE,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,UAAU,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAE5C,OAAO,CACL,QAAQ,KAAK,aAAa;YAC1B,UAAU,KAAK,aAAa;YAC5B,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,eAAe;YAC/C,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,eAAe,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,aAAqB;IACrD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC7D,OAAO,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CAAC,aAAqB,EAAE,aAAqB;IAChF,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACvF,IAAI,WAAW,EAAE,EAAE,EAAE,CAAC;QACpB,OAAO,WAAW,CAAC,EAAE,CAAC;IACxB,CAAC;IAED,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAE5C,OAAO,CACL,QAAQ,KAAK,aAAa;YAC1B,UAAU,KAAK,aAAa;YAC5B,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,eAAe;YAC/C,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,eAAe,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,aAAqB,EAAE,aAAqB;IAC5E,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC5E,OAAO,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAU;QACvB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QACpE,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,WAAW,EAAE,IAAI,IAAI,EAAE;QACvB,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,IAAI,YAAY,EAAE;QAChC,MAAM,EAAE,IAAI,GAAG,EAAiB;QAChC,KAAK,EAAE,IAAI,GAAG,EAAgB;QAC9B,YAAY,EAAG,eAAuB,EAAE,YAAY;KACrD,CAAC;IAEF,0BAA0B;IAC1B,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChG,SAAS,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACtE,SAAS,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,eAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAE5C,gDAAgD;IAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAA0B;IAC3E,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAEvE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,iBAAiB,GAAsB;QAC3C,GAAG,OAAO;QACV,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvH,CAAC;IAEF,MAAM,WAAW,GAAU;QACzB,GAAG,YAAY;QACf,GAAG,iBAAiB;QACpB,WAAW,EAAE,IAAI,IAAI,EAAE;KACxB,CAAC;IAEF,MAAM,eAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,aAAqB;IAChF,MAAM,oBAAoB,EAAE,CAAC;IAC7B,OAAO,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe;IACzD,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAW;IACjE,MAAM,oBAAoB,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,wFAAwF;IACxF,MAAM,SAAS,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACpE,IAAI,SAAS,EAAE,wBAAwB,EAAE,CAAC;QACxC,SAAS,CAAC,wBAAwB,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,SAAS,EAAE,wBAAwB,EAAE,CAAC;QACxC,SAAS,CAAC,wBAAwB,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,eAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,YAAY,GAAG,MAAM,eAAgB,CAAC,UAAU,EAAE,CAAC;IAEzD,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAW,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACpC,eAAe,EAAE,OAAO;QACxB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;QAC/B,UAAU,EAAE,CAAC,CAAC,SAAS;QACvB,OAAO,EAAE,SAAS,EAAE,EAAE;QACtB,SAAS,EAAE,SAAS,EAAE,IAAI;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,GAAG,MAAM,eAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAE9D,0CAA0C;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/B,KAAK,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAU;QACnB,GAAG,SAAS;QACZ,YAAY,EAAE,IAAI,YAAY,EAAE;QAChC,MAAM,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,KAAK,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,YAAY,EAAG,eAAuB,EAAE,YAAY;QACpD,wBAAwB,EAAE,SAAS,EAAE,uCAAuC;QAC5E,wBAAwB,EAAE,SAAS,EAAE,4CAA4C;KAClF,CAAC;IAEF,gDAAgD;IAChD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChG,KAAK,CAAC,wBAAwB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,MAAyB,EACzB,UAA8B,EAAE;IAEhC,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,yFAAyF;IACzF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,qBAAqB,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,YAAY,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5D,oFAAoF;IACpF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;IACnF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,mBAAmB,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChC,mEAAmE;QACnE,iFAAiF;QACjF,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,4BAA4B,CAAC,CAAC;QACjE,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAU;YACnB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACnC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,iFAAiF;QACjF,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAAe,EAAE,OAA0B;IAC5F,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3E,6FAA6F;IAC7F,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,qBAAqB,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE7F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAU;QAC1B,GAAG,iBAAiB;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI;QAC5C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,iBAAiB,CAAC,IAAI;QAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,IAAI,IAAI,CAAC;QACtG,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM;QAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,iBAAiB,CAAC,QAAQ;QACxD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAAC,KAAK;QAC/C,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY;QACxG,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW;QACpG,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS;QAC5F,UAAU,EAAE,IAAI,IAAI,EAAE;KACvB,CAAC;IAEF,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAEhE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAC1C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,OAAe;IAChE,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3E,yFAAyF;IACzF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,qBAAqB,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,eAAgB,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAErF,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,KAAK,CAAC,mBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,MAAM,eAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,OAAe,EAAE,QAAwB;IAChG,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3E,8FAA8F;IAC9F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE7F,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IACvC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,GAAG,GAAG;QACN,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAU;QAC1B,GAAG,iBAAiB;QACpB,MAAM,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC;QAC7D,UAAU,EAAE,IAAI,IAAI,EAAE;KACvB,CAAC;IAEF,MAAM,eAAgB,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAChE,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe;IACrE,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAE3E,0FAA0F;IAC1F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,OAAO;QACP,eAAe;QACf,eAAe,EAAE,OAAO;QACxB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE7F,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;QAC/B,UAAU,EAAE,CAAC,CAAC,iBAAiB;QAC/B,SAAS,EAAE,iBAAiB,EAAE,IAAI;QAClC,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;QACpD,mBAAmB,EAAE,iBAAiB,EAAE,YAAY,IAAI,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,MAAM,eAAgB,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACjG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAU;QAC1B,GAAG,iBAAiB;QACpB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,IAAI,IAAI,EAAE;KACvB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE9C,MAAM,eAAgB,CAAC,eAAe,CAAC,eAAe,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IAEhE,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE;QACvE,eAAe;QACf,eAAe,EAAE,YAAY,CAAC,YAAY;KAC3C,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,MAAwB;IACjE,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,MAAM,QAAQ,GAAS;QACrB,EAAE,EAAE,MAAM;QACV,OAAO;QACP,IAAI,EAAE,eAAe,CAAC,mBAAmB;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,MAAM,eAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IAC3C,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,iEAAiE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,yDAAyD;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE;QACjD,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO,MAAM,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,YAAoB,EACpB,SAAiB;IAEjB,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,sBAAsB,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAgB,CAAC,YAAY,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAChG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,sBAAsB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACrD,MAAM,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC,KAAK,mBAAmB;QACtD,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,KAAK,sBAAsB,CACvD,CAAC;IAEF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,mBAAmB,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9E,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAE,aAAqB,EAAE,UAAU,CAAC,IAAK,aAAqB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACvH,MAAM,aAAa,GAAG,OAAO,CAAE,aAAqB,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,OAAO,CAAE,aAAqB,EAAE,cAAc,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,MAAM,CAAC;IAClF,MAAM,2BAA2B,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE9G,IACE,UAAU,KAAK,WAAW;QAC1B,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,2BAA2B,EAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE;QAC/C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,KAAK,sBAAsB,CAClE,CAAC;YACF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAmB,EAAE,CAAC;YAC1C,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,KAAK,MAAM,WAAW,IAAI,mBAAmB,EAAE,CAAC;gBAC9C,cAAc,CAAC,IAAI,CAAC;oBAClB,GAAG,WAAW;oBACd,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC,KAAK,mBAAmB,EAAE,CAAC;oBACjE,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,uBAAuB,GAAG,aAAa;gBAC3C,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,mBAAmB;qBAClB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC;qBACrE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACf,GAAG,KAAK;oBACR,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC,CAAC;YAER,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,kBAAkB,IAAI,uBAAuB,CAAC,MAAM,CAAC;YACrD,MAAM,eAAgB,CAAC,eAAe,CACpC,eAAe,EACf,WAAW,CAAC,EAAE,EACd,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;gBAChE,OAAO,EAAE,eAAe;gBACxB,SAAS;gBACT,aAAa,EAAE,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;aAC9F,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,SAAS;QACT,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc,EAAE,OAAyB;IACzF,MAAM,oBAAoB,EAAE,CAAC;IAE7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,eAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAErF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE;YAC3B,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc;IAC9D,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,iEAAiE;IACjE,MAAM,kBAAkB,GAAG,MAAM,eAAgB,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAChG,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAExG,sDAAsD;IACtD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QAC5C,uBAAuB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,8BAA8B;IAC9B,MAAM,WAAW,GAAG,MAAM,eAAgB,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAEnF,yCAAyC;IACzC,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,4DAA4D;IAC5D,IAAI,uBAAuB,IAAI,WAAW,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9C,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACrE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,MAAc;IAC/D,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,mBAAmB,GAAG,iBAAiB;QAC3C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,eAAgB,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAErE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE;QACzC,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,MAAsB;IACrE,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,IAAI,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAEjF,gGAAgG;IAChG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,qEAAqE,EAAE;YACjF,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,MAAM,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACzC,OAAO,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe;IACrD,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,8BAA8B;IAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAEhE,iCAAiC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAEvB,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,SAAS;QACX,CAAC;QAED,sCAAsC;QACtC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,cAAc,GAAG,IAAI,CAAC;gBACtB,aAAa,CAAC,IAAI,CAAC;oBACjB,GAAG,OAAO;oBACV,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;iBACtB,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,cAAc,EAAE,CAAC;YACnB,iEAAiE;YACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,eAAgB,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,YAAY,aAAa,uCAAuC,eAAe,GAAG,CAAC,CAAC;IAChG,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;IAEjD,0BAA0B;IAC1B,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,YAAY,GAA8C,EAAE,CAAC;IACnE,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,oBAAoB,GAAkB,IAAI,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE;QAC7C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAe,CAAC,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,yEAAyE;IACzE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,eAAgB,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrE,SAAS;YACX,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAE1C,oEAAoE;YACpE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAE/F,IAAI,SAAS,EAAE,CAAC;gBACd,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM,kBAAkB,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,oBAAoB,KAAK,IAAI,IAAI,kBAAkB,GAAG,oBAAoB,EAAE,CAAC;oBAC/E,oBAAoB,GAAG,kBAAkB,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,qBAAqB,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC;gBACA,GAAG,YAAY;gBACf,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,SAAS,wBAAwB,MAAM,GAAG,EAAE;aAC1F;YACD,CAAC,CAAC,YAAY,CAAC;QAEjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,SAAS;YACT,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,eAAe;YACf,YAAY,EAAE,gBAAgB;YAC9B,oBAAoB;YACpB,aAAa,EAAE,KAAK;YACpB,kBAAkB,EAAE,SAAS;YAC7B,YAAY,EAAE,SAAS;SACxB,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpF,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACjD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,YAAY,GAAG,oBAAoB,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YAErE,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,eAAgB,CAAC,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAElF,oBAAoB,IAAI,YAAY,CAAC;YACrC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QACvC,SAAS;QACT,OAAO,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,eAAe,EAAE,eAAe,CAAC,MAAM;QACvC,YAAY,EAAE,YAAY,CAAC,MAAM;QACjC,oBAAoB;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC;QAClC,SAAS;QACT,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,eAAe;QACf,YAAY;QACZ,oBAAoB;QACpB,aAAa,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;QACtC,kBAAkB,EAAE,SAAS,EAAE,qCAAqC;QACpE,YAAY,EAAE,SAAS;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,MAAc,EACd,WAAmB;IAEnB,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACvE,MAAM,qBAAqB,GAAG,WAAW,IAAI,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,qBAAqB,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,8BAA8B,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5D,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,yDAAyD;IACzD,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnF,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,iCAAiC,CAAC,qBAAqB,IAAI,KAAK,EAAE,eAAe,CAAC,CAAC;IAEzF,+FAA+F;IAC/F,MAAM,8CAA8C,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEpE,MAAM,oBAAoB,GAAG,qBAAqB,IAAI,KAAK,CAAC;IAE5D,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,MAAM,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjG,KAAK,MAAM,KAAK,IAAI,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,wBAAwB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAED,6DAA6D;IAC7D,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvF,MAAM,CAAC,IAAI,CAAC,wCAAwC,eAAe,yBAAyB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAEvH,OAAO;YACL,GAAG,aAAa;YAChB,kBAAkB,EAAE,SAAS;YAC7B,YAAY,EAAE,YAAY,CAAC,SAAS;SACrC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,wCAAwC,eAAe,MAAM,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO;YACL,GAAG,aAAa;YAChB,kBAAkB,EAAE,QAAQ;YAC5B,iBAAiB,EAAE,QAAQ;SAC5B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAe,EAAE,QAAsB;IACxE,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,uBAAuB;QACvB,IAAI,MAAM,GAAmB,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,gBAAgB;QAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,4BAA4B;QAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACxB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,gCAAgC,eAAe,GAAG,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,eAAe,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7H,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,oBAAoB,EAAE,CAAC;IAC7B,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,eAAe,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7H,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -103,6 +103,8 @@
103
103
  * Scenario-based logging: Split into lifecycle, connection, tools, execution (October 2025)
104
104
  * Lifecycle management: Connection resilience and automatic reconnection (November 2025)
105
105
  * Explicit execution safety system: Replaced heuristic detection with structured metadata (November 2025)
106
+ * 2026-02-20: Added built-in `human_intervention_request` tool registration for generic human-in-the-loop prompts.
107
+ * 2026-02-20: Added built-in `create_agent` tool registration for approval-gated agent creation.
106
108
  * 2026-02-14: Added built-in `load_skill` tool registration for progressive skill instruction loading.
107
109
  * 2026-02-19: Added built-in `create_agent` tool registration with approval-gated agent creation.
108
110
  */
@@ -233,7 +235,7 @@ export declare function updateMCPServersForWorld(worldId: string, newMcpConfig:
233
235
  /**
234
236
  * Get MCP tools available for a world with registry-level caching
235
237
  * Uses cache-first strategy to avoid repeated tool fetching during ephemeral connections
236
- * Includes built-in tools (`shell_cmd`, `load_skill`) in addition to MCP server tools
238
+ * Includes built-in tools (`shell_cmd`, `load_skill`, `create_agent`) in addition to MCP server tools
237
239
  */
238
240
  export declare function getMCPToolsForWorld(worldId: string): Promise<Record<string, any>>;
239
241
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-registry.d.ts","sourceRoot":"","sources":["../../core/mcp-server-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server-registry.d.ts","sourceRoot":"","sources":["../../core/mcp-server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA8BnE;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAe3C;AAuJD,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;CAC/C,GAAG;IACF,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACpC,CAAC;AACF,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AASzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACtD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,eAAe,EAAE,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,eAAe,CAAC;CAC/B;AA8OD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAEnD;AAID;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,eAAe,EAAE,CAsC3E;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA8CrF;AAmLD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,eAAe,EAC7B,eAAe,EAAE,eAAe,gCAyPjC;AAsCD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAQ5C;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA4EjB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiC7F;AAID,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAEvE;AAED,2BAA2B;AAC3B,wBAAgB,cAAc,IAAI,iBAAiB,EAAE,CAEpD;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG/D;AAID,gEAAgE;AAChE,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC3D;AAuDD,gEAAgE;AAChE,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AAED,8BAA8B;AAC9B,wBAAgB,mBAAmB,IAAI;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB,CAQA;AAID,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,SAAS,CA8BlE;AAED,4CAA4C;AAC5C,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAarE;AAID,+DAA+D;AAC/D,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4CnG;AAED,gEAAgE;AAChE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3E;AAED,gEAAgE;AAChE,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvG;AAqCD;;GAEG;AACH;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAwGvF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,GAAG,CAAC,CAwKd;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBzE;AAID;;;GAGG;AACH,wBAAsB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IACrD,WAAW,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IACrD,WAAW,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC,CA0CA;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBlF;AAED,mCAAmC;AACnC,wBAAgB,kBAAkB,IAAI;IACpC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7C,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH,CA0BA"}
@@ -103,6 +103,8 @@
103
103
  * Scenario-based logging: Split into lifecycle, connection, tools, execution (October 2025)
104
104
  * Lifecycle management: Connection resilience and automatic reconnection (November 2025)
105
105
  * Explicit execution safety system: Replaced heuristic detection with structured metadata (November 2025)
106
+ * 2026-02-20: Added built-in `human_intervention_request` tool registration for generic human-in-the-loop prompts.
107
+ * 2026-02-20: Added built-in `create_agent` tool registration for approval-gated agent creation.
106
108
  * 2026-02-14: Added built-in `load_skill` tool registration for progressive skill instruction loading.
107
109
  * 2026-02-19: Added built-in `create_agent` tool registration with approval-gated agent creation.
108
110
  */
@@ -116,6 +118,7 @@ import { createCategoryLogger } from './logger.js';
116
118
  import { createShellCmdToolDefinition } from './shell-cmd-tool.js';
117
119
  import { createLoadSkillToolDefinition } from './load-skill-tool.js';
118
120
  import { createCreateAgentToolDefinition } from './create-agent-tool.js';
121
+ import { createHitlToolDefinition } from './hitl-tool.js';
119
122
  import { createReadFileToolDefinition, createListFilesToolDefinition, createGrepToolDefinition, } from './file-tools.js';
120
123
  import { wrapToolWithValidation } from './tool-utils.js';
121
124
  // Scenario-based loggers for different MCP operations
@@ -1329,6 +1332,7 @@ export async function updateMCPServersForWorld(worldId, newMcpConfig) {
1329
1332
  * - shell_cmd: Execute shell commands
1330
1333
  * - load_skill: Load full SKILL.md instructions by registry skill_id
1331
1334
  * - create_agent: Create a new agent after explicit user approval
1335
+ * - human_intervention_request: Ask a human question with options and optional confirmation
1332
1336
  * - read_file: Read file contents with pagination controls
1333
1337
  * - list_files: List directory entries
1334
1338
  * - grep: Recursive text search across files
@@ -1339,6 +1343,7 @@ function getBuiltInTools() {
1339
1343
  const shellCmdTool = createShellCmdToolDefinition();
1340
1344
  const loadSkillTool = createLoadSkillToolDefinition();
1341
1345
  const createAgentTool = createCreateAgentToolDefinition();
1346
+ const hitlTool = createHitlToolDefinition();
1342
1347
  const readFileTool = createReadFileToolDefinition();
1343
1348
  const listFilesTool = createListFilesToolDefinition();
1344
1349
  const grepTool = createGrepToolDefinition();
@@ -1346,6 +1351,7 @@ function getBuiltInTools() {
1346
1351
  'shell_cmd': wrapToolWithValidation(shellCmdTool, 'shell_cmd'),
1347
1352
  'load_skill': wrapToolWithValidation(loadSkillTool, 'load_skill'),
1348
1353
  'create_agent': wrapToolWithValidation(createAgentTool, 'create_agent'),
1354
+ 'human_intervention_request': wrapToolWithValidation(hitlTool, 'human_intervention_request'),
1349
1355
  'read_file': wrapToolWithValidation(readFileTool, 'read_file'),
1350
1356
  'list_files': wrapToolWithValidation(listFilesTool, 'list_files'),
1351
1357
  'grep': wrapToolWithValidation(grepTool, 'grep'),
@@ -1358,7 +1364,7 @@ function getBuiltInTools() {
1358
1364
  /**
1359
1365
  * Get MCP tools available for a world with registry-level caching
1360
1366
  * Uses cache-first strategy to avoid repeated tool fetching during ephemeral connections
1361
- * Includes built-in tools (`shell_cmd`, `load_skill`) in addition to MCP server tools
1367
+ * Includes built-in tools (`shell_cmd`, `load_skill`, `create_agent`) in addition to MCP server tools
1362
1368
  */
1363
1369
  export async function getMCPToolsForWorld(worldId) {
1364
1370
  const startTime = performance.now();