@claude-flow/cli 3.0.0-alpha.82 → 3.0.0-alpha.84
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/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/performance.d.ts.map +1 -1
- package/dist/src/commands/performance.js +34 -8
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/security.d.ts.map +1 -1
- package/dist/src/commands/security.js +15 -9
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/update.d.ts +8 -0
- package/dist/src/commands/update.d.ts.map +1 -0
- package/dist/src/commands/update.js +276 -0
- package/dist/src/commands/update.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -1
- package/dist/src/transfer/ipfs/upload.js +7 -4
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts.map +1 -1
- package/dist/src/transfer/store/discovery.js +2 -1
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.d.ts.map +1 -0
- package/dist/src/update/checker.js +190 -0
- package/dist/src/update/checker.js.map +1 -0
- package/dist/src/update/executor.d.ts +32 -0
- package/dist/src/update/executor.d.ts.map +1 -0
- package/dist/src/update/executor.js +181 -0
- package/dist/src/update/executor.js.map +1 -0
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +64 -0
- package/dist/src/update/index.js.map +1 -0
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -0
- package/dist/src/update/rate-limiter.js +96 -0
- package/dist/src/update/rate-limiter.js.map +1 -0
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.d.ts.map +1 -0
- package/dist/src/update/validator.js +123 -0
- package/dist/src/update/validator.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate limiter for update checks
|
|
3
|
+
* Prevents excessive npm registry queries
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import * as os from 'os';
|
|
8
|
+
const STATE_FILE = path.join(os.homedir(), '.claude-flow', 'update-state.json');
|
|
9
|
+
const DEFAULT_INTERVAL_HOURS = 24;
|
|
10
|
+
const MAX_CHECKS_PER_DAY = 10;
|
|
11
|
+
function ensureDir() {
|
|
12
|
+
const dir = path.dirname(STATE_FILE);
|
|
13
|
+
if (!fs.existsSync(dir)) {
|
|
14
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function getDefaultState() {
|
|
18
|
+
return {
|
|
19
|
+
lastCheck: '',
|
|
20
|
+
checksToday: 0,
|
|
21
|
+
date: new Date().toISOString().split('T')[0],
|
|
22
|
+
packageVersions: {},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function loadState() {
|
|
26
|
+
try {
|
|
27
|
+
if (fs.existsSync(STATE_FILE)) {
|
|
28
|
+
const content = fs.readFileSync(STATE_FILE, 'utf-8');
|
|
29
|
+
const state = JSON.parse(content);
|
|
30
|
+
// Reset counter if new day
|
|
31
|
+
const today = new Date().toISOString().split('T')[0];
|
|
32
|
+
if (state.date !== today) {
|
|
33
|
+
state.date = today;
|
|
34
|
+
state.checksToday = 0;
|
|
35
|
+
}
|
|
36
|
+
return state;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Corrupted file, reset
|
|
41
|
+
}
|
|
42
|
+
return getDefaultState();
|
|
43
|
+
}
|
|
44
|
+
export function saveState(state) {
|
|
45
|
+
ensureDir();
|
|
46
|
+
fs.writeFileSync(STATE_FILE, JSON.stringify(state, null, 2));
|
|
47
|
+
}
|
|
48
|
+
export function shouldCheckForUpdates(intervalHours = DEFAULT_INTERVAL_HOURS) {
|
|
49
|
+
// Skip in CI environments
|
|
50
|
+
if (process.env.CI === 'true' || process.env.CONTINUOUS_INTEGRATION === 'true') {
|
|
51
|
+
return { allowed: false, reason: 'CI environment detected' };
|
|
52
|
+
}
|
|
53
|
+
// Skip if explicitly disabled
|
|
54
|
+
if (process.env.CLAUDE_FLOW_AUTO_UPDATE === 'false') {
|
|
55
|
+
return { allowed: false, reason: 'Auto-update disabled via environment' };
|
|
56
|
+
}
|
|
57
|
+
// Force update if requested
|
|
58
|
+
if (process.env.CLAUDE_FLOW_FORCE_UPDATE === 'true') {
|
|
59
|
+
return { allowed: true };
|
|
60
|
+
}
|
|
61
|
+
const state = loadState();
|
|
62
|
+
// Check daily limit
|
|
63
|
+
if (state.checksToday >= MAX_CHECKS_PER_DAY) {
|
|
64
|
+
return { allowed: false, reason: `Daily check limit (${MAX_CHECKS_PER_DAY}) reached` };
|
|
65
|
+
}
|
|
66
|
+
// Check time interval
|
|
67
|
+
if (state.lastCheck) {
|
|
68
|
+
const lastCheckTime = new Date(state.lastCheck).getTime();
|
|
69
|
+
const now = Date.now();
|
|
70
|
+
const hoursSinceLastCheck = (now - lastCheckTime) / (1000 * 60 * 60);
|
|
71
|
+
if (hoursSinceLastCheck < intervalHours) {
|
|
72
|
+
const nextCheck = Math.ceil(intervalHours - hoursSinceLastCheck);
|
|
73
|
+
return {
|
|
74
|
+
allowed: false,
|
|
75
|
+
reason: `Last check was ${Math.floor(hoursSinceLastCheck)}h ago (next check in ~${nextCheck}h)`
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return { allowed: true };
|
|
80
|
+
}
|
|
81
|
+
export function recordCheck(packageVersions) {
|
|
82
|
+
const state = loadState();
|
|
83
|
+
state.lastCheck = new Date().toISOString();
|
|
84
|
+
state.checksToday += 1;
|
|
85
|
+
state.packageVersions = { ...state.packageVersions, ...packageVersions };
|
|
86
|
+
saveState(state);
|
|
87
|
+
}
|
|
88
|
+
export function getCachedVersions() {
|
|
89
|
+
return loadState().packageVersions;
|
|
90
|
+
}
|
|
91
|
+
export function clearCache() {
|
|
92
|
+
if (fs.existsSync(STATE_FILE)) {
|
|
93
|
+
fs.unlinkSync(STATE_FILE);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=rate-limiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/update/rate-limiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package validator for update compatibility
|
|
3
|
+
* Ensures updates don't break the ecosystem
|
|
4
|
+
*/
|
|
5
|
+
export interface ValidationResult {
|
|
6
|
+
valid: boolean;
|
|
7
|
+
incompatibilities: string[];
|
|
8
|
+
warnings: string[];
|
|
9
|
+
requiredPeerUpdates: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function validateUpdate(packageName: string, fromVersion: string, toVersion: string, installedPackages: Record<string, string>): ValidationResult;
|
|
12
|
+
export declare function validateBulkUpdate(updates: Array<{
|
|
13
|
+
package: string;
|
|
14
|
+
from: string;
|
|
15
|
+
to: string;
|
|
16
|
+
}>, currentPackages: Record<string, string>): ValidationResult;
|
|
17
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/update/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAyCD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,gBAAgB,CA6ElB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7D,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,gBAAgB,CAsClB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package validator for update compatibility
|
|
3
|
+
* Ensures updates don't break the ecosystem
|
|
4
|
+
*/
|
|
5
|
+
import * as semver from 'semver';
|
|
6
|
+
// Known compatibility matrix between @claude-flow packages
|
|
7
|
+
const COMPATIBILITY_MATRIX = {
|
|
8
|
+
'@claude-flow/cli': {
|
|
9
|
+
'@claude-flow/embeddings': { minVersion: '3.0.0-alpha.1' },
|
|
10
|
+
'@claude-flow/security': { minVersion: '3.0.0-alpha.1' },
|
|
11
|
+
'@claude-flow/integration': { minVersion: '3.0.0-alpha.1' },
|
|
12
|
+
},
|
|
13
|
+
'@claude-flow/embeddings': {
|
|
14
|
+
'@claude-flow/cli': { minVersion: '3.0.0-alpha.50' },
|
|
15
|
+
},
|
|
16
|
+
'@claude-flow/integration': {
|
|
17
|
+
'@claude-flow/cli': { minVersion: '3.0.0-alpha.70' },
|
|
18
|
+
'agentic-flow': { minVersion: '0.1.0' },
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
// Known breaking changes by version
|
|
22
|
+
const BREAKING_CHANGES = {
|
|
23
|
+
'@claude-flow/cli': {
|
|
24
|
+
'3.0.0': [
|
|
25
|
+
'Memory API changed from key-value to vector-based',
|
|
26
|
+
'Hooks system completely redesigned',
|
|
27
|
+
'Agent spawning now requires type parameter',
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
'@claude-flow/embeddings': {
|
|
31
|
+
'3.0.0': [
|
|
32
|
+
'Switched from better-sqlite3 to sql.js',
|
|
33
|
+
'New initialization required with initEmbeddings()',
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
export function validateUpdate(packageName, fromVersion, toVersion, installedPackages) {
|
|
38
|
+
const result = {
|
|
39
|
+
valid: true,
|
|
40
|
+
incompatibilities: [],
|
|
41
|
+
warnings: [],
|
|
42
|
+
requiredPeerUpdates: [],
|
|
43
|
+
};
|
|
44
|
+
// Check if this is a major version bump
|
|
45
|
+
if (semver.valid(fromVersion) && semver.valid(toVersion)) {
|
|
46
|
+
const fromMajor = semver.major(fromVersion);
|
|
47
|
+
const toMajor = semver.major(toVersion);
|
|
48
|
+
if (toMajor > fromMajor) {
|
|
49
|
+
result.warnings.push(`Major version update (${fromMajor} → ${toMajor}) may contain breaking changes`);
|
|
50
|
+
// Check for known breaking changes
|
|
51
|
+
const changes = BREAKING_CHANGES[packageName]?.[`${toMajor}.0.0`];
|
|
52
|
+
if (changes) {
|
|
53
|
+
result.warnings.push(`Known breaking changes in v${toMajor}:`);
|
|
54
|
+
changes.forEach((change) => result.warnings.push(` - ${change}`));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Check compatibility with installed packages
|
|
59
|
+
const compatibility = COMPATIBILITY_MATRIX[packageName];
|
|
60
|
+
if (compatibility) {
|
|
61
|
+
for (const [depName, depReq] of Object.entries(compatibility)) {
|
|
62
|
+
const installedVersion = installedPackages[depName];
|
|
63
|
+
if (installedVersion) {
|
|
64
|
+
// Check minimum version
|
|
65
|
+
if (semver.valid(installedVersion) &&
|
|
66
|
+
semver.lt(installedVersion, depReq.minVersion)) {
|
|
67
|
+
result.incompatibilities.push(`${packageName}@${toVersion} requires ${depName} >= ${depReq.minVersion} (installed: ${installedVersion})`);
|
|
68
|
+
result.requiredPeerUpdates.push(`${depName}@>=${depReq.minVersion}`);
|
|
69
|
+
result.valid = false;
|
|
70
|
+
}
|
|
71
|
+
// Check maximum version
|
|
72
|
+
if (depReq.maxVersion &&
|
|
73
|
+
semver.valid(installedVersion) &&
|
|
74
|
+
semver.gt(installedVersion, depReq.maxVersion)) {
|
|
75
|
+
result.warnings.push(`${packageName}@${toVersion} may not be compatible with ${depName}@${installedVersion} (max: ${depReq.maxVersion})`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Check reverse compatibility - other packages that depend on this one
|
|
81
|
+
for (const [pkgName, deps] of Object.entries(COMPATIBILITY_MATRIX)) {
|
|
82
|
+
if (pkgName === packageName)
|
|
83
|
+
continue;
|
|
84
|
+
const depInfo = deps[packageName];
|
|
85
|
+
if (depInfo && installedPackages[pkgName]) {
|
|
86
|
+
// If the target version is below what the installed package needs
|
|
87
|
+
if (semver.valid(toVersion) && semver.lt(toVersion, depInfo.minVersion)) {
|
|
88
|
+
result.incompatibilities.push(`${pkgName}@${installedPackages[pkgName]} requires ${packageName} >= ${depInfo.minVersion}`);
|
|
89
|
+
result.valid = false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
export function validateBulkUpdate(updates, currentPackages) {
|
|
96
|
+
const combinedResult = {
|
|
97
|
+
valid: true,
|
|
98
|
+
incompatibilities: [],
|
|
99
|
+
warnings: [],
|
|
100
|
+
requiredPeerUpdates: [],
|
|
101
|
+
};
|
|
102
|
+
// Create a simulated state after all updates
|
|
103
|
+
const simulatedPackages = { ...currentPackages };
|
|
104
|
+
for (const update of updates) {
|
|
105
|
+
simulatedPackages[update.package] = update.to;
|
|
106
|
+
}
|
|
107
|
+
// Validate each update against the final state
|
|
108
|
+
for (const update of updates) {
|
|
109
|
+
const result = validateUpdate(update.package, update.from, update.to, simulatedPackages);
|
|
110
|
+
if (!result.valid) {
|
|
111
|
+
combinedResult.valid = false;
|
|
112
|
+
}
|
|
113
|
+
combinedResult.incompatibilities.push(...result.incompatibilities);
|
|
114
|
+
combinedResult.warnings.push(...result.warnings);
|
|
115
|
+
combinedResult.requiredPeerUpdates.push(...result.requiredPeerUpdates);
|
|
116
|
+
}
|
|
117
|
+
// Deduplicate
|
|
118
|
+
combinedResult.incompatibilities = [...new Set(combinedResult.incompatibilities)];
|
|
119
|
+
combinedResult.warnings = [...new Set(combinedResult.warnings)];
|
|
120
|
+
combinedResult.requiredPeerUpdates = [...new Set(combinedResult.requiredPeerUpdates)];
|
|
121
|
+
return combinedResult;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/update/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAejC,2DAA2D;AAC3D,MAAM,oBAAoB,GAAyD;IACjF,kBAAkB,EAAE;QAClB,yBAAyB,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE;QAC1D,uBAAuB,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE;QACxD,0BAA0B,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE;KAC5D;IACD,yBAAyB,EAAE;QACzB,kBAAkB,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;KACrD;IACD,0BAA0B,EAAE;QAC1B,kBAAkB,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE;QACpD,cAAc,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE;KACxC;CACF,CAAC;AAEF,oCAAoC;AACpC,MAAM,gBAAgB,GAA6C;IACjE,kBAAkB,EAAE;QAClB,OAAO,EAAE;YACP,mDAAmD;YACnD,oCAAoC;YACpC,4CAA4C;SAC7C;KACF;IACD,yBAAyB,EAAE;QACzB,OAAO,EAAE;YACP,wCAAwC;YACxC,mDAAmD;SACpD;KACF;CACF,CAAC;AAEF,MAAM,UAAU,cAAc,CAC5B,WAAmB,EACnB,WAAmB,EACnB,SAAiB,EACjB,iBAAyC;IAEzC,MAAM,MAAM,GAAqB;QAC/B,KAAK,EAAE,IAAI;QACX,iBAAiB,EAAE,EAAE;QACrB,QAAQ,EAAE,EAAE;QACZ,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,wCAAwC;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,yBAAyB,SAAS,MAAM,OAAO,gCAAgC,CAChF,CAAC;YAEF,mCAAmC;YACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;gBAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEpD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,wBAAwB;gBACxB,IACE,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAC9B,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,EAC9C,CAAC;oBACD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAC3B,GAAG,WAAW,IAAI,SAAS,aAAa,OAAO,OAAO,MAAM,CAAC,UAAU,gBAAgB,gBAAgB,GAAG,CAC3G,CAAC;oBACF,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACrE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvB,CAAC;gBAED,wBAAwB;gBACxB,IACE,MAAM,CAAC,UAAU;oBACjB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAC9B,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,EAC9C,CAAC;oBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,GAAG,WAAW,IAAI,SAAS,+BAA+B,OAAO,IAAI,gBAAgB,UAAU,MAAM,CAAC,UAAU,GAAG,CACpH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnE,IAAI,OAAO,KAAK,WAAW;YAAE,SAAS;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,kEAAkE;YAClE,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAC3B,GAAG,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,aAAa,WAAW,OAAO,OAAO,CAAC,UAAU,EAAE,CAC5F,CAAC;gBACF,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA6D,EAC7D,eAAuC;IAEvC,MAAM,cAAc,GAAqB;QACvC,KAAK,EAAE,IAAI;QACX,iBAAiB,EAAE,EAAE;QACrB,QAAQ,EAAE,EAAE;QACZ,mBAAmB,EAAE,EAAE;KACxB,CAAC;IAEF,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;IACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,+CAA+C;IAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,cAAc,CAC3B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,iBAAiB,CAClB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnE,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACzE,CAAC;IAED,cAAc;IACd,cAAc,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAClF,cAAc,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,cAAc,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEtF,OAAO,cAAc,CAAC;AACxB,CAAC"}
|