@cluesmith/codev 2.0.0-rc.24 → 2.0.0-rc.25
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/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +52 -52
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/consult.js +1 -1
- package/dist/agent-farm/commands/consult.js.map +1 -1
- package/dist/agent-farm/commands/index.d.ts +1 -2
- package/dist/agent-farm/commands/index.d.ts.map +1 -1
- package/dist/agent-farm/commands/index.js +1 -2
- package/dist/agent-farm/commands/index.js.map +1 -1
- package/dist/agent-farm/commands/{util.d.ts → shell.d.ts} +4 -4
- package/dist/agent-farm/commands/shell.d.ts.map +1 -0
- package/dist/agent-farm/commands/{util.js → shell.js} +4 -4
- package/dist/agent-farm/commands/shell.js.map +1 -0
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +361 -66
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/commands/start.js +5 -4
- package/dist/agent-farm/commands/start.js.map +1 -1
- package/dist/agent-farm/commands/tower.d.ts.map +1 -1
- package/dist/agent-farm/commands/tower.js +2 -1
- package/dist/agent-farm/commands/tower.js.map +1 -1
- package/dist/agent-farm/hq-connector.d.ts +2 -2
- package/dist/agent-farm/hq-connector.js +2 -2
- package/dist/agent-farm/servers/dashboard-server.js +153 -6
- package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +374 -0
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/types.d.ts +38 -0
- package/dist/agent-farm/types.d.ts.map +1 -1
- package/dist/agent-farm/utils/notifications.d.ts +30 -0
- package/dist/agent-farm/utils/notifications.d.ts.map +1 -0
- package/dist/agent-farm/utils/notifications.js +121 -0
- package/dist/agent-farm/utils/notifications.js.map +1 -0
- package/dist/agent-farm/utils/server-utils.d.ts +2 -1
- package/dist/agent-farm/utils/server-utils.d.ts.map +1 -1
- package/dist/agent-farm/utils/server-utils.js +11 -1
- package/dist/agent-farm/utils/server-utils.js.map +1 -1
- package/dist/agent-farm/utils/shell.d.ts +1 -0
- package/dist/agent-farm/utils/shell.d.ts.map +1 -1
- package/dist/agent-farm/utils/shell.js +2 -0
- package/dist/agent-farm/utils/shell.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +0 -37
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.js +3 -3
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/porch/run.d.ts.map +1 -1
- package/dist/commands/porch/run.js +5 -0
- package/dist/commands/porch/run.js.map +1 -1
- package/package.json +3 -1
- package/skeleton/protocol-schema.json +282 -0
- package/skeleton/protocols/bugfix/builder-prompt.md +49 -0
- package/skeleton/protocols/bugfix/protocol.json +13 -1
- package/skeleton/protocols/experiment/builder-prompt.md +47 -0
- package/skeleton/protocols/experiment/protocol.json +101 -0
- package/skeleton/protocols/maintain/builder-prompt.md +41 -0
- package/skeleton/protocols/maintain/protocol.json +114 -0
- package/skeleton/protocols/protocol-schema.json +53 -0
- package/skeleton/protocols/spider/builder-prompt.md +53 -0
- package/skeleton/protocols/spider/protocol.json +7 -1
- package/skeleton/protocols/tick/builder-prompt.md +51 -0
- package/skeleton/protocols/tick/protocol.json +6 -1
- package/skeleton/resources/commands/agent-farm.md +23 -41
- package/skeleton/resources/commands/overview.md +5 -5
- package/skeleton/resources/workflow-reference.md +2 -2
- package/skeleton/roles/architect.md +49 -33
- package/skeleton/roles/builder.md +77 -108
- package/skeleton/templates/cheatsheet.md +4 -2
- package/templates/tower.html +455 -14
- package/dist/agent-farm/commands/kickoff.d.ts +0 -20
- package/dist/agent-farm/commands/kickoff.d.ts.map +0 -1
- package/dist/agent-farm/commands/kickoff.js +0 -343
- package/dist/agent-farm/commands/kickoff.js.map +0 -1
- package/dist/agent-farm/commands/tutorial.d.ts +0 -10
- package/dist/agent-farm/commands/tutorial.d.ts.map +0 -1
- package/dist/agent-farm/commands/tutorial.js +0 -49
- package/dist/agent-farm/commands/tutorial.js.map +0 -1
- package/dist/agent-farm/commands/util.d.ts.map +0 -1
- package/dist/agent-farm/commands/util.js.map +0 -1
- package/dist/agent-farm/tutorial/index.d.ts +0 -8
- package/dist/agent-farm/tutorial/index.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/index.js +0 -8
- package/dist/agent-farm/tutorial/index.js.map +0 -1
- package/dist/agent-farm/tutorial/prompts.d.ts +0 -57
- package/dist/agent-farm/tutorial/prompts.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/prompts.js +0 -147
- package/dist/agent-farm/tutorial/prompts.js.map +0 -1
- package/dist/agent-farm/tutorial/runner.d.ts +0 -52
- package/dist/agent-farm/tutorial/runner.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/runner.js +0 -204
- package/dist/agent-farm/tutorial/runner.js.map +0 -1
- package/dist/agent-farm/tutorial/state.d.ts +0 -26
- package/dist/agent-farm/tutorial/state.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/state.js +0 -89
- package/dist/agent-farm/tutorial/state.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/first-spec.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/first-spec.js +0 -136
- package/dist/agent-farm/tutorial/steps/first-spec.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/implementation.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/implementation.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/implementation.js +0 -76
- package/dist/agent-farm/tutorial/steps/implementation.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/index.d.ts +0 -10
- package/dist/agent-farm/tutorial/steps/index.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/index.js +0 -10
- package/dist/agent-farm/tutorial/steps/index.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/planning.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/planning.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/planning.js +0 -143
- package/dist/agent-farm/tutorial/steps/planning.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/review.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/review.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/review.js +0 -78
- package/dist/agent-farm/tutorial/steps/review.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/setup.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/setup.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/setup.js +0 -126
- package/dist/agent-farm/tutorial/steps/setup.js.map +0 -1
- package/dist/agent-farm/tutorial/steps/welcome.d.ts +0 -7
- package/dist/agent-farm/tutorial/steps/welcome.d.ts.map +0 -1
- package/dist/agent-farm/tutorial/steps/welcome.js +0 -50
- package/dist/agent-farm/tutorial/steps/welcome.js.map +0 -1
- package/dist/commands/tower.d.ts +0 -16
- package/dist/commands/tower.d.ts.map +0 -1
- package/dist/commands/tower.js +0 -21
- package/dist/commands/tower.js.map +0 -1
|
@@ -15,6 +15,111 @@ import { logger, fatal } from '../utils/logger.js';
|
|
|
15
15
|
import { run, commandExists, findAvailablePort, spawnTtyd } from '../utils/shell.js';
|
|
16
16
|
import { loadState, upsertBuilder } from '../state.js';
|
|
17
17
|
import { loadRolePrompt } from '../utils/roles.js';
|
|
18
|
+
/**
|
|
19
|
+
* Simple Handlebars-like template renderer
|
|
20
|
+
* Supports: {{variable}}, {{#if condition}}...{{/if}}, {{object.property}}
|
|
21
|
+
*/
|
|
22
|
+
function renderTemplate(template, context) {
|
|
23
|
+
let result = template;
|
|
24
|
+
// Process {{#if condition}}...{{/if}} blocks
|
|
25
|
+
// eslint-disable-next-line no-constant-condition
|
|
26
|
+
while (true) {
|
|
27
|
+
const ifMatch = result.match(/\{\{#if\s+(\w+)\}\}([\s\S]*?)\{\{\/if\}\}/);
|
|
28
|
+
if (!ifMatch)
|
|
29
|
+
break;
|
|
30
|
+
const [fullMatch, condition, content] = ifMatch;
|
|
31
|
+
const value = getNestedValue(context, condition);
|
|
32
|
+
result = result.replace(fullMatch, value ? content : '');
|
|
33
|
+
}
|
|
34
|
+
// Process {{variable}} and {{object.property}} substitutions
|
|
35
|
+
result = result.replace(/\{\{(\w+(?:\.\w+)*)\}\}/g, (_, path) => {
|
|
36
|
+
const value = getNestedValue(context, path);
|
|
37
|
+
if (value === undefined || value === null)
|
|
38
|
+
return '';
|
|
39
|
+
return String(value);
|
|
40
|
+
});
|
|
41
|
+
// Clean up any double newlines left from removed sections
|
|
42
|
+
result = result.replace(/\n{3,}/g, '\n\n');
|
|
43
|
+
return result.trim();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get nested value from object using dot notation
|
|
47
|
+
*/
|
|
48
|
+
function getNestedValue(obj, path) {
|
|
49
|
+
const parts = path.split('.');
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
let current = obj;
|
|
52
|
+
for (const part of parts) {
|
|
53
|
+
if (current === null || current === undefined)
|
|
54
|
+
return undefined;
|
|
55
|
+
current = current[part];
|
|
56
|
+
}
|
|
57
|
+
return current;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Load builder-prompt.md template for a protocol
|
|
61
|
+
*/
|
|
62
|
+
function loadBuilderPromptTemplate(config, protocolName) {
|
|
63
|
+
const templatePath = resolve(config.codevDir, 'protocols', protocolName, 'builder-prompt.md');
|
|
64
|
+
if (existsSync(templatePath)) {
|
|
65
|
+
return readFileSync(templatePath, 'utf-8');
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build the prompt using protocol template or fallback to inline prompt
|
|
71
|
+
*/
|
|
72
|
+
function buildPromptFromTemplate(config, protocolName, context) {
|
|
73
|
+
const template = loadBuilderPromptTemplate(config, protocolName);
|
|
74
|
+
if (template) {
|
|
75
|
+
logger.info(`Using template: protocols/${protocolName}/builder-prompt.md`);
|
|
76
|
+
return renderTemplate(template, context);
|
|
77
|
+
}
|
|
78
|
+
// Fallback: no template found, return a basic prompt
|
|
79
|
+
logger.debug(`No template found for ${protocolName}, using inline prompt`);
|
|
80
|
+
return buildFallbackPrompt(protocolName, context);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Build a fallback prompt when no template exists
|
|
84
|
+
*/
|
|
85
|
+
function buildFallbackPrompt(protocolName, context) {
|
|
86
|
+
const modeInstructions = context.mode === 'strict'
|
|
87
|
+
? `## Mode: STRICT
|
|
88
|
+
Porch orchestrates your work. Run: \`porch run ${context.project_id || ''}\``
|
|
89
|
+
: `## Mode: SOFT
|
|
90
|
+
You follow the protocol yourself. The architect monitors your work and verifies compliance.`;
|
|
91
|
+
let prompt = `# ${protocolName.toUpperCase()} Builder (${context.mode} mode)
|
|
92
|
+
|
|
93
|
+
You are implementing ${context.input_description}.
|
|
94
|
+
|
|
95
|
+
${modeInstructions}
|
|
96
|
+
|
|
97
|
+
## Protocol
|
|
98
|
+
Follow the ${protocolName.toUpperCase()} protocol: \`codev/protocols/${protocolName}/protocol.md\`
|
|
99
|
+
Read and internalize the protocol before starting any work.
|
|
100
|
+
`;
|
|
101
|
+
if (context.spec) {
|
|
102
|
+
prompt += `\n## Spec\nRead the specification at: \`${context.spec.path}\`\n`;
|
|
103
|
+
}
|
|
104
|
+
if (context.plan) {
|
|
105
|
+
prompt += `\n## Plan\nFollow the implementation plan at: \`${context.plan.path}\`\n`;
|
|
106
|
+
}
|
|
107
|
+
if (context.issue) {
|
|
108
|
+
prompt += `\n## Issue #${context.issue.number}
|
|
109
|
+
**Title**: ${context.issue.title}
|
|
110
|
+
|
|
111
|
+
**Description**:
|
|
112
|
+
${context.issue.body || '(No description provided)'}
|
|
113
|
+
`;
|
|
114
|
+
}
|
|
115
|
+
if (context.task_text) {
|
|
116
|
+
prompt += `\n## Task\n${context.task_text}\n`;
|
|
117
|
+
}
|
|
118
|
+
return prompt;
|
|
119
|
+
}
|
|
120
|
+
// =============================================================================
|
|
121
|
+
// ID and Session Management
|
|
122
|
+
// =============================================================================
|
|
18
123
|
/**
|
|
19
124
|
* Generate a short 4-character base64-encoded ID
|
|
20
125
|
* Uses URL-safe base64 (a-z, A-Z, 0-9, -, _) for filesystem-safe IDs
|
|
@@ -43,22 +148,27 @@ function generateShortId() {
|
|
|
43
148
|
.substring(0, 4);
|
|
44
149
|
}
|
|
45
150
|
/**
|
|
46
|
-
* Validate spawn options - ensure exactly one mode is selected
|
|
151
|
+
* Validate spawn options - ensure exactly one input mode is selected
|
|
152
|
+
* Note: --protocol serves dual purpose:
|
|
153
|
+
* 1. As an input mode when used alone (e.g., `af spawn --protocol experiment`)
|
|
154
|
+
* 2. As a protocol override when combined with other input modes (e.g., `af spawn -p 0001 --protocol tick`)
|
|
47
155
|
*/
|
|
48
156
|
function validateSpawnOptions(options) {
|
|
49
|
-
|
|
157
|
+
// Count input modes (excluding --protocol which can be used as override)
|
|
158
|
+
const inputModes = [
|
|
50
159
|
options.project,
|
|
51
160
|
options.task,
|
|
52
|
-
options.protocol,
|
|
53
161
|
options.shell,
|
|
54
162
|
options.worktree,
|
|
55
163
|
options.issue,
|
|
56
164
|
].filter(Boolean);
|
|
57
|
-
|
|
165
|
+
// --protocol alone is a valid input mode
|
|
166
|
+
const protocolAlone = options.protocol && inputModes.length === 0;
|
|
167
|
+
if (inputModes.length === 0 && !protocolAlone) {
|
|
58
168
|
fatal('Must specify one of: --project (-p), --issue (-i), --task, --protocol, --shell, --worktree\n\nRun "af spawn --help" for examples.');
|
|
59
169
|
}
|
|
60
|
-
if (
|
|
61
|
-
fatal('Flags --project, --issue, --task, --
|
|
170
|
+
if (inputModes.length > 1) {
|
|
171
|
+
fatal('Flags --project, --issue, --task, --shell, --worktree are mutually exclusive');
|
|
62
172
|
}
|
|
63
173
|
if (options.files && !options.task) {
|
|
64
174
|
fatal('--files requires --task');
|
|
@@ -66,23 +176,35 @@ function validateSpawnOptions(options) {
|
|
|
66
176
|
if ((options.noComment || options.force) && !options.issue) {
|
|
67
177
|
fatal('--no-comment and --force require --issue');
|
|
68
178
|
}
|
|
179
|
+
// --protocol as override cannot be used with --shell or --worktree
|
|
180
|
+
if (options.protocol && inputModes.length > 0 && (options.shell || options.worktree)) {
|
|
181
|
+
fatal('--protocol cannot be used with --shell or --worktree (no protocol applies)');
|
|
182
|
+
}
|
|
183
|
+
// --use-protocol is now deprecated in favor of --protocol as universal override
|
|
184
|
+
// Keep for backwards compatibility but prefer --protocol
|
|
185
|
+
if (options.useProtocol && (options.shell || options.worktree)) {
|
|
186
|
+
fatal('--use-protocol cannot be used with --shell or --worktree (no protocol applies)');
|
|
187
|
+
}
|
|
69
188
|
}
|
|
70
189
|
/**
|
|
71
190
|
* Determine the spawn mode from options
|
|
191
|
+
* Note: --protocol can be used as both an input mode (alone) or an override (with other modes)
|
|
72
192
|
*/
|
|
73
193
|
function getSpawnMode(options) {
|
|
194
|
+
// Primary input modes take precedence over --protocol as override
|
|
74
195
|
if (options.project)
|
|
75
196
|
return 'spec';
|
|
76
197
|
if (options.issue)
|
|
77
198
|
return 'bugfix';
|
|
78
199
|
if (options.task)
|
|
79
200
|
return 'task';
|
|
80
|
-
if (options.protocol)
|
|
81
|
-
return 'protocol';
|
|
82
201
|
if (options.shell)
|
|
83
202
|
return 'shell';
|
|
84
203
|
if (options.worktree)
|
|
85
204
|
return 'worktree';
|
|
205
|
+
// --protocol alone is the protocol input mode
|
|
206
|
+
if (options.protocol)
|
|
207
|
+
return 'protocol';
|
|
86
208
|
throw new Error('No mode specified');
|
|
87
209
|
}
|
|
88
210
|
// loadRolePrompt imported from ../utils/roles.js
|
|
@@ -144,6 +266,136 @@ function validateProtocol(config, protocolName) {
|
|
|
144
266
|
fatal(`Protocol ${protocolName} exists but has no protocol.md file`);
|
|
145
267
|
}
|
|
146
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Load and parse a protocol.json file
|
|
271
|
+
*/
|
|
272
|
+
function loadProtocol(config, protocolName) {
|
|
273
|
+
const protocolJsonPath = resolve(config.codevDir, 'protocols', protocolName, 'protocol.json');
|
|
274
|
+
if (!existsSync(protocolJsonPath)) {
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
try {
|
|
278
|
+
const content = readFileSync(protocolJsonPath, 'utf-8');
|
|
279
|
+
return JSON.parse(content);
|
|
280
|
+
}
|
|
281
|
+
catch {
|
|
282
|
+
logger.warn(`Warning: Failed to parse ${protocolJsonPath}`);
|
|
283
|
+
return null;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Resolve which protocol to use based on precedence:
|
|
288
|
+
* 1. Explicit --protocol flag when used as override (with other input modes)
|
|
289
|
+
* 2. Explicit --use-protocol flag (backwards compatibility)
|
|
290
|
+
* 3. Spec file **Protocol**: header (for --project mode)
|
|
291
|
+
* 4. Hardcoded defaults (spider for specs, bugfix for issues)
|
|
292
|
+
*/
|
|
293
|
+
async function resolveProtocol(options, config) {
|
|
294
|
+
// Count input modes to determine if --protocol is being used as override
|
|
295
|
+
const inputModes = [
|
|
296
|
+
options.project,
|
|
297
|
+
options.task,
|
|
298
|
+
options.shell,
|
|
299
|
+
options.worktree,
|
|
300
|
+
options.issue,
|
|
301
|
+
].filter(Boolean);
|
|
302
|
+
const protocolAsOverride = options.protocol && inputModes.length > 0;
|
|
303
|
+
// 1. --protocol as override always wins when combined with other input modes
|
|
304
|
+
if (protocolAsOverride) {
|
|
305
|
+
validateProtocol(config, options.protocol);
|
|
306
|
+
return options.protocol.toLowerCase();
|
|
307
|
+
}
|
|
308
|
+
// 2. Explicit --use-protocol override (backwards compatibility)
|
|
309
|
+
if (options.useProtocol) {
|
|
310
|
+
validateProtocol(config, options.useProtocol);
|
|
311
|
+
return options.useProtocol.toLowerCase();
|
|
312
|
+
}
|
|
313
|
+
// 3. For spec mode, check spec file header (preserves existing behavior)
|
|
314
|
+
if (options.project) {
|
|
315
|
+
const specFile = await findSpecFile(config.codevDir, options.project);
|
|
316
|
+
if (specFile) {
|
|
317
|
+
const specContent = readFileSync(specFile, 'utf-8');
|
|
318
|
+
const match = specContent.match(/\*\*Protocol\*\*:\s*(\w+)/i);
|
|
319
|
+
if (match) {
|
|
320
|
+
const protocolFromSpec = match[1].toLowerCase();
|
|
321
|
+
// Validate the protocol exists
|
|
322
|
+
try {
|
|
323
|
+
validateProtocol(config, protocolFromSpec);
|
|
324
|
+
return protocolFromSpec;
|
|
325
|
+
}
|
|
326
|
+
catch {
|
|
327
|
+
// If protocol from spec doesn't exist, fall through to defaults
|
|
328
|
+
logger.warn(`Warning: Protocol "${match[1]}" from spec not found, using default`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// 4. Hardcoded defaults based on input type
|
|
334
|
+
if (options.project)
|
|
335
|
+
return 'spider';
|
|
336
|
+
if (options.issue)
|
|
337
|
+
return 'bugfix';
|
|
338
|
+
// --protocol alone (not as override) uses the protocol name itself
|
|
339
|
+
if (options.protocol)
|
|
340
|
+
return options.protocol.toLowerCase();
|
|
341
|
+
if (options.task)
|
|
342
|
+
return 'spider';
|
|
343
|
+
return 'spider'; // Final fallback
|
|
344
|
+
}
|
|
345
|
+
// Note: GitHubIssue interface is defined later in the file
|
|
346
|
+
/**
|
|
347
|
+
* Resolve the builder mode (strict vs soft)
|
|
348
|
+
* Precedence:
|
|
349
|
+
* 1. Explicit --strict or --soft flags (always win)
|
|
350
|
+
* 2. Protocol defaults from protocol.json
|
|
351
|
+
* 3. Input type defaults (spec = strict, all others = soft)
|
|
352
|
+
*/
|
|
353
|
+
function resolveMode(options, protocol) {
|
|
354
|
+
// 1. Explicit flags always win
|
|
355
|
+
if (options.strict && options.soft) {
|
|
356
|
+
fatal('--strict and --soft are mutually exclusive');
|
|
357
|
+
}
|
|
358
|
+
if (options.strict) {
|
|
359
|
+
return 'strict';
|
|
360
|
+
}
|
|
361
|
+
if (options.soft) {
|
|
362
|
+
return 'soft';
|
|
363
|
+
}
|
|
364
|
+
// 2. Protocol defaults from protocol.json
|
|
365
|
+
if (protocol?.defaults?.mode) {
|
|
366
|
+
return protocol.defaults.mode;
|
|
367
|
+
}
|
|
368
|
+
// 3. Input type defaults: only spec mode defaults to strict
|
|
369
|
+
if (options.project) {
|
|
370
|
+
return 'strict';
|
|
371
|
+
}
|
|
372
|
+
// All other modes default to soft
|
|
373
|
+
return 'soft';
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Execute pre-spawn hooks defined in protocol.json
|
|
377
|
+
* Hooks are data-driven but reuse existing implementation logic
|
|
378
|
+
*/
|
|
379
|
+
async function executePreSpawnHooks(protocol, context) {
|
|
380
|
+
if (!protocol?.hooks?.['pre-spawn'])
|
|
381
|
+
return;
|
|
382
|
+
const hooks = protocol.hooks['pre-spawn'];
|
|
383
|
+
// collision-check: reuses existing checkBugfixCollisions() logic
|
|
384
|
+
if (hooks['collision-check'] && context.issueNumber && context.issue && context.worktreePath) {
|
|
385
|
+
await checkBugfixCollisions(context.issueNumber, context.worktreePath, context.issue, !!context.force);
|
|
386
|
+
}
|
|
387
|
+
// comment-on-issue: posts comment to GitHub issue
|
|
388
|
+
if (hooks['comment-on-issue'] && context.issueNumber && !context.noComment) {
|
|
389
|
+
const message = hooks['comment-on-issue'];
|
|
390
|
+
logger.info('Commenting on issue...');
|
|
391
|
+
try {
|
|
392
|
+
await run(`gh issue comment ${context.issueNumber} --body "${message}"`);
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
logger.warn('Warning: Failed to comment on issue (continuing anyway)');
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
147
399
|
/**
|
|
148
400
|
* Check for required dependencies
|
|
149
401
|
*/
|
|
@@ -333,26 +585,31 @@ async function spawnSpec(options, config) {
|
|
|
333
585
|
await ensureDirectories(config);
|
|
334
586
|
await checkDependencies();
|
|
335
587
|
await createWorktree(config, branchName, worktreePath);
|
|
336
|
-
//
|
|
337
|
-
const
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
const
|
|
341
|
-
//
|
|
588
|
+
// Resolve protocol using precedence: --use-protocol > spec header > default
|
|
589
|
+
const protocol = await resolveProtocol(options, config);
|
|
590
|
+
const protocolPath = `codev/protocols/${protocol}/protocol.md`;
|
|
591
|
+
// Load protocol definition for potential hooks/config
|
|
592
|
+
const protocolDef = loadProtocol(config, protocol);
|
|
593
|
+
// Resolve mode: --soft flag > protocol defaults > input type defaults
|
|
594
|
+
const mode = resolveMode(options, protocolDef);
|
|
595
|
+
logger.kv('Protocol', protocol.toUpperCase());
|
|
596
|
+
logger.kv('Mode', mode.toUpperCase());
|
|
597
|
+
// Build the prompt using template
|
|
342
598
|
const specRelPath = `codev/specs/${specName}.md`;
|
|
343
599
|
const planRelPath = `codev/plans/${specName}.md`;
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
600
|
+
const templateContext = {
|
|
601
|
+
protocol_name: protocol.toUpperCase(),
|
|
602
|
+
mode,
|
|
603
|
+
mode_soft: mode === 'soft',
|
|
604
|
+
mode_strict: mode === 'strict',
|
|
605
|
+
project_id: projectId,
|
|
606
|
+
input_description: `the feature specified in ${specRelPath}`,
|
|
607
|
+
spec: { path: specRelPath, name: specName },
|
|
608
|
+
};
|
|
350
609
|
if (hasPlan) {
|
|
351
|
-
|
|
610
|
+
templateContext.plan = { path: planRelPath, name: specName };
|
|
352
611
|
}
|
|
353
|
-
initialPrompt
|
|
354
|
-
|
|
355
|
-
Start by reading the protocol, spec${hasPlan ? ', and plan' : ''}, then begin implementation.`;
|
|
612
|
+
const initialPrompt = buildPromptFromTemplate(config, protocol, templateContext);
|
|
356
613
|
const builderPrompt = `You are a Builder. Read codev/roles/builder.md for your full role definition.
|
|
357
614
|
|
|
358
615
|
${initialPrompt}`;
|
|
@@ -375,6 +632,7 @@ ${initialPrompt}`;
|
|
|
375
632
|
upsertBuilder(builder);
|
|
376
633
|
logger.blank();
|
|
377
634
|
logger.success(`Builder ${builderId} spawned!`);
|
|
635
|
+
logger.kv('Mode', mode === 'strict' ? 'Strict (porch-driven)' : 'Soft (protocol-guided)');
|
|
378
636
|
logger.kv('Terminal', `http://localhost:${port}`);
|
|
379
637
|
}
|
|
380
638
|
/**
|
|
@@ -396,12 +654,26 @@ async function spawnTask(options, config) {
|
|
|
396
654
|
await ensureDirectories(config);
|
|
397
655
|
await checkDependencies();
|
|
398
656
|
await createWorktree(config, branchName, worktreePath);
|
|
399
|
-
//
|
|
400
|
-
|
|
657
|
+
// Resolve protocol (tasks can specify --protocol override, default is 'spider')
|
|
658
|
+
const protocol = await resolveProtocol(options, config);
|
|
659
|
+
const protocolDef = loadProtocol(config, protocol);
|
|
660
|
+
const mode = resolveMode(options, protocolDef);
|
|
661
|
+
// Build the prompt using template
|
|
662
|
+
let taskDescription = taskText;
|
|
401
663
|
if (options.files && options.files.length > 0) {
|
|
402
|
-
|
|
664
|
+
taskDescription += `\n\nRelevant files to consider:\n${options.files.map(f => `- ${f}`).join('\n')}`;
|
|
403
665
|
}
|
|
404
|
-
const
|
|
666
|
+
const templateContext = {
|
|
667
|
+
protocol_name: protocol.toUpperCase(),
|
|
668
|
+
mode,
|
|
669
|
+
mode_soft: mode === 'soft',
|
|
670
|
+
mode_strict: mode === 'strict',
|
|
671
|
+
project_id: builderId,
|
|
672
|
+
input_description: 'an ad-hoc task',
|
|
673
|
+
task_text: taskDescription,
|
|
674
|
+
};
|
|
675
|
+
const prompt = buildPromptFromTemplate(config, protocol, templateContext);
|
|
676
|
+
const builderPrompt = `You are a Builder. Read codev/roles/builder.md for your full role definition.\n\n${prompt}`;
|
|
405
677
|
// Load role
|
|
406
678
|
const role = options.noRole ? null : loadRolePrompt(config, 'builder');
|
|
407
679
|
const commands = getResolvedCommands();
|
|
@@ -441,8 +713,20 @@ async function spawnProtocol(options, config) {
|
|
|
441
713
|
await ensureDirectories(config);
|
|
442
714
|
await checkDependencies();
|
|
443
715
|
await createWorktree(config, branchName, worktreePath);
|
|
444
|
-
//
|
|
445
|
-
const
|
|
716
|
+
// Load protocol definition and resolve mode
|
|
717
|
+
const protocolDef = loadProtocol(config, protocolName);
|
|
718
|
+
const mode = resolveMode(options, protocolDef);
|
|
719
|
+
logger.kv('Mode', mode.toUpperCase());
|
|
720
|
+
// Build the prompt using template
|
|
721
|
+
const templateContext = {
|
|
722
|
+
protocol_name: protocolName.toUpperCase(),
|
|
723
|
+
mode,
|
|
724
|
+
mode_soft: mode === 'soft',
|
|
725
|
+
mode_strict: mode === 'strict',
|
|
726
|
+
project_id: builderId,
|
|
727
|
+
input_description: `running the ${protocolName.toUpperCase()} protocol`,
|
|
728
|
+
};
|
|
729
|
+
const prompt = buildPromptFromTemplate(config, protocolName, templateContext);
|
|
446
730
|
// Load protocol-specific role or fall back to builder role
|
|
447
731
|
const role = options.noRole ? null : loadProtocolRole(config, protocolName);
|
|
448
732
|
const commands = getResolvedCommands();
|
|
@@ -672,48 +956,58 @@ async function spawnBugfix(options, config) {
|
|
|
672
956
|
const builderId = `bugfix-${issueNumber}`;
|
|
673
957
|
const branchName = `builder/bugfix-${issueNumber}-${slug}`;
|
|
674
958
|
const worktreePath = resolve(config.buildersDir, builderId);
|
|
959
|
+
// Resolve protocol (allows --use-protocol override)
|
|
960
|
+
const protocol = await resolveProtocol(options, config);
|
|
961
|
+
const protocolDef = loadProtocol(config, protocol);
|
|
962
|
+
// Resolve mode: --soft flag > protocol defaults > input type defaults (bugfix defaults to soft)
|
|
963
|
+
const mode = resolveMode(options, protocolDef);
|
|
675
964
|
logger.kv('Title', issue.title);
|
|
676
965
|
logger.kv('Branch', branchName);
|
|
677
966
|
logger.kv('Worktree', worktreePath);
|
|
678
|
-
|
|
679
|
-
|
|
967
|
+
logger.kv('Protocol', protocol.toUpperCase());
|
|
968
|
+
logger.kv('Mode', mode.toUpperCase());
|
|
969
|
+
// Execute pre-spawn hooks from protocol.json (collision check, issue comment)
|
|
970
|
+
// If protocol has hooks defined, use them; otherwise fall back to hardcoded behavior
|
|
971
|
+
if (protocolDef?.hooks?.['pre-spawn']) {
|
|
972
|
+
await executePreSpawnHooks(protocolDef, {
|
|
973
|
+
issueNumber,
|
|
974
|
+
issue,
|
|
975
|
+
worktreePath,
|
|
976
|
+
force: options.force,
|
|
977
|
+
noComment: options.noComment,
|
|
978
|
+
});
|
|
979
|
+
}
|
|
980
|
+
else {
|
|
981
|
+
// Fallback: hardcoded behavior for backwards compatibility
|
|
982
|
+
await checkBugfixCollisions(issueNumber, worktreePath, issue, !!options.force);
|
|
983
|
+
if (!options.noComment) {
|
|
984
|
+
logger.info('Commenting on issue...');
|
|
985
|
+
try {
|
|
986
|
+
await run(`gh issue comment ${issueNumber} --body "On it! Working on a fix now."`);
|
|
987
|
+
}
|
|
988
|
+
catch {
|
|
989
|
+
logger.warn('Warning: Failed to comment on issue (continuing anyway)');
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
}
|
|
680
993
|
await ensureDirectories(config);
|
|
681
994
|
await checkDependencies();
|
|
682
995
|
await createWorktree(config, branchName, worktreePath);
|
|
683
|
-
//
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
## Issue #${issueNumber}
|
|
700
|
-
**Title**: ${issue.title}
|
|
701
|
-
|
|
702
|
-
**Description**:
|
|
703
|
-
${issue.body || '(No description provided)'}
|
|
704
|
-
|
|
705
|
-
## Your Mission
|
|
706
|
-
1. Reproduce the bug
|
|
707
|
-
2. Identify root cause
|
|
708
|
-
3. Implement fix (< 300 LOC)
|
|
709
|
-
4. Add regression test
|
|
710
|
-
5. Run CMAP review (3-way parallel: Gemini, Codex, Claude)
|
|
711
|
-
6. Create PR with "Fixes #${issueNumber}" in body
|
|
712
|
-
|
|
713
|
-
If the fix is too complex (> 300 LOC or architectural changes), notify the Architect via:
|
|
714
|
-
af send architect "Issue #${issueNumber} is more complex than expected. [Reason]. Recommend escalating to SPIDER/TICK."
|
|
715
|
-
|
|
716
|
-
Start by reading the issue and reproducing the bug.`;
|
|
996
|
+
// Build the prompt using template
|
|
997
|
+
const templateContext = {
|
|
998
|
+
protocol_name: protocol.toUpperCase(),
|
|
999
|
+
mode,
|
|
1000
|
+
mode_soft: mode === 'soft',
|
|
1001
|
+
mode_strict: mode === 'strict',
|
|
1002
|
+
project_id: builderId,
|
|
1003
|
+
input_description: `a fix for GitHub Issue #${issueNumber}`,
|
|
1004
|
+
issue: {
|
|
1005
|
+
number: issueNumber,
|
|
1006
|
+
title: issue.title,
|
|
1007
|
+
body: issue.body || '(No description provided)',
|
|
1008
|
+
},
|
|
1009
|
+
};
|
|
1010
|
+
const prompt = buildPromptFromTemplate(config, protocol, templateContext);
|
|
717
1011
|
const builderPrompt = `You are a Builder. Read codev/roles/builder.md for your full role definition.\n\n${prompt}`;
|
|
718
1012
|
// Load role
|
|
719
1013
|
const role = options.noRole ? null : loadRolePrompt(config, 'builder');
|
|
@@ -735,6 +1029,7 @@ Start by reading the issue and reproducing the bug.`;
|
|
|
735
1029
|
upsertBuilder(builder);
|
|
736
1030
|
logger.blank();
|
|
737
1031
|
logger.success(`Bugfix builder for issue #${issueNumber} spawned!`);
|
|
1032
|
+
logger.kv('Mode', mode === 'strict' ? 'Strict (porch-driven)' : 'Soft (protocol-guided)');
|
|
738
1033
|
logger.kv('Terminal', `http://localhost:${port}`);
|
|
739
1034
|
}
|
|
740
1035
|
// =============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/agent-farm/commands/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAC;AAC/H,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgCnD;;;GAGG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAwB;IAChE,IAAI,MAAM,GAAG,QAAQ,CAAC;IAEtB,6CAA6C;IAC7C,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO;YAAE,MAAM;QAEpB,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAChD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,GAAoB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,8DAA8D;IAC9D,IAAI,OAAO,GAAQ,GAAG,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,MAAc,EAAE,YAAoB;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9F,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,MAAc,EACd,YAAoB,EACpB,OAAwB;IAExB,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,6BAA6B,YAAY,oBAAoB,CAAC,CAAC;QAC3E,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,qDAAqD;IACrD,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,uBAAuB,CAAC,CAAC;IAC3E,OAAO,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,YAAoB,EAAE,OAAwB;IACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ;QAChD,CAAC,CAAC;iDAC2C,OAAO,CAAC,UAAU,IAAI,EAAE,IAAI;QACzE,CAAC,CAAC;4FACsF,CAAC;IAE3F,IAAI,MAAM,GAAG,KAAK,YAAY,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC,IAAI;;uBAEhD,OAAO,CAAC,iBAAiB;;EAE9C,gBAAgB;;;aAGL,YAAY,CAAC,WAAW,EAAE,gCAAgC,YAAY;;CAElF,CAAC;IAEA,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAC/E,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,mDAAmD,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACvF,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,eAAe,OAAO,CAAC,KAAK,CAAC,MAAM;aACpC,OAAO,CAAC,KAAK,CAAC,KAAK;;;EAG9B,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,2BAA2B;CAClD,CAAC;IACA,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,OAAO,CAAC,SAAS,IAAI,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF;;;GAGG;AACH;;;GAGG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAc,EAAE,SAAiB;IACvD,OAAO,WAAW,cAAc,CAAC,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe;IACtB,6DAA6D;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,OAAqB;IACjD,yEAAyE;IACzE,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,KAAK;KACd,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,yCAAyC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IAElE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,KAAK,CAAC,mIAAmI,CAAC,CAAC;IAC7I,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,8EAA8E,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3D,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACpD,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrF,KAAK,CAAC,4EAA4E,CAAC,CAAC;IACtF,CAAC;IAED,gFAAgF;IAChF,yDAAyD;IACzD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,gFAAgF,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAqB;IACzC,kEAAkE;IAClE,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACxC,8CAA8C;IAC9C,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAC;IACxC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACvC,CAAC;AAED,iDAAiD;AAEjD;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,YAAoB;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IACxF,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClF,CAAC;IACD,4BAA4B;IAC5B,OAAO,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,kDAAkD;IAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,YAAoB;IAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEzD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,2BAA2B;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC3D,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACtC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,SAAS,GAAG,4BAA4B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,uBAAuB,YAAY,GAAG,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,YAAY,YAAY,qCAAqC,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,YAAoB;IACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,OAAqB,EAAE,MAAc;IAClE,yEAAyE;IACzE,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,KAAK;KACd,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAErE,6EAA6E;IAC7E,IAAI,kBAAkB,EAAE,CAAC;QACvB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAS,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,QAAS,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,gEAAgE;IAChE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAChD,+BAA+B;gBAC/B,IAAI,CAAC;oBACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;oBAC3C,OAAO,gBAAgB,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;oBAChE,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IACnC,mEAAmE;IACnE,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC5D,IAAI,OAAO,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAElC,OAAO,QAAQ,CAAC,CAAE,iBAAiB;AACrC,CAAC;AAED,2DAA2D;AAE3D;;;;;;GAMG;AACH,SAAS,WAAW,CAClB,OAAqB,EACrB,QAAmC;IAEnC,+BAA+B;IAC/B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kCAAkC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB,CACjC,QAAmC,EACnC,OAMC;IAED,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC;QAAE,OAAO;IAE5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE1C,iEAAiE;IACjE,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC7F,MAAM,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzG,CAAC;IAED,kDAAkD;IAClD,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,oBAAoB,OAAO,CAAC,WAAW,YAAY,OAAO,GAAG,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,IAAI;YAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC;IACT,CAAC;IACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,UAAkB,EAAE,YAAoB;IACpF,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,cAAc,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wCAAwC;QACxC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,qBAAqB,YAAY,KAAK,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC;YACH,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,SAAiB,EACjB,YAAoB,EACpB,OAAe,EACf,MAAc,EACd,WAA0B,EAC1B,UAAyB;IAEzB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAChE,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAElC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9D,IAAI,aAAqB,CAAC;IAE1B,IAAI,WAAW,EAAE,CAAC;QAChB,qEAAqE;QACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC3D,wDAAwD;QACxD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACpF,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,GAAG,CAAC,CAAC;QAC3C,aAAa,GAAG;MACd,YAAY;;IAEd,OAAO,mCAAmC,QAAQ,eAAe,UAAU;;;;;CAK9E,CAAC;IACA,CAAC;SAAM,CAAC;QACN,aAAa,GAAG;MACd,YAAY;;IAEd,OAAO,YAAY,UAAU;;;;;CAKhC,CAAC;IACA,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACzC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE7B,yCAAyC;IACzC,MAAM,GAAG,CAAC,2BAA2B,WAAW,sBAAsB,YAAY,MAAM,UAAU,GAAG,CAAC,CAAC;IACvG,MAAM,GAAG,CAAC,uBAAuB,WAAW,cAAc,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAClC,MAAM,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACrG,MAAM,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAExG,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI;QACJ,WAAW;QACX,GAAG,EAAE,YAAY;QACjB,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,OAAe,EACf,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,SAAS,OAAO,EAAE,CAAC;IAEvC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,gDAAgD;IAChD,MAAM,GAAG,CAAC,2BAA2B,WAAW,sBAAsB,MAAM,CAAC,WAAW,MAAM,OAAO,GAAG,CAAC,CAAC;IAC1G,MAAM,GAAG,CAAC,uBAAuB,WAAW,cAAc,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAClC,MAAM,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACrG,MAAM,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAExG,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI;QACJ,WAAW;QACX,GAAG,EAAE,MAAM,CAAC,WAAW;QACvB,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,OAAqB,EAAE,MAAc;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC;IAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,WAAW,QAAQ,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,oCAAoC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,CAAC,MAAM,CAAC,oBAAoB,SAAS,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEpC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,mBAAmB,QAAQ,cAAc,CAAC;IAE/D,sDAAsD;IACtD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnD,sEAAsE;IACtE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,kCAAkC;IAClC,MAAM,WAAW,GAAG,eAAe,QAAQ,KAAK,CAAC;IACjD,MAAM,WAAW,GAAG,eAAe,QAAQ,KAAK,CAAC;IAEjD,MAAM,eAAe,GAAoB;QACvC,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,SAAS,EAAE,IAAI,KAAK,MAAM;QAC1B,WAAW,EAAE,IAAI,KAAK,QAAQ;QAC9B,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,4BAA4B,WAAW,EAAE;QAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5C,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG;;EAEtB,aAAa,EAAE,CAAC;IAEhB,YAAY;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAC1D,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,CAAC,OAAO,EAChB,aAAa,EACb,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,MAAM,IAAI,IAAI,CACrB,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,MAAM;KACb,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,WAAW,SAAS,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,OAAqB,EAAE,MAAc;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAK,CAAC;IAC/B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,QAAQ,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,gBAAgB,OAAO,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,MAAM,CAAC,MAAM,CAAC,oBAAoB,SAAS,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEpC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,gFAAgF;IAChF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/C,kCAAkC;IAClC,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,eAAe,IAAI,oCAAoC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACvG,CAAC;IAED,MAAM,eAAe,GAAoB;QACvC,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,SAAS,EAAE,IAAI,KAAK,MAAM;QAC1B,WAAW,EAAE,IAAI,KAAK,QAAQ;QAC9B,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,gBAAgB;QACnC,SAAS,EAAE,eAAe;KAC3B,CAAC;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,oFAAoF,MAAM,EAAE,CAAC;IAEnH,YAAY;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAC1D,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,CAAC,OAAO,EAChB,aAAa,EACb,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,MAAM,IAAI,IAAI,CACrB,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9E,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,MAAM;QACZ,QAAQ;KACT,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,WAAW,SAAS,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,OAAqB,EAAE,MAAc;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAS,CAAC;IACvC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,YAAY,IAAI,OAAO,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,MAAM,CAAC,MAAM,CAAC,oBAAoB,SAAS,aAAa,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEpC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,4CAA4C;IAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,kCAAkC;IAClC,MAAM,eAAe,GAAoB;QACvC,aAAa,EAAE,YAAY,CAAC,WAAW,EAAE;QACzC,IAAI;QACJ,SAAS,EAAE,IAAI,KAAK,MAAM;QAC1B,WAAW,EAAE,IAAI,KAAK,QAAQ;QAC9B,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,eAAe,YAAY,CAAC,WAAW,EAAE,WAAW;KACxE,CAAC;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAE9E,2DAA2D;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAC1D,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,CAAC,OAAO,EAChB,MAAM,EACN,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,MAAM,IAAI,IAAI,CACrB,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,aAAa,YAAY,EAAE;QACjC,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;QAChB,YAAY;KACb,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,WAAW,SAAS,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,OAAqB,EAAE,MAAc;IAC7D,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,SAAS,OAAO,EAAE,CAAC;IAEnC,MAAM,CAAC,MAAM,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;IAE3C,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAE1B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CACxD,MAAM,EACN,OAAO,EACP,QAAQ,CAAC,OAAO,CACjB,CAAC;IAEF,2DAA2D;IAC3D,wCAAwC;IACxC,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,eAAe;QACrB,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,OAAO;KACd,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,SAAS,OAAO,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,OAAqB,EAAE,MAAc;IAChE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,YAAY,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,oBAAoB,OAAO,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,MAAM,CAAC,MAAM,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEpC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,oBAAoB;IACpB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,6EAA6E;IAC7E,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAC9D,IAAI,aAAqB,CAAC;IAE1B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC3D,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACrF,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5C,aAAa,GAAG;MACd,YAAY;;IAEd,QAAQ,CAAC,OAAO,mCAAmC,QAAQ;;;;;CAK9D,CAAC;IACA,CAAC;SAAM,CAAC;QACN,aAAa,GAAG;MACd,YAAY;;IAEd,QAAQ,CAAC,OAAO;;;;;CAKnB,CAAC;IACA,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,gDAAgD;IAChD,MAAM,GAAG,CAAC,2BAA2B,WAAW,sBAAsB,YAAY,MAAM,UAAU,GAAG,CAAC,CAAC;IACvG,MAAM,GAAG,CAAC,uBAAuB,WAAW,cAAc,CAAC,CAAC;IAE5D,iCAAiC;IACjC,MAAM,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAClC,MAAM,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC1C,MAAM,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAE9C,wEAAwE;IACxE,MAAM,GAAG,CAAC,yFAAyF,CAAC,CAAC;IACrG,MAAM,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAExG,4CAA4C;IAC5C,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACjF,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI;QACJ,WAAW;QACX,GAAG,EAAE,YAAY;QACjB,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;QACtB,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,kBAAkB;QACxB,IAAI;QACJ,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,YAAY,SAAS,WAAW,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAE,wCAAwC;SACrE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAU,4BAA4B;SACzD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAQ,gCAAgC;SAC7D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAgB,eAAe;AACjD,CAAC;AAgBD;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAAC,WAAmB;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,WAAW,mCAAmC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,0BAA0B,WAAW,mDAAmD,CAAC,CAAC;QAChG,MAAM,KAAK,CAAC,CAAC,gDAAgD;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,qBAAqB,CAClC,WAAmB,EACnB,YAAoB,EACpB,KAAkB,EAClB,KAAc;IAEd,sCAAsC;IACtC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,8BAA8B,YAAY,6BAA6B,WAAW,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,mDAAmD;IACnD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvC,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAEpD,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,UAAU,WAAW,6BAA6B,QAAQ,cAAc,WAAW,CAAC,MAAM,CAAC,KAAK,sEAAsE,CAAC,CAAC;YAChL,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,iCAAiC,QAAQ,iCAAiC,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,mCAAmC,QAAQ,qBAAqB,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,iCAAiC,WAAW,iCAAiC,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAqC,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtH,KAAK,CAAC,SAAS,OAAO,CAAC,MAAM,kCAAkC,WAAW,MAAM,MAAM,kCAAkC,CAAC,CAAC;YAC5H,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,MAAM,yDAAyD,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,mBAAmB,WAAW,oBAAoB,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CAAC,OAAqB,EAAE,MAAc;IAC9D,MAAM,WAAW,GAAG,OAAO,CAAC,KAAM,CAAC;IAEnC,MAAM,CAAC,MAAM,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC;IAEnE,0BAA0B;IAC1B,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,UAAU,WAAW,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,kBAAkB,WAAW,IAAI,IAAI,EAAE,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAE5D,oDAAoD;IACpD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnD,gGAAgG;IAChG,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,8EAA8E;IAC9E,qFAAqF;IACrF,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,MAAM,oBAAoB,CAAC,WAAW,EAAE;YACtC,WAAW;YACX,KAAK;YACL,YAAY;YACZ,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,MAAM,qBAAqB,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,oBAAoB,WAAW,wCAAwC,CAAC,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,iBAAiB,EAAE,CAAC;IAC1B,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvD,kCAAkC;IAClC,MAAM,eAAe,GAAoB;QACvC,aAAa,EAAE,QAAQ,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,SAAS,EAAE,IAAI,KAAK,MAAM;QAC1B,WAAW,EAAE,IAAI,KAAK,QAAQ;QAC9B,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,2BAA2B,WAAW,EAAE;QAC3D,KAAK,EAAE;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,2BAA2B;SAChD;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,oFAAoF,MAAM,EAAE,CAAC;IAEnH,YAAY;IACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,mBAAmB,CAC1D,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,CAAC,OAAO,EAChB,aAAa,EACb,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,MAAM,IAAI,IAAI,CACrB,CAAC;IAEF,MAAM,OAAO,GAAY;QACvB,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,WAAW,WAAW,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACtG,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,QAAQ;QACd,WAAW;KACZ,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,MAAM,CAAC,OAAO,CAAC,6BAA6B,WAAW,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAqB;IAC/C,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,+EAA+E;IAC/E,qFAAqF;IACrF,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,UAAU;YACb,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,OAAO;YACV,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,UAAU;YACb,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,MAAM;IACV,CAAC;AACH,CAAC"}
|