daedalus-cli 3.22.3 → 3.22.5
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/CHANGELOG.md +14 -0
- package/dist/commands/enhance.d.ts +1 -1
- package/dist/commands/enhance.d.ts.map +1 -1
- package/dist/commands/enhance.js +6 -7
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/enhance.test.js +6 -1
- package/dist/commands/enhance.test.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [3.22.5](https://github.com/bgill55/daedalus/compare/v3.22.4...v3.22.5) (2026-08-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **commands:** dispatch enhanced prompt as a task to execute, not re-enhance ([#76](https://github.com/bgill55/daedalus/issues/76)) ([52560ae](https://github.com/bgill55/daedalus/commit/52560aee04e97c28c0f5ec8945fb2a397ee80e88))
|
|
7
|
+
|
|
8
|
+
## [3.22.4](https://github.com/bgill55/daedalus/compare/v3.22.3...v3.22.4) (2026-08-09)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **commands:** enforce filled-in analytical directives in ENHANCE_SYSTEM_PROMPT to prevent text-reprinting loops ([5b4ffa2](https://github.com/bgill55/daedalus/commit/5b4ffa25ae28b11783204bd7509ec1ee8fd793ca))
|
|
14
|
+
|
|
1
15
|
## [3.22.3](https://github.com/bgill55/daedalus/compare/v3.22.2...v3.22.3) (2026-08-09)
|
|
2
16
|
|
|
3
17
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command, CommandContext } from './types.js';
|
|
2
|
-
export declare const ENHANCE_SYSTEM_PROMPT = "You are an expert prompt engineer for AI coding agents. \nExpand the user's raw or casual request into a crisp, high-yield engineering prompt for Daedalus.\nRules for the generated prompt:\n1.
|
|
2
|
+
export declare const ENHANCE_SYSTEM_PROMPT = "You are an expert prompt engineer for AI coding agents. \nExpand the user's raw or casual request into a crisp, high-yield engineering prompt for Daedalus.\nRules for the generated prompt:\n1. Frame the prompt as a direct action command instructing the agent to perform the task and write out its completed report.\n2. Instruct the agent to inspect relevant files and codebase context using tools before writing.\n3. Require the agent to deliver a fully populated report formatted in Markdown with headers, filled-in comparison tables, and bullet points.\n4. NEVER output empty Markdown templates, empty table rows (e.g. \"| Aspect | | |\"), or bracketed placeholders (e.g. \"[dependency]\", \"[what it does]\"). Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings.\n5. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.";
|
|
3
3
|
export declare function enhancePrompt(rawPrompt: string, ctx: CommandContext): Promise<string>;
|
|
4
4
|
export declare const enhanceCommand: Command;
|
|
5
5
|
//# sourceMappingURL=enhance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhance.d.ts","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"enhance.d.ts","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1D,eAAO,MAAM,qBAAqB,k8BAOuF,CAAC;AAE1H,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB3F;AAED,eAAO,MAAM,cAAc,EAAE,OAyD5B,CAAC"}
|
package/dist/commands/enhance.js
CHANGED
|
@@ -5,12 +5,11 @@ import { getSessionTodos } from '../tools/builtin/todo.js';
|
|
|
5
5
|
export const ENHANCE_SYSTEM_PROMPT = `You are an expert prompt engineer for AI coding agents.
|
|
6
6
|
Expand the user's raw or casual request into a crisp, high-yield engineering prompt for Daedalus.
|
|
7
7
|
Rules for the generated prompt:
|
|
8
|
-
1.
|
|
9
|
-
2.
|
|
10
|
-
3.
|
|
11
|
-
4. NEVER
|
|
12
|
-
5.
|
|
13
|
-
6. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.`;
|
|
8
|
+
1. Frame the prompt as a direct action command instructing the agent to perform the task and write out its completed report.
|
|
9
|
+
2. Instruct the agent to inspect relevant files and codebase context using tools before writing.
|
|
10
|
+
3. Require the agent to deliver a fully populated report formatted in Markdown with headers, filled-in comparison tables, and bullet points.
|
|
11
|
+
4. NEVER output empty Markdown templates, empty table rows (e.g. "| Aspect | | |"), or bracketed placeholders (e.g. "[dependency]", "[what it does]"). Instead, write clear instructions ordering the agent to analyze the code and populate those sections with actual findings.
|
|
12
|
+
5. Return ONLY the final enhanced prompt text without meta-commentary, introductory remarks, or surrounding quote marks.`;
|
|
14
13
|
export async function enhancePrompt(rawPrompt, ctx) {
|
|
15
14
|
const fullPrompt = `${ENHANCE_SYSTEM_PROMPT}\n\nUser request to enhance: "${rawPrompt}"`;
|
|
16
15
|
try {
|
|
@@ -61,7 +60,7 @@ export const enhanceCommand = {
|
|
|
61
60
|
if (typeof ctx.callModelWithTools === 'function') {
|
|
62
61
|
const indexCtx = typeof ctx.buildIndexContext === 'function' ? await ctx.buildIndexContext(enhanced) : '';
|
|
63
62
|
const filesCtx = typeof ctx.buildFileContext === 'function' ? ctx.buildFileContext() : '';
|
|
64
|
-
const userContent = `${indexCtx}${filesCtx}
|
|
63
|
+
const userContent = `${indexCtx}${filesCtx}Execute the following task:\n\n${enhanced}`;
|
|
65
64
|
printUserTurn(enhanced);
|
|
66
65
|
if (ctx.messages.length > 0 && ctx.messages[0].role === 'system' && typeof ctx.getSystemPromptWithMemory === 'function') {
|
|
67
66
|
ctx.messages[0] = { role: 'system', content: ctx.getSystemPromptWithMemory(enhanced) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,CAAC,MAAM,qBAAqB,GAAG
|
|
1
|
+
{"version":3,"file":"enhance.js","sourceRoot":"","sources":["../../src/commands/enhance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;yHAOoF,CAAC;AAE1H,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,GAAmB;IACxE,MAAM,UAAU,GAAG,GAAG,qBAAqB,iCAAiC,SAAS,GAAG,CAAC;IAEzF,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACd,+BAA+B;IACjC,CAAC;IAED,OAAO;;;;;+DAKsD,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,WAAW,EAAE,yFAAyF;IACtG,KAAK,EAAE,wBAAwB;IAC/B,QAAQ,EAAE,yLAAyL;IACnM,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,GAAmB,EAA2B,EAAE;QAC5E,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;gBACtC,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACvE,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEpD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACxD,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1G,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,gBAAgB,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1F,MAAM,WAAW,GAAG,GAAG,QAAQ,GAAG,QAAQ,kCAAkC,QAAQ,EAAE,CAAC;oBACvF,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,yBAAyB,KAAK,UAAU,EAAE,CAAC;wBACxH,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzF,CAAC;oBACD,MAAM,GAAG,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBAC1C,IAAI,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC;wBAClC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpH,CAAC;oBACD,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;wBACrC,MAAM,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACrE,CAAC;oBACD,aAAa,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -31,7 +31,12 @@ describe('enhanceCommand', () => {
|
|
|
31
31
|
const shouldRun = await enhanceCommand.execute('', mockCtx);
|
|
32
32
|
expect(shouldRun).toBe(true);
|
|
33
33
|
expect(mockCallTools).toHaveBeenCalledTimes(1);
|
|
34
|
-
|
|
34
|
+
const dispatched = mockCallTools.mock.calls[0][0];
|
|
35
|
+
expect(dispatched).toContain('Enhanced prompt text');
|
|
36
|
+
// The enhanced prompt must be dispatched as a TASK TO EXECUTE, not re-labeled as a
|
|
37
|
+
// user prompt to enhance — otherwise the model re-enhances instead of answering.
|
|
38
|
+
expect(dispatched).toMatch(/Execute the following task:/);
|
|
39
|
+
expect(dispatched).not.toMatch(/User Prompt:\s*Enhanced prompt text/);
|
|
35
40
|
});
|
|
36
41
|
});
|
|
37
42
|
//# sourceMappingURL=enhance.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhance.test.js","sourceRoot":"","sources":["../../src/commands/enhance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG7D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,6EAA6E,CAC9E,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;SAC9B,CAAC;QAET,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE;aACxB,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,mBAAmB;aAC7D,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE3C,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;YACpC,kBAAkB,EAAE,aAAa;YACjC,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,EAAE;SACN,CAAC;QAET,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,
|
|
1
|
+
{"version":3,"file":"enhance.test.js","sourceRoot":"","sources":["../../src/commands/enhance.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG7D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAC7C,6EAA6E,CAC9E,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;SAC9B,CAAC;QAET,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9C,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE;aACxB,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,mBAAmB;aAC7D,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE3C,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG;YACd,qBAAqB,EAAE,aAAa;YACpC,kBAAkB,EAAE,aAAa;YACjC,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,EAAE;SACN,CAAC;QAET,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACrD,mFAAmF;QACnF,iFAAiF;QACjF,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|