@markus-global/cli 0.4.17 → 0.4.19
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/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +96 -65
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/system.d.ts.map +1 -1
- package/dist/commands/system.js +22 -7
- package/dist/commands/system.js.map +1 -1
- package/dist/index.js +107 -93
- package/dist/index.js.map +1 -1
- package/dist/markus.mjs +2171 -1187
- package/dist/web-ui/assets/index-3aaspe8C.css +1 -0
- package/dist/web-ui/assets/index-DVrJcKF4.js +64 -0
- package/dist/web-ui/index.html +2 -2
- package/package.json +1 -1
- package/templates/roles/skill-architect/ROLE.md +1 -1
- package/templates/skills/self-evolution/SKILL.md +1 -1
- package/templates/skills/skill-building/SKILL.md +1 -1
- package/dist/web-ui/assets/index-BgJ594-E.js +0 -63
- package/dist/web-ui/assets/index-CiYrdUAj.css +0 -1
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { readFileSync, existsSync } from 'node:fs';
|
|
3
3
|
import process from 'node:process';
|
|
4
4
|
import { Command } from 'commander';
|
|
5
|
-
import { APP_VERSION } from '@markus/shared';
|
|
5
|
+
import { APP_VERSION, checkForUpdate } from '@markus/shared';
|
|
6
6
|
import { setGlobalJson } from './output.js';
|
|
7
7
|
// Load .env file from project root
|
|
8
8
|
const envPath = resolve(process.cwd(), '.env');
|
|
@@ -21,97 +21,111 @@ if (existsSync(envPath)) {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (opts.json)
|
|
36
|
-
setGlobalJson(true);
|
|
37
|
-
});
|
|
38
|
-
// Lazy-load command modules to keep startup fast
|
|
39
|
-
async function registerCommands() {
|
|
40
|
-
// ── 1. start ───────────────────────────────────────────────────────
|
|
41
|
-
const { registerStartCommand } = await import('./commands/start.js');
|
|
42
|
-
registerStartCommand(program);
|
|
43
|
-
// ── 1b. model ──────────────────────────────────────────────────────
|
|
44
|
-
const { registerModelCommand } = await import('./commands/model.js');
|
|
45
|
-
registerModelCommand(program);
|
|
46
|
-
// ── 1e. models ────────────────────────────────────────────────────
|
|
47
|
-
const { registerModelsCommand } = await import('./commands/models.js');
|
|
48
|
-
registerModelsCommand(program);
|
|
49
|
-
// ── 1c. doctor ──────────────────────────────────────────────────────
|
|
50
|
-
const { registerDoctorCommand } = await import('./commands/doctor.js');
|
|
51
|
-
registerDoctorCommand(program);
|
|
52
|
-
// ── 1d. auth ───────────────────────────────────────────────────────
|
|
53
|
-
const { registerAuthCommand } = await import('./commands/auth.js');
|
|
54
|
-
registerAuthCommand(program);
|
|
55
|
-
// ── 1f. channel ───────────────────────────────────────────────────
|
|
56
|
-
const { registerChannelCommand } = await import('./commands/channel.js');
|
|
57
|
-
registerChannelCommand(program);
|
|
58
|
-
// ── 1g. gateway ───────────────────────────────────────────────────
|
|
59
|
-
const { registerGatewayCommand } = await import('./commands/gateway.js');
|
|
60
|
-
registerGatewayCommand(program);
|
|
61
|
-
// ── 2. agent ───────────────────────────────────────────────────────
|
|
62
|
-
const { registerAgentCommands } = await import('./commands/agent.js');
|
|
63
|
-
registerAgentCommands(program);
|
|
64
|
-
// ── 3. project (+ task, requirement, deliverable, report, review, approval)
|
|
65
|
-
const { registerProjectCommands } = await import('./commands/project.js');
|
|
66
|
-
const { registerTaskCommands } = await import('./commands/task.js');
|
|
67
|
-
const { registerRequirementCommands } = await import('./commands/requirement.js');
|
|
68
|
-
const { registerDeliverableCommands } = await import('./commands/deliverable.js');
|
|
69
|
-
const { registerReportCommands } = await import('./commands/report.js');
|
|
70
|
-
const { registerReviewCommands } = await import('./commands/review.js');
|
|
71
|
-
const { registerApprovalCommands } = await import('./commands/approval.js');
|
|
72
|
-
const projectCmd = registerProjectCommands(program);
|
|
73
|
-
registerTaskCommands(projectCmd);
|
|
74
|
-
registerRequirementCommands(projectCmd);
|
|
75
|
-
registerDeliverableCommands(projectCmd);
|
|
76
|
-
registerReportCommands(projectCmd);
|
|
77
|
-
registerReviewCommands(projectCmd);
|
|
78
|
-
registerApprovalCommands(projectCmd);
|
|
79
|
-
// ── 4. team ────────────────────────────────────────────────────────
|
|
80
|
-
const { registerTeamCommands } = await import('./commands/team.js');
|
|
81
|
-
registerTeamCommands(program);
|
|
82
|
-
// ── 4b. connect + install ─────────────────────────────────────────
|
|
83
|
-
const { registerConnectCommands } = await import('./commands/connect.js');
|
|
84
|
-
registerConnectCommands(program);
|
|
85
|
-
const { registerInstallAgentCommands } = await import('./commands/install-agent.js');
|
|
86
|
-
registerInstallAgentCommands(program);
|
|
87
|
-
// ── 5. skill ───────────────────────────────────────────────────────
|
|
88
|
-
const { registerSkillCommands } = await import('./commands/skill.js');
|
|
89
|
-
registerSkillCommands(program);
|
|
90
|
-
// ── 6. admin (+ system, audit, user, key, role, template, builder, gateway, external-agent, settings)
|
|
91
|
-
const admin = program.command('admin').description('Platform administration and system controls');
|
|
92
|
-
const { registerSystemCommands } = await import('./commands/system.js');
|
|
93
|
-
const { registerAuditCommands } = await import('./commands/audit.js');
|
|
94
|
-
const { registerUserCommands } = await import('./commands/user.js');
|
|
95
|
-
const { registerKeyCommands } = await import('./commands/key.js');
|
|
96
|
-
const { registerRoleCommands } = await import('./commands/role.js');
|
|
97
|
-
const { registerTemplateCommands } = await import('./commands/template.js');
|
|
98
|
-
const { registerBuilderCommands } = await import('./commands/builder.js');
|
|
99
|
-
const { registerExternalAgentCommands } = await import('./commands/external-agent.js');
|
|
100
|
-
const { registerSettingsCommands } = await import('./commands/settings.js');
|
|
101
|
-
const systemCmd = registerSystemCommands(admin);
|
|
102
|
-
registerAuditCommands(systemCmd);
|
|
103
|
-
registerUserCommands(admin);
|
|
104
|
-
registerKeyCommands(admin);
|
|
105
|
-
registerRoleCommands(admin);
|
|
106
|
-
registerTemplateCommands(admin);
|
|
107
|
-
registerBuilderCommands(admin);
|
|
108
|
-
registerExternalAgentCommands(admin);
|
|
109
|
-
registerSettingsCommands(admin);
|
|
24
|
+
// Handle -v / --version with update check before Commander takes over
|
|
25
|
+
const versionArg = process.argv[2];
|
|
26
|
+
if (versionArg === '-v' || versionArg === '--version' || versionArg === '-V') {
|
|
27
|
+
console.log(`v${APP_VERSION}`);
|
|
28
|
+
checkForUpdate().then(info => {
|
|
29
|
+
if (info.updateAvailable) {
|
|
30
|
+
console.log(`\n \x1b[33m⬆ Update available: v${info.latestVersion}\x1b[0m`);
|
|
31
|
+
console.log(` Run \x1b[1mnpm i -g @markus-global/cli\x1b[0m to upgrade`);
|
|
32
|
+
}
|
|
33
|
+
process.exit(0);
|
|
34
|
+
}).catch(() => process.exit(0));
|
|
110
35
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
})
|
|
36
|
+
else {
|
|
37
|
+
const program = new Command();
|
|
38
|
+
program
|
|
39
|
+
.name('markus')
|
|
40
|
+
.description('Markus — AI Digital Workforce Platform CLI')
|
|
41
|
+
.version(`v${APP_VERSION}`, '-v, --version')
|
|
42
|
+
.option('-s, --server <url>', 'API server URL', process.env['MARKUS_API_URL'] || 'http://localhost:8056')
|
|
43
|
+
.option('-k, --api-key <key>', 'API key for authentication')
|
|
44
|
+
.option('--json', 'Output in JSON format')
|
|
45
|
+
.option('-c, --config <path>', 'Path to markus.json config file')
|
|
46
|
+
.hook('preAction', (_thisCommand, actionCommand) => {
|
|
47
|
+
const opts = actionCommand.optsWithGlobals();
|
|
48
|
+
if (opts.json)
|
|
49
|
+
setGlobalJson(true);
|
|
50
|
+
});
|
|
51
|
+
// Lazy-load command modules to keep startup fast
|
|
52
|
+
async function registerCommands() {
|
|
53
|
+
// ── 1. start ───────────────────────────────────────────────────────
|
|
54
|
+
const { registerStartCommand } = await import('./commands/start.js');
|
|
55
|
+
registerStartCommand(program);
|
|
56
|
+
// ── 1b. model ──────────────────────────────────────────────────────
|
|
57
|
+
const { registerModelCommand } = await import('./commands/model.js');
|
|
58
|
+
registerModelCommand(program);
|
|
59
|
+
// ── 1e. models ────────────────────────────────────────────────────
|
|
60
|
+
const { registerModelsCommand } = await import('./commands/models.js');
|
|
61
|
+
registerModelsCommand(program);
|
|
62
|
+
// ── 1c. doctor ──────────────────────────────────────────────────────
|
|
63
|
+
const { registerDoctorCommand } = await import('./commands/doctor.js');
|
|
64
|
+
registerDoctorCommand(program);
|
|
65
|
+
// ── 1d. auth ───────────────────────────────────────────────────────
|
|
66
|
+
const { registerAuthCommand } = await import('./commands/auth.js');
|
|
67
|
+
registerAuthCommand(program);
|
|
68
|
+
// ── 1f. channel ───────────────────────────────────────────────────
|
|
69
|
+
const { registerChannelCommand } = await import('./commands/channel.js');
|
|
70
|
+
registerChannelCommand(program);
|
|
71
|
+
// ── 1g. gateway ───────────────────────────────────────────────────
|
|
72
|
+
const { registerGatewayCommand } = await import('./commands/gateway.js');
|
|
73
|
+
registerGatewayCommand(program);
|
|
74
|
+
// ── 2. agent ───────────────────────────────────────────────────────
|
|
75
|
+
const { registerAgentCommands } = await import('./commands/agent.js');
|
|
76
|
+
registerAgentCommands(program);
|
|
77
|
+
// ── 3. project (+ task, requirement, deliverable, report, review, approval)
|
|
78
|
+
const { registerProjectCommands } = await import('./commands/project.js');
|
|
79
|
+
const { registerTaskCommands } = await import('./commands/task.js');
|
|
80
|
+
const { registerRequirementCommands } = await import('./commands/requirement.js');
|
|
81
|
+
const { registerDeliverableCommands } = await import('./commands/deliverable.js');
|
|
82
|
+
const { registerReportCommands } = await import('./commands/report.js');
|
|
83
|
+
const { registerReviewCommands } = await import('./commands/review.js');
|
|
84
|
+
const { registerApprovalCommands } = await import('./commands/approval.js');
|
|
85
|
+
const projectCmd = registerProjectCommands(program);
|
|
86
|
+
registerTaskCommands(projectCmd);
|
|
87
|
+
registerRequirementCommands(projectCmd);
|
|
88
|
+
registerDeliverableCommands(projectCmd);
|
|
89
|
+
registerReportCommands(projectCmd);
|
|
90
|
+
registerReviewCommands(projectCmd);
|
|
91
|
+
registerApprovalCommands(projectCmd);
|
|
92
|
+
// ── 4. team ────────────────────────────────────────────────────────
|
|
93
|
+
const { registerTeamCommands } = await import('./commands/team.js');
|
|
94
|
+
registerTeamCommands(program);
|
|
95
|
+
// ── 4b. connect + install ─────────────────────────────────────────
|
|
96
|
+
const { registerConnectCommands } = await import('./commands/connect.js');
|
|
97
|
+
registerConnectCommands(program);
|
|
98
|
+
const { registerInstallAgentCommands } = await import('./commands/install-agent.js');
|
|
99
|
+
registerInstallAgentCommands(program);
|
|
100
|
+
// ── 5. skill ───────────────────────────────────────────────────────
|
|
101
|
+
const { registerSkillCommands } = await import('./commands/skill.js');
|
|
102
|
+
registerSkillCommands(program);
|
|
103
|
+
// ── 6. admin (+ system, audit, user, key, role, template, builder, gateway, external-agent, settings)
|
|
104
|
+
const admin = program.command('admin').description('Platform administration and system controls');
|
|
105
|
+
const { registerSystemCommands } = await import('./commands/system.js');
|
|
106
|
+
const { registerAuditCommands } = await import('./commands/audit.js');
|
|
107
|
+
const { registerUserCommands } = await import('./commands/user.js');
|
|
108
|
+
const { registerKeyCommands } = await import('./commands/key.js');
|
|
109
|
+
const { registerRoleCommands } = await import('./commands/role.js');
|
|
110
|
+
const { registerTemplateCommands } = await import('./commands/template.js');
|
|
111
|
+
const { registerBuilderCommands } = await import('./commands/builder.js');
|
|
112
|
+
const { registerExternalAgentCommands } = await import('./commands/external-agent.js');
|
|
113
|
+
const { registerSettingsCommands } = await import('./commands/settings.js');
|
|
114
|
+
const systemCmd = registerSystemCommands(admin);
|
|
115
|
+
registerAuditCommands(systemCmd);
|
|
116
|
+
registerUserCommands(admin);
|
|
117
|
+
registerKeyCommands(admin);
|
|
118
|
+
registerRoleCommands(admin);
|
|
119
|
+
registerTemplateCommands(admin);
|
|
120
|
+
registerBuilderCommands(admin);
|
|
121
|
+
registerExternalAgentCommands(admin);
|
|
122
|
+
registerSettingsCommands(admin);
|
|
123
|
+
}
|
|
124
|
+
registerCommands()
|
|
125
|
+
.then(() => program.parseAsync(process.argv))
|
|
126
|
+
.catch(error => {
|
|
127
|
+
console.error('Fatal error:', error);
|
|
128
|
+
process.exit(1);
|
|
129
|
+
});
|
|
130
|
+
} // end of version-check else block
|
|
117
131
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,mCAAmC;AACnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;AAC/C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC/B,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,aAAa,SAAS,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;KAAM,CAAC;IAER,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,4CAA4C,CAAC;SACzD,OAAO,CAAC,IAAI,WAAW,EAAE,EAAE,eAAe,CAAC;SAC3C,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC;SACxG,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;SAC3D,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;SAChE,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,iDAAiD;IACjD,KAAK,UAAU,gBAAgB;QAC7B,sEAAsE;QACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACrE,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,sEAAsE;QACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACrE,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,qEAAqE;QACrE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,uEAAuE;QACvE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACvE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,sEAAsE;QACtE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,qEAAqE;QACrE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,qEAAqE;QACrE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACzE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,sEAAsE;QACtE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,6EAA6E;QAC7E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAClF,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAClF,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE5E,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACjC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QACxC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QACxC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACnC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACnC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE9B,qEAAqE;QACrE,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1E,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEjC,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrF,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAEtC,sEAAsE;QACtE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/B,uGAAuG;QACvG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC;QAClG,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAClE,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC5E,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1E,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACvF,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAChD,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,EAAE;SACf,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5C,KAAK,CAAC,KAAK,CAAC,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,kCAAkC"}
|