eacn3 0.1.5 → 0.3.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/dist/index.d.ts +2 -2
- package/dist/index.js +162 -106
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +117 -76
- package/dist/server.js.map +1 -1
- package/dist/src/models.d.ts +212 -3
- package/dist/src/models.js +4 -4
- package/dist/src/models.js.map +1 -1
- package/dist/src/network-client.d.ts +18 -2
- package/dist/src/network-client.js +74 -2
- package/dist/src/network-client.js.map +1 -1
- package/dist/src/state.d.ts +1 -1
- package/dist/src/state.js +4 -4
- package/dist/src/state.js.map +1 -1
- package/dist/src/ws-manager.d.ts +1 -1
- package/dist/src/ws-manager.js +1 -1
- package/openclaw.plugin.json +4 -4
- package/package.json +3 -5
- package/scripts/cli.cjs +96 -10
- package/skills/{eacn-adjudicate → eacn3-adjudicate}/SKILL.md +11 -11
- package/skills/{eacn-bid → eacn3-bid}/SKILL.md +13 -13
- package/skills/{eacn-bounty → eacn3-bounty}/SKILL.md +19 -19
- package/skills/{eacn-browse → eacn3-browse}/SKILL.md +14 -14
- package/skills/{eacn-budget → eacn3-budget}/SKILL.md +13 -13
- package/skills/{eacn-clarify → eacn3-clarify}/SKILL.md +7 -7
- package/skills/{eacn-collect → eacn3-collect}/SKILL.md +5 -5
- package/skills/{eacn-dashboard → eacn3-dashboard}/SKILL.md +21 -21
- package/skills/{eacn-delegate → eacn3-delegate}/SKILL.md +20 -20
- package/skills/{eacn-execute → eacn3-execute}/SKILL.md +16 -16
- package/skills/eacn3-join/SKILL.md +54 -0
- package/skills/{eacn-leave → eacn3-leave}/SKILL.md +8 -8
- package/skills/{eacn-register → eacn3-register}/SKILL.md +21 -21
- package/skills/{eacn-task → eacn3-task}/SKILL.md +19 -19
- package/skills/eacn-join/SKILL.md +0 -54
package/dist/server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* EACN3 MCP Server — exposes 34 tools via stdio transport.
|
|
3
3
|
*
|
|
4
4
|
* All intelligence lives in Skills (host LLM). This server is just
|
|
5
5
|
* state management + network API wrapper. No adapter, no registry —
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
9
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import {
|
|
11
|
+
import { EACN3_DEFAULT_NETWORK_ENDPOINT } from "./src/models.js";
|
|
12
12
|
import * as state from "./src/state.js";
|
|
13
13
|
import * as net from "./src/network-client.js";
|
|
14
14
|
import * as ws from "./src/ws-manager.js";
|
|
@@ -33,7 +33,7 @@ function resolveAgentId(provided) {
|
|
|
33
33
|
if (agents.length === 1)
|
|
34
34
|
return agents[0].agent_id;
|
|
35
35
|
if (agents.length === 0)
|
|
36
|
-
throw new Error("No agents registered. Call
|
|
36
|
+
throw new Error("No agents registered. Call eacn3_register_agent first.");
|
|
37
37
|
throw new Error(`Multiple agents registered (${agents.map(a => a.agent_id).join(", ")}). Specify agent_id explicitly.`);
|
|
38
38
|
}
|
|
39
39
|
// ---------------------------------------------------------------------------
|
|
@@ -59,22 +59,62 @@ function stopHeartbeat() {
|
|
|
59
59
|
// ---------------------------------------------------------------------------
|
|
60
60
|
// MCP Server
|
|
61
61
|
// ---------------------------------------------------------------------------
|
|
62
|
-
const server = new McpServer({ name: "eacn3", version: "0.
|
|
62
|
+
const server = new McpServer({ name: "eacn3", version: "0.3.0" });
|
|
63
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
64
|
+
// Health / Cluster (2)
|
|
65
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
66
|
+
// #0a eacn3_health
|
|
67
|
+
server.tool("eacn3_health", "Check if a network node is alive and responding. No prerequisites — works before eacn3_connect. Returns {status: 'ok'} on success. Use this to verify an endpoint before connecting.", {
|
|
68
|
+
endpoint: z.string().optional().describe("Node URL to probe. Defaults to configured network endpoint."),
|
|
69
|
+
}, async (params) => {
|
|
70
|
+
const target = params.endpoint ?? state.getState().network_endpoint;
|
|
71
|
+
try {
|
|
72
|
+
const health = await net.checkHealth(target);
|
|
73
|
+
return ok({ endpoint: target, ...health });
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
return err(`Health check failed for ${target}: ${e.message}`);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
// #0b eacn3_cluster_status
|
|
80
|
+
server.tool("eacn3_cluster_status", "Retrieve the full cluster topology including all member nodes, their online/offline status, and seed URLs. No prerequisites — works before eacn3_connect. Returns array of node objects with status and endpoint fields. Useful for diagnostics and finding alternative endpoints if primary is down.", {
|
|
81
|
+
endpoint: z.string().optional().describe("Node URL to query. Defaults to configured network endpoint."),
|
|
82
|
+
}, async (params) => {
|
|
83
|
+
const target = params.endpoint ?? state.getState().network_endpoint;
|
|
84
|
+
try {
|
|
85
|
+
const cluster = await net.getClusterStatus(target);
|
|
86
|
+
return ok(cluster);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
return err(`Cluster status failed for ${target}: ${e.message}`);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
63
92
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
64
93
|
// Server Management (4)
|
|
65
94
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
66
|
-
// #1
|
|
67
|
-
server.tool("
|
|
68
|
-
network_endpoint: z.string().optional().describe(`Network URL. Defaults to ${
|
|
95
|
+
// #1 eacn3_connect
|
|
96
|
+
server.tool("eacn3_connect", "Connect to the EACN3 network — this must be your FIRST call. Health-probes the endpoint, falls back to seed nodes if unreachable, registers a server, and starts a background heartbeat every 60s. Returns {server_id, network_endpoint, fallback, agents_online}. Side effects: opens WebSocket connections for any previously registered agents. Call eacn3_register_agent next.", {
|
|
97
|
+
network_endpoint: z.string().optional().describe(`Network URL. Defaults to ${EACN3_DEFAULT_NETWORK_ENDPOINT}`),
|
|
98
|
+
seed_nodes: z.array(z.string()).optional().describe("Additional seed node URLs for fallback"),
|
|
69
99
|
}, async (params) => {
|
|
70
|
-
const
|
|
100
|
+
const preferred = params.network_endpoint ?? EACN3_DEFAULT_NETWORK_ENDPOINT;
|
|
71
101
|
const s = state.getState();
|
|
102
|
+
// Health probe + fallback
|
|
103
|
+
let endpoint;
|
|
104
|
+
let fallback = false;
|
|
105
|
+
try {
|
|
106
|
+
endpoint = await net.findHealthyEndpoint(preferred, params.seed_nodes);
|
|
107
|
+
fallback = endpoint !== preferred;
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
return err(`Cannot reach any network node: ${e.message}`);
|
|
111
|
+
}
|
|
72
112
|
s.network_endpoint = endpoint;
|
|
73
113
|
// Register as server
|
|
74
|
-
const res = await net.registerServer("0.
|
|
114
|
+
const res = await net.registerServer("0.3.0", "plugin://local", "plugin-user");
|
|
75
115
|
s.server_card = {
|
|
76
116
|
server_id: res.server_id,
|
|
77
|
-
version: "0.
|
|
117
|
+
version: "0.3.0",
|
|
78
118
|
endpoint: "plugin://local",
|
|
79
119
|
owner: "plugin-user",
|
|
80
120
|
status: "online",
|
|
@@ -90,11 +130,12 @@ server.tool("eacn_connect", "Connect to EACN network. Registers this plugin as a
|
|
|
90
130
|
connected: true,
|
|
91
131
|
server_id: res.server_id,
|
|
92
132
|
network_endpoint: endpoint,
|
|
133
|
+
fallback,
|
|
93
134
|
agents_online: Object.keys(s.agents).length,
|
|
94
135
|
});
|
|
95
136
|
});
|
|
96
|
-
// #2
|
|
97
|
-
server.tool("
|
|
137
|
+
// #2 eacn3_disconnect
|
|
138
|
+
server.tool("eacn3_disconnect", "Disconnect from the EACN3 network, unregister the server, and close all WebSocket connections. Requires: eacn3_connect first. Side effects: clears all local agent state; active tasks will timeout and hurt reputation. Returns {disconnected: true}. Only call at end of session.", {}, async () => {
|
|
98
139
|
stopHeartbeat();
|
|
99
140
|
ws.disconnectAll();
|
|
100
141
|
try {
|
|
@@ -107,13 +148,13 @@ server.tool("eacn_disconnect", "Disconnect from EACN network. Unregisters server
|
|
|
107
148
|
state.save();
|
|
108
149
|
return ok({ disconnected: true });
|
|
109
150
|
});
|
|
110
|
-
// #3
|
|
111
|
-
server.tool("
|
|
151
|
+
// #3 eacn3_heartbeat
|
|
152
|
+
server.tool("eacn3_heartbeat", "Manually send a heartbeat to the network to signal this server is still alive. Requires: eacn3_connect first. Usually unnecessary — a background interval auto-sends every 60s. Only use if you suspect the connection may have gone stale.", {}, async () => {
|
|
112
153
|
const res = await net.heartbeat();
|
|
113
154
|
return ok(res);
|
|
114
155
|
});
|
|
115
|
-
// #4
|
|
116
|
-
server.tool("
|
|
156
|
+
// #4 eacn3_server_info
|
|
157
|
+
server.tool("eacn3_server_info", "Get current server connection state, including server_card, network_endpoint, registered agent IDs, task count, and remote status. Requires: eacn3_connect first. Returns {server_card, network_endpoint, agents_count, agents[], tasks_count, remote_status}. No side effects — read-only diagnostic.", {}, async () => {
|
|
117
158
|
const s = state.getState();
|
|
118
159
|
if (!s.server_card)
|
|
119
160
|
return err("Not connected");
|
|
@@ -136,9 +177,9 @@ server.tool("eacn_server_info", "Get current server status: connection state, re
|
|
|
136
177
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
137
178
|
// Agent Management (7)
|
|
138
179
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
139
|
-
// #5
|
|
180
|
+
// #5 eacn3_register_agent
|
|
140
181
|
// Inlines: adapter (AgentCard assembly) + registry (validate + persist + DHT)
|
|
141
|
-
server.tool("
|
|
182
|
+
server.tool("eacn3_register_agent", "Create and register an agent identity on the EACN3 network. Requires: eacn3_connect first. Assembles an AgentCard, registers it with the network, persists it locally, and opens a WebSocket for real-time event push (task_broadcast, subtask_completed, etc.). Returns {agent_id, seeds, domains}. Domains control which task broadcasts you receive — be specific (e.g. 'python-coding' not 'coding').", {
|
|
142
183
|
name: z.string().describe("Agent display name"),
|
|
143
184
|
description: z.string().describe("What this Agent does"),
|
|
144
185
|
domains: z.array(z.string()).describe("Capability domains (e.g. ['translation', 'coding'])"),
|
|
@@ -158,7 +199,7 @@ server.tool("eacn_register_agent", "Register an Agent on the network. Assembles
|
|
|
158
199
|
}, async (params) => {
|
|
159
200
|
const s = state.getState();
|
|
160
201
|
if (!s.server_card)
|
|
161
|
-
return err("Not connected. Call
|
|
202
|
+
return err("Not connected. Call eacn3_connect first.");
|
|
162
203
|
// Validate
|
|
163
204
|
if (!params.name.trim())
|
|
164
205
|
return err("name cannot be empty");
|
|
@@ -192,8 +233,8 @@ server.tool("eacn_register_agent", "Register an Agent on the network. Assembles
|
|
|
192
233
|
domains: params.domains,
|
|
193
234
|
});
|
|
194
235
|
});
|
|
195
|
-
// #6
|
|
196
|
-
server.tool("
|
|
236
|
+
// #6 eacn3_get_agent
|
|
237
|
+
server.tool("eacn3_get_agent", "Fetch the full AgentCard for any agent by ID — checks local state first, then queries the network. Returns {agent_id, name, agent_type, domains, skills, capabilities, url, server_id, description}. No side effects. Use to inspect an agent before sending messages or evaluating bids.", {
|
|
197
238
|
agent_id: z.string(),
|
|
198
239
|
}, async (params) => {
|
|
199
240
|
// Check local first
|
|
@@ -204,8 +245,8 @@ server.tool("eacn_get_agent", "Get any Agent's details (AgentCard) by ID.", {
|
|
|
204
245
|
const remote = await net.getAgentInfo(params.agent_id);
|
|
205
246
|
return ok(remote);
|
|
206
247
|
});
|
|
207
|
-
// #7
|
|
208
|
-
server.tool("
|
|
248
|
+
// #7 eacn3_update_agent
|
|
249
|
+
server.tool("eacn3_update_agent", "Update a registered agent's mutable fields: name, domains, skills, and/or description. Requires: the agent must be registered (eacn3_register_agent). Updates both network and local state. Changing domains affects which task broadcasts you receive going forward.", {
|
|
209
250
|
agent_id: z.string(),
|
|
210
251
|
name: z.string().optional(),
|
|
211
252
|
domains: z.array(z.string()).optional(),
|
|
@@ -235,8 +276,8 @@ server.tool("eacn_update_agent", "Update an Agent's info (name, domains, skills,
|
|
|
235
276
|
}
|
|
236
277
|
return ok({ updated: true, agent_id, ...res });
|
|
237
278
|
});
|
|
238
|
-
// #8
|
|
239
|
-
server.tool("
|
|
279
|
+
// #8 eacn3_unregister_agent
|
|
280
|
+
server.tool("eacn3_unregister_agent", "Remove an agent from the network and close its WebSocket connection. Side effects: deletes agent from local state, stops receiving events for this agent. Active tasks assigned to this agent will timeout and hurt reputation. Returns {unregistered: true, agent_id}.", {
|
|
240
281
|
agent_id: z.string(),
|
|
241
282
|
}, async (params) => {
|
|
242
283
|
const res = await net.unregisterAgent(params.agent_id);
|
|
@@ -244,8 +285,8 @@ server.tool("eacn_unregister_agent", "Unregister an Agent from the network.", {
|
|
|
244
285
|
state.removeAgent(params.agent_id);
|
|
245
286
|
return ok({ unregistered: true, agent_id: params.agent_id, ...res });
|
|
246
287
|
});
|
|
247
|
-
// #9
|
|
248
|
-
server.tool("
|
|
288
|
+
// #9 eacn3_list_my_agents
|
|
289
|
+
server.tool("eacn3_list_my_agents", "List all agents registered on this local server instance. Returns {count, agents[]} where each agent includes agent_id, name, agent_type, domains, and ws_connected (WebSocket status). No network call — reads local state only. Use to check which agents are active and receiving events.", {}, async () => {
|
|
249
290
|
const agents = state.listAgents();
|
|
250
291
|
return ok({
|
|
251
292
|
count: agents.length,
|
|
@@ -258,16 +299,16 @@ server.tool("eacn_list_my_agents", "List all Agents registered under this server
|
|
|
258
299
|
})),
|
|
259
300
|
});
|
|
260
301
|
});
|
|
261
|
-
// #10
|
|
262
|
-
server.tool("
|
|
302
|
+
// #10 eacn3_discover_agents
|
|
303
|
+
server.tool("eacn3_discover_agents", "Search for agents matching a specific domain using the network's discovery protocol (Gossip, then DHT, then Bootstrap fallback). Requires: eacn3_connect first. Returns a list of matching AgentCards. Use before creating a task to verify executors exist for your domains.", {
|
|
263
304
|
domain: z.string(),
|
|
264
305
|
requester_id: z.string().optional(),
|
|
265
306
|
}, async (params) => {
|
|
266
307
|
const res = await net.discoverAgents(params.domain, params.requester_id);
|
|
267
308
|
return ok(res);
|
|
268
309
|
});
|
|
269
|
-
// #11
|
|
270
|
-
server.tool("
|
|
310
|
+
// #11 eacn3_list_agents
|
|
311
|
+
server.tool("eacn3_list_agents", "Browse and paginate all agents registered on the network with optional filters by domain or server_id. Returns {count, agents[]}. Default page size is 20. Unlike eacn3_discover_agents, this is a direct registry query without Gossip/DHT discovery — faster but only returns agents already indexed.", {
|
|
271
312
|
domain: z.string().optional(),
|
|
272
313
|
server_id: z.string().optional(),
|
|
273
314
|
limit: z.number().optional(),
|
|
@@ -279,15 +320,15 @@ server.tool("eacn_list_agents", "List Agents from the network. Filter by domain
|
|
|
279
320
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
280
321
|
// Task Query (4)
|
|
281
322
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
282
|
-
// #12
|
|
283
|
-
server.tool("
|
|
323
|
+
// #12 eacn3_get_task
|
|
324
|
+
server.tool("eacn3_get_task", "Fetch complete task details from the network including description, content, bids[], results[], status, budget, deadline, and domains. No side effects — read-only. Use to inspect a task before bidding or to review submitted results. Works for any task ID regardless of your role.", {
|
|
284
325
|
task_id: z.string(),
|
|
285
326
|
}, async (params) => {
|
|
286
327
|
const task = await net.getTask(params.task_id);
|
|
287
328
|
return ok(task);
|
|
288
329
|
});
|
|
289
|
-
// #13
|
|
290
|
-
server.tool("
|
|
330
|
+
// #13 eacn3_get_task_status
|
|
331
|
+
server.tool("eacn3_get_task_status", "Lightweight task query returning only status and bid list — no result content. Intended for initiators monitoring their tasks. Requires: agent_id must be the task initiator (auto-injected if only one agent registered). Returns {status, bids[]}. Cheaper than eacn3_get_task when you only need status.", {
|
|
291
332
|
task_id: z.string(),
|
|
292
333
|
agent_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
293
334
|
}, async (params) => {
|
|
@@ -295,8 +336,8 @@ server.tool("eacn_get_task_status", "Query task status and bid list (initiator o
|
|
|
295
336
|
const status = await net.getTaskStatus(params.task_id, agentId);
|
|
296
337
|
return ok(status);
|
|
297
338
|
});
|
|
298
|
-
// #14
|
|
299
|
-
server.tool("
|
|
339
|
+
// #14 eacn3_list_open_tasks
|
|
340
|
+
server.tool("eacn3_list_open_tasks", "Browse tasks currently accepting bids (status: unclaimed or bidding). Returns {count, tasks[]} with pagination. Filter by comma-separated domains to find relevant work. Use this in your main loop to discover tasks to bid on after checking events.", {
|
|
300
341
|
domains: z.string().optional().describe("Comma-separated domain filter"),
|
|
301
342
|
limit: z.number().optional(),
|
|
302
343
|
offset: z.number().optional(),
|
|
@@ -304,8 +345,8 @@ server.tool("eacn_list_open_tasks", "List tasks open for bidding. Optionally fil
|
|
|
304
345
|
const tasks = await net.getOpenTasks(params);
|
|
305
346
|
return ok({ count: tasks.length, tasks });
|
|
306
347
|
});
|
|
307
|
-
// #15
|
|
308
|
-
server.tool("
|
|
348
|
+
// #15 eacn3_list_tasks
|
|
349
|
+
server.tool("eacn3_list_tasks", "Browse all tasks on the network with optional filters by status (unclaimed, bidding, awaiting_retrieval, completed, no_one) and/or initiator_id. Returns {count, tasks[]} with pagination. Unlike eacn3_list_open_tasks, this includes tasks in all states.", {
|
|
309
350
|
status: z.string().optional(),
|
|
310
351
|
initiator_id: z.string().optional(),
|
|
311
352
|
limit: z.number().optional(),
|
|
@@ -317,9 +358,9 @@ server.tool("eacn_list_tasks", "List tasks with optional filters (status, initia
|
|
|
317
358
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
318
359
|
// Task Operations — Initiator (7)
|
|
319
360
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
320
|
-
// #16
|
|
361
|
+
// #16 eacn3_create_task
|
|
321
362
|
// Inlines matcher: check local agents before hitting network
|
|
322
|
-
server.tool("
|
|
363
|
+
server.tool("eacn3_create_task", "Publish a new task to the EACN3 network for other agents to bid on. Side effects: freezes 'budget' credits from your available balance into escrow; broadcasts task to agents with matching domains. Returns {task_id, status, budget, local_matches[]}. Requires: sufficient balance (use eacn3_deposit first if needed). Task starts in 'unclaimed' status, transitions to 'bidding' when first bid arrives.", {
|
|
323
364
|
description: z.string(),
|
|
324
365
|
budget: z.number(),
|
|
325
366
|
domains: z.array(z.string()).optional(),
|
|
@@ -375,8 +416,8 @@ server.tool("eacn_create_task", "Create a new task. Checks local agents first, t
|
|
|
375
416
|
local_matches: matchedLocal.map((a) => a.agent_id),
|
|
376
417
|
});
|
|
377
418
|
});
|
|
378
|
-
// #17
|
|
379
|
-
server.tool("
|
|
419
|
+
// #17 eacn3_get_task_results
|
|
420
|
+
server.tool("eacn3_get_task_results", "Retrieve submitted results and adjudications for a task you initiated. IMPORTANT side effect: the first call transitions the task from 'awaiting_retrieval' to 'completed' permanently. Returns {results[], adjudications[]}. After reviewing results, call eacn3_select_result to pick a winner and trigger payment.", {
|
|
380
421
|
task_id: z.string(),
|
|
381
422
|
initiator_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
382
423
|
}, async (params) => {
|
|
@@ -384,8 +425,8 @@ server.tool("eacn_get_task_results", "Retrieve task results and adjudications. F
|
|
|
384
425
|
const res = await net.getTaskResults(params.task_id, initiatorId);
|
|
385
426
|
return ok(res);
|
|
386
427
|
});
|
|
387
|
-
// #18
|
|
388
|
-
server.tool("
|
|
428
|
+
// #18 eacn3_select_result
|
|
429
|
+
server.tool("eacn3_select_result", "Pick the winning result for a task, triggering credit transfer from escrow to the selected executor agent. Requires: call eacn3_get_task_results first to review results. Side effects: transfers escrowed credits to the winning agent's balance, finalizes the task. The agent_id param is the executor whose result you select, not your own ID.", {
|
|
389
430
|
task_id: z.string(),
|
|
390
431
|
agent_id: z.string().describe("ID of the agent whose result to select"),
|
|
391
432
|
initiator_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
@@ -394,8 +435,8 @@ server.tool("eacn_select_result", "Select the winning result. Triggers economic
|
|
|
394
435
|
const res = await net.selectResult(params.task_id, initiatorId, params.agent_id);
|
|
395
436
|
return ok(res);
|
|
396
437
|
});
|
|
397
|
-
// #19
|
|
398
|
-
server.tool("
|
|
438
|
+
// #19 eacn3_close_task
|
|
439
|
+
server.tool("eacn3_close_task", "Stop accepting bids and results for a task you initiated, moving it to closed status. Requires: you must be the task initiator. Side effects: no new bids or results will be accepted; escrowed credits are returned if no result was selected. Returns confirmation with updated task status.", {
|
|
399
440
|
task_id: z.string(),
|
|
400
441
|
initiator_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
401
442
|
}, async (params) => {
|
|
@@ -403,8 +444,8 @@ server.tool("eacn_close_task", "Manually close a task (stop accepting bids/resul
|
|
|
403
444
|
const res = await net.closeTask(params.task_id, initiatorId);
|
|
404
445
|
return ok(res);
|
|
405
446
|
});
|
|
406
|
-
// #20
|
|
407
|
-
server.tool("
|
|
447
|
+
// #20 eacn3_update_deadline
|
|
448
|
+
server.tool("eacn3_update_deadline", "Extend or shorten a task's deadline. Requires: you must be the task initiator; new_deadline must be an ISO 8601 timestamp in the future. Returns confirmation with updated deadline. Use to give executors more time or to accelerate a slow task.", {
|
|
408
449
|
task_id: z.string(),
|
|
409
450
|
new_deadline: z.string().describe("New ISO 8601 deadline"),
|
|
410
451
|
initiator_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
@@ -413,8 +454,8 @@ server.tool("eacn_update_deadline", "Update task deadline.", {
|
|
|
413
454
|
const res = await net.updateDeadline(params.task_id, initiatorId, params.new_deadline);
|
|
414
455
|
return ok(res);
|
|
415
456
|
});
|
|
416
|
-
// #21
|
|
417
|
-
server.tool("
|
|
457
|
+
// #21 eacn3_update_discussions
|
|
458
|
+
server.tool("eacn3_update_discussions", "Post a clarification or discussion message on a task visible to all bidders. Requires: you must be the task initiator. Side effects: triggers a 'discussions_updated' WebSocket event to all bidding agents. Returns confirmation. Use to provide additional context or answer bidder questions.", {
|
|
418
459
|
task_id: z.string(),
|
|
419
460
|
message: z.string(),
|
|
420
461
|
initiator_id: z.string().optional().describe("Initiator agent ID (auto-injected if omitted)"),
|
|
@@ -423,8 +464,8 @@ server.tool("eacn_update_discussions", "Add a discussion message to a task. Sync
|
|
|
423
464
|
const res = await net.updateDiscussions(params.task_id, initiatorId, params.message);
|
|
424
465
|
return ok(res);
|
|
425
466
|
});
|
|
426
|
-
// #22
|
|
427
|
-
server.tool("
|
|
467
|
+
// #22 eacn3_confirm_budget
|
|
468
|
+
server.tool("eacn3_confirm_budget", "Approve or reject a bid that exceeded your task's budget, triggered by a 'budget_confirmation' event. Set approved=true to accept (optionally raising the budget with new_budget); approved=false to reject the bid. Side effects: if approved, additional credits are frozen from your balance; the bid transitions from 'pending_confirmation' to 'accepted'. Returns updated task status.", {
|
|
428
469
|
task_id: z.string(),
|
|
429
470
|
approved: z.boolean(),
|
|
430
471
|
new_budget: z.number().optional(),
|
|
@@ -437,8 +478,8 @@ server.tool("eacn_confirm_budget", "Respond to a budget confirmation request (wh
|
|
|
437
478
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
438
479
|
// Task Operations — Executor (5)
|
|
439
480
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
440
|
-
// #23
|
|
441
|
-
server.tool("
|
|
481
|
+
// #23 eacn3_submit_bid
|
|
482
|
+
server.tool("eacn3_submit_bid", "Bid on an open task by specifying your confidence (0.0-1.0 honest ability estimate) and price in credits. Server evaluates: confidence * reputation must meet threshold or bid is rejected. Returns {status} which is one of: 'executing' (start work now), 'waiting_execution' (queued, slots full), 'rejected' (threshold not met), or 'pending_confirmation' (price > budget, awaiting initiator approval). Side effects: if accepted, tracks task locally as executor role. If price > budget, initiator gets a 'budget_confirmation' event.", {
|
|
442
483
|
task_id: z.string(),
|
|
443
484
|
confidence: z.number().min(0).max(1).describe("0.0-1.0 confidence in ability to complete"),
|
|
444
485
|
price: z.number().describe("Bid price"),
|
|
@@ -459,9 +500,9 @@ server.tool("eacn_submit_bid", "Submit a bid on a task (confidence + price).", {
|
|
|
459
500
|
}
|
|
460
501
|
return ok(res);
|
|
461
502
|
});
|
|
462
|
-
// #24
|
|
503
|
+
// #24 eacn3_submit_result
|
|
463
504
|
// Inlines logger: auto-report reputation event
|
|
464
|
-
server.tool("
|
|
505
|
+
server.tool("eacn3_submit_result", "Submit your completed work for a task you are executing. Content should be a JSON object matching the task's expected_output format if specified. Side effects: automatically reports a 'task_completed' reputation event (increases your score); transitions task to 'awaiting_retrieval' so the initiator can review. Returns confirmation with submission status.", {
|
|
465
506
|
task_id: z.string(),
|
|
466
507
|
content: z.record(z.string(), z.unknown()).describe("Result content object"),
|
|
467
508
|
agent_id: z.string().optional().describe("Executor agent ID (auto-injected if omitted)"),
|
|
@@ -475,9 +516,9 @@ server.tool("eacn_submit_result", "Submit execution result for a task.", {
|
|
|
475
516
|
catch { /* non-critical */ }
|
|
476
517
|
return ok(res);
|
|
477
518
|
});
|
|
478
|
-
// #25
|
|
519
|
+
// #25 eacn3_reject_task
|
|
479
520
|
// Inlines logger: auto-report reputation event
|
|
480
|
-
server.tool("
|
|
521
|
+
server.tool("eacn3_reject_task", "Abandon a task you accepted, freeing your execution slot for another agent. WARNING: automatically reports a 'task_rejected' reputation event which decreases your score. Only use when you genuinely cannot complete the task. Returns confirmation. Provide a reason string to explain why.", {
|
|
481
522
|
task_id: z.string(),
|
|
482
523
|
reason: z.string().optional(),
|
|
483
524
|
agent_id: z.string().optional().describe("Executor agent ID (auto-injected if omitted)"),
|
|
@@ -491,8 +532,8 @@ server.tool("eacn_reject_task", "Reject/return a task. Frees the execution slot.
|
|
|
491
532
|
catch { /* non-critical */ }
|
|
492
533
|
return ok(res);
|
|
493
534
|
});
|
|
494
|
-
// #26
|
|
495
|
-
server.tool("
|
|
535
|
+
// #26 eacn3_create_subtask
|
|
536
|
+
server.tool("eacn3_create_subtask", "Delegate part of your work by creating a child task under a parent task you are executing. Budget is carved from the parent task's escrow (not your balance). Returns {subtask_id, parent_task_id, status, depth}. Depth auto-increments (max 3 levels). Side effects: broadcasts subtask to agents with matching domains; when the subtask completes, you receive a 'subtask_completed' event with auto-fetched results in the payload.", {
|
|
496
537
|
parent_task_id: z.string(),
|
|
497
538
|
description: z.string(),
|
|
498
539
|
domains: z.array(z.string()),
|
|
@@ -509,9 +550,9 @@ server.tool("eacn_create_subtask", "Create a subtask under a parent task. Budget
|
|
|
509
550
|
depth: task.depth,
|
|
510
551
|
});
|
|
511
552
|
});
|
|
512
|
-
// #27
|
|
553
|
+
// #27 eacn3_send_message
|
|
513
554
|
// A2A direct — agent.md:358-362: 点对点,不经过 Network
|
|
514
|
-
server.tool("
|
|
555
|
+
server.tool("eacn3_send_message", "Send a direct agent-to-agent message bypassing the task system. Local agents receive it instantly in their event buffer; remote agents receive it via HTTP POST to their /events endpoint. Returns {sent, to, from, local}. The recipient sees a 'direct_message' event with payload.from and payload.content. Will fail if the remote agent has no reachable URL or is offline.", {
|
|
515
556
|
agent_id: z.string().describe("Target agent ID"),
|
|
516
557
|
content: z.string(),
|
|
517
558
|
sender_id: z.string().optional().describe("Your agent ID (auto-injected if omitted)"),
|
|
@@ -565,8 +606,8 @@ server.tool("eacn_send_message", "Send a direct message to another Agent (A2A po
|
|
|
565
606
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
566
607
|
// Reputation (2)
|
|
567
608
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
568
|
-
// #28
|
|
569
|
-
server.tool("
|
|
609
|
+
// #28 eacn3_report_event
|
|
610
|
+
server.tool("eacn3_report_event", "Manually report a reputation event for an agent. Valid event_type values: 'task_completed' (score up), 'task_rejected' (score down), 'task_timeout' (score down), 'bid_declined' (score down). Usually auto-called by eacn3_submit_result and eacn3_reject_task — only call manually for edge cases. Returns {agent_id, score} with updated reputation. Side effects: updates local reputation cache.", {
|
|
570
611
|
agent_id: z.string(),
|
|
571
612
|
event_type: z.string().describe("task_completed | task_rejected | task_timeout | bid_declined"),
|
|
572
613
|
}, async (params) => {
|
|
@@ -574,8 +615,8 @@ server.tool("eacn_report_event", "Report a reputation event. Usually called auto
|
|
|
574
615
|
state.updateReputationCache(params.agent_id, res.score);
|
|
575
616
|
return ok(res);
|
|
576
617
|
});
|
|
577
|
-
// #29
|
|
578
|
-
server.tool("
|
|
618
|
+
// #29 eacn3_get_reputation
|
|
619
|
+
server.tool("eacn3_get_reputation", "Query an agent's global reputation score (0.0-1.0, starts at 0.5 for new agents). Returns {agent_id, score}. Score affects bid acceptance: confidence * reputation must meet the task's threshold. No side effects besides updating local reputation cache. Works for any agent ID, not just your own.", {
|
|
579
620
|
agent_id: z.string(),
|
|
580
621
|
}, async (params) => {
|
|
581
622
|
const res = await net.getReputation(params.agent_id);
|
|
@@ -585,15 +626,15 @@ server.tool("eacn_get_reputation", "Query an Agent's global reputation score.",
|
|
|
585
626
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
586
627
|
// Economy (2)
|
|
587
628
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
588
|
-
// #30
|
|
589
|
-
server.tool("
|
|
629
|
+
// #30 eacn3_get_balance
|
|
630
|
+
server.tool("eacn3_get_balance", "Check an agent's credit balance. Returns {agent_id, available, frozen} where 'available' is spendable credits and 'frozen' is credits locked in escrow for active tasks. No side effects. Check before creating tasks to ensure sufficient funds; use eacn3_deposit to add credits if needed.", {
|
|
590
631
|
agent_id: z.string().describe("Agent ID to check balance for"),
|
|
591
632
|
}, async (params) => {
|
|
592
633
|
const res = await net.getBalance(params.agent_id);
|
|
593
634
|
return ok(res);
|
|
594
635
|
});
|
|
595
|
-
// #31
|
|
596
|
-
server.tool("
|
|
636
|
+
// #31 eacn3_deposit
|
|
637
|
+
server.tool("eacn3_deposit", "Add EACN credits to an agent's available balance. Amount must be > 0. Returns updated balance {agent_id, available, frozen}. Deposit before creating tasks if your balance is insufficient to cover the task budget.", {
|
|
597
638
|
agent_id: z.string().describe("Agent ID to deposit funds for"),
|
|
598
639
|
amount: z.number().positive().describe("Amount to deposit (must be > 0)"),
|
|
599
640
|
}, async (params) => {
|
|
@@ -603,8 +644,8 @@ server.tool("eacn_deposit", "Deposit funds into an Agent's account. Increases av
|
|
|
603
644
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
604
645
|
// Events (1)
|
|
605
646
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
606
|
-
// #32
|
|
607
|
-
server.tool("
|
|
647
|
+
// #32 eacn3_get_events
|
|
648
|
+
server.tool("eacn3_get_events", "Drain the in-memory event buffer, returning all pending events and clearing them. Returns {count, events[]} where event types include: task_broadcast, discussions_updated, subtask_completed, awaiting_retrieval, budget_confirmation, timeout, direct_message. Call periodically in your main loop. Events arrive via WebSocket and accumulate until drained — missing events means missed tasks and messages.", {}, async () => {
|
|
608
649
|
const events = state.drainEvents();
|
|
609
650
|
return ok({
|
|
610
651
|
count: events.length,
|
|
@@ -650,7 +691,7 @@ function registerEventCallbacks() {
|
|
|
650
691
|
break;
|
|
651
692
|
case "budget_confirmation":
|
|
652
693
|
// Bid exceeded budget — mark in local state for initiator to handle
|
|
653
|
-
// The event stays in the buffer for /
|
|
694
|
+
// The event stays in the buffer for /eacn3-bounty to surface
|
|
654
695
|
break;
|
|
655
696
|
case "task_broadcast":
|
|
656
697
|
// New task available — auto-evaluate bid if agent has matching domains
|
|
@@ -680,7 +721,7 @@ async function autoBidEvaluate(agentId, event) {
|
|
|
680
721
|
return;
|
|
681
722
|
}
|
|
682
723
|
// Passed auto-filter — enrich the buffered event with a hint
|
|
683
|
-
// The skill layer (/
|
|
724
|
+
// The skill layer (/eacn3-bounty) will see this and can fast-track bidding
|
|
684
725
|
state.pushEvents([{
|
|
685
726
|
type: "task_broadcast",
|
|
686
727
|
task_id: taskId,
|
|
@@ -700,7 +741,7 @@ async function main() {
|
|
|
700
741
|
await server.connect(transport);
|
|
701
742
|
}
|
|
702
743
|
main().catch((e) => {
|
|
703
|
-
console.error("
|
|
744
|
+
console.error("EACN3 MCP server failed to start:", e);
|
|
704
745
|
process.exit(1);
|
|
705
746
|
});
|
|
706
747
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAsE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACrI,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE1C,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,SAAS,EAAE,CAAC,IAAa;IACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,QAAiB;IACvC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACnG,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAC1H,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,IAAI,iBAAiB,GAA0C,IAAI,CAAC;AAEpE,SAAS,cAAc;IACrB,IAAI,iBAAiB;QAAE,OAAO;IAC9B,iBAAiB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,IAAI,CAAC;YAAC,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAED,SAAS,aAAa;IACpB,IAAI,iBAAiB,EAAE,CAAC;QACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACjC,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAElE,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,mBAAmB;AACnB,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sLAAsL,EACtL;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;CACxG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,2BAA2B,MAAM,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC,CACF,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,uSAAuS,EACvS;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;CACxG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,6BAA6B,MAAM,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,mBAAmB;AACnB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,oXAAoX,EACpX;IACE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,8BAA8B,EAAE,CAAC;IAC9G,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,IAAI,8BAA8B,CAAC;IAC5E,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,QAAgB,CAAC;IACrB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACvE,QAAQ,GAAG,QAAQ,KAAK,SAAS,CAAC;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,kCAAmC,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,CAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAE9B,qBAAqB;IACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC/E,CAAC,CAAC,WAAW,GAAG;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,6BAA6B;IAC7B,cAAc,EAAE,CAAC;IAEjB,uCAAuC;IACvC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,gBAAgB,EAAE,QAAQ;QAC1B,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;KAC5C,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,qRAAqR,EACrR,EAAE,EACF,KAAK,IAAI,EAAE;IACT,aAAa,EAAE,CAAC;IAChB,EAAE,CAAC,aAAa,EAAE,CAAC;IAEnB,IAAI,CAAC;QAAC,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAEzE,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC,CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,6OAA6O,EAC7O,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,wSAAwS,EACxS,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IAEhD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,CAAC;QACR,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM;QAC1C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM;QAC9C,aAAa,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS;KAC3C,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,0BAA0B;AAC1B,8EAA8E;AAC9E,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,2YAA2Y,EAC3Y;IACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAC5F,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzD,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;QAC3G,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KACrF,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACxF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAE3E,WAAW;IACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACtE,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC;IAEpC,+CAA+C;IAC/C,MAAM,IAAI,GAAc;QACtB,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,GAAG,EAAE,yBAAyB,OAAO,EAAE;QACvC,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IAEF,mDAAmD;IACnD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE1C,kBAAkB;IAClB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErB,gCAAgC;IAChC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO,EAAE,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,2RAA2R,EAC3R;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,oBAAoB;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,KAAK;QAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAE5B,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC,CACF,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,uQAAuQ,EACvQ;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACvB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzD,CAAC,CAAC,CAAC,QAAQ,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAErD,qBAAqB;IACrB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAChE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/E,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;IACnC,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,yQAAyQ,EACzQ;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvD,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AACvE,CAAC,CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,8RAA8R,EAC9R,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IAClC,OAAO,EAAE,CAAC;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;SACzC,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,+QAA+Q,EAC/Q;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,ySAAyS,EACzS;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9C,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,qBAAqB;AACrB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,yRAAyR,EACzR;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,6SAA6S,EAC7S;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC1F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,wPAAwP,EACxP;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC,CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,6PAA6P,EAC7P;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,wBAAwB;AACxB,6DAA6D;AAC7D,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,gZAAgZ,EAChZ;IACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC7D,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAClF,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;QAChF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KACnE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACnE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACnG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CAC1G,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAE9C,wFAAwF;IACxF,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO;QACjC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,QAAQ,KAAK,WAAW;YAC1B,MAAM,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACnD;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QAChC,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE;YACP,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;QACD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IAEH,gBAAgB;IAChB,KAAK,CAAC,UAAU,CAAC;QACf,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACrD,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC;QACR,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;KACnD,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,uTAAuT,EACvT;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,qVAAqV,EACrV;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACvE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gSAAgS,EAChS;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oPAAoP,EACpP;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,kSAAkS,EAClS;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,8XAA8X,EAC9X;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CAC9F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,aAAa,CACjC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAChE,CAAC;IACF,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,uBAAuB;AACvB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,khBAAkhB,EAClhB;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC1F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CACvF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1F,yFAAyF;IACzF,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC5C,KAAK,CAAC,UAAU,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,EAAE;YACX,mBAAmB,EAAE,EAAE;YACvB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,0BAA0B;AAC1B,+CAA+C;AAC/C,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,sWAAsW,EACtW;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACzF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5E,wDAAwD;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,wBAAwB;AACxB,+CAA+C;AAC/C,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,+RAA+R,EAC/R;IACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CACzF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzE,+BAA+B;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAE9B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,0aAA0a,EAC1a;IACE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;CACzH,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAClC,MAAM,CAAC,cAAc,EACrB,WAAW,EACX,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EACnC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAChB,CAAC;IAEF,OAAO,EAAE,CAAC;QACR,UAAU,EAAE,IAAI,CAAC,EAAE;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,yBAAyB;AACzB,iDAAiD;AACjD,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,kXAAkX,EAClX;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;CACtF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,cAAc,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjC,MAAM,OAAO,GAAc;QACzB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;QACpD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;IAEF,4CAA4C;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,2EAA2E;IAC3E,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,SAAS,QAAQ,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG,CAAC,SAAS,QAAQ,0BAA0B,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,6CAA6C;IAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC,QAAQ,SAAS,YAAY,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,4BAA4B,SAAS,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,yBAAyB;AACzB,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,uYAAuY,EACvY;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;CAChG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACtE,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,wSAAwS,EACxS;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrD,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,wBAAwB;AACxB,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,+RAA+R,EAC/R;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC/D,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,IAAI,CACT,eAAe,EACf,sNAAsN,EACtN;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;CAC1E,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;IACf,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,uBAAuB;AACvB,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,kZAAkZ,EAClZ,EAAE,EACF,KAAK,IAAI,EAAE;IACT,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,EAAE,CAAC;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,SAAS,sBAAsB;IAC7B,EAAE,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAE7B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,oBAAoB;gBACvB,0EAA0E;gBAC1E,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;gBACrD,MAAM;YAER,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,yDAAyD;gBACzD,MAAM,SAAS,GAAI,KAAK,CAAC,OAAmC,EAAE,UAAgC,CAAC;gBAC/F,IAAI,SAAS,EAAE,CAAC;oBACd,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC;yBACnC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;wBACZ,qEAAqE;wBACrE,KAAK,CAAC,UAAU,CAAC,CAAC;gCAChB,IAAI,EAAE,mBAAmB;gCACzB,OAAO,EAAE,MAAM;gCACf,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;gCACxD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;6BACxB,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,SAAS;gBACZ,qEAAqE;gBACrE,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACzC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;gBAC7E,MAAM;YAER,KAAK,qBAAqB;gBACxB,oEAAoE;gBACpE,6DAA6D;gBAC7D,MAAM;YAER,KAAK,gBAAgB;gBACnB,uEAAuE;gBACvE,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;gBACpE,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,KAAgB;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAkC,CAAC;IACzD,MAAM,WAAW,GAAI,OAAO,EAAE,OAAoB,IAAI,EAAE,CAAC;IAEzD,4CAA4C;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,mDAAmD;IACnD,IAAI,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAClF,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,oBAAoB;YAAE,OAAO;IAC5E,CAAC;IAED,6DAA6D;IAC7D,2EAA2E;IAC3E,KAAK,CAAC,UAAU,CAAC,CAAC;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE;YACjE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,KAAK,UAAU,IAAI;IACjB,wBAAwB;IACxB,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,8BAA8B;IAC9B,sBAAsB,EAAE,CAAC;IAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|