@kaitranntt/ccs 7.37.1-dev.1 → 7.37.1-dev.3
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/utils/shell-executor.d.ts +6 -0
- package/dist/utils/shell-executor.d.ts.map +1 -1
- package/dist/utils/shell-executor.js +27 -4
- package/dist/utils/shell-executor.js.map +1 -1
- package/dist/utils/ui/init.d.ts +1 -1
- package/dist/utils/ui/init.d.ts.map +1 -1
- package/dist/utils/ui/init.js +25 -36
- package/dist/utils/ui/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
* Cross-platform shell execution utilities for CCS.
|
|
5
5
|
*/
|
|
6
6
|
/// <reference types="node" />
|
|
7
|
+
/**
|
|
8
|
+
* Strip ANTHROPIC_* env vars from an environment object.
|
|
9
|
+
* Used for account/default profiles to prevent stale proxy config from
|
|
10
|
+
* interfering with native Claude API routing.
|
|
11
|
+
*/
|
|
12
|
+
export declare function stripAnthropicEnv(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
7
13
|
/**
|
|
8
14
|
* Escape arguments for shell execution (cross-platform)
|
|
9
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAMH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GACvC,IAAI,
|
|
1
|
+
{"version":3,"file":"shell-executor.d.ts","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAMH;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAQ3E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GACvC,IAAI,CAkDN"}
|
|
@@ -5,10 +5,25 @@
|
|
|
5
5
|
* Cross-platform shell execution utilities for CCS.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.execClaude = exports.escapeShellArg = void 0;
|
|
8
|
+
exports.execClaude = exports.escapeShellArg = exports.stripAnthropicEnv = void 0;
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
10
|
const error_manager_1 = require("./error-manager");
|
|
11
11
|
const websearch_manager_1 = require("./websearch-manager");
|
|
12
|
+
/**
|
|
13
|
+
* Strip ANTHROPIC_* env vars from an environment object.
|
|
14
|
+
* Used for account/default profiles to prevent stale proxy config from
|
|
15
|
+
* interfering with native Claude API routing.
|
|
16
|
+
*/
|
|
17
|
+
function stripAnthropicEnv(env) {
|
|
18
|
+
const result = {};
|
|
19
|
+
for (const key of Object.keys(env)) {
|
|
20
|
+
if (!key.startsWith('ANTHROPIC_')) {
|
|
21
|
+
result[key] = env[key];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
exports.stripAnthropicEnv = stripAnthropicEnv;
|
|
12
27
|
/**
|
|
13
28
|
* Escape arguments for shell execution (cross-platform)
|
|
14
29
|
*
|
|
@@ -45,10 +60,18 @@ function execClaude(claudeCli, args, envVars = null) {
|
|
|
45
60
|
const needsShell = isWindows && /\.(cmd|bat|ps1)$/i.test(claudeCli);
|
|
46
61
|
// Get WebSearch hook config env vars
|
|
47
62
|
const webSearchEnv = (0, websearch_manager_1.getWebSearchHookEnv)();
|
|
48
|
-
//
|
|
63
|
+
// For account/default profiles, strip ANTHROPIC_* from parent env to prevent
|
|
64
|
+
// stale proxy config (e.g., from prior CLIProxy sessions) from interfering
|
|
65
|
+
// with native Claude API routing. Settings-based profiles explicitly inject
|
|
66
|
+
// their own ANTHROPIC_* values, so they don't need this protection.
|
|
67
|
+
const profileType = envVars?.CCS_PROFILE_TYPE;
|
|
68
|
+
const baseEnv = profileType === 'account' || profileType === 'default'
|
|
69
|
+
? stripAnthropicEnv(process.env)
|
|
70
|
+
: process.env;
|
|
71
|
+
// Prepare environment (merge with base env if envVars provided)
|
|
49
72
|
const env = envVars
|
|
50
|
-
? { ...
|
|
51
|
-
: { ...
|
|
73
|
+
? { ...baseEnv, ...envVars, ...webSearchEnv }
|
|
74
|
+
: { ...baseEnv, ...webSearchEnv };
|
|
52
75
|
let child;
|
|
53
76
|
if (needsShell) {
|
|
54
77
|
// When shell needed: concatenate into string to avoid DEP0190 warning
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAAoD;AACpD,mDAA+C;AAC/C,2DAA0D;AAE1D;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,0EAA0E;QAC1E,qEAAqE;QACrE,qDAAqD;QACrD,OAAO,CACL,GAAG;YACH,MAAM,CAAC,GAAG,CAAC;iBACR,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,mCAAmC;iBAC7D,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,uBAAuB;iBAC3C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,gBAAgB;iBACrC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,+CAA+C;iBACpE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,gBAAgB;YACzC,GAAG,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;IACtD,CAAC;AACH,CAAC;AArBD,wCAqBC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,SAAiB,EACjB,IAAc,EACd,UAAoC,IAAI;IAExC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpE,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAA,uCAAmB,GAAE,CAAC;IAE3C,
|
|
1
|
+
{"version":3,"file":"shell-executor.js","sourceRoot":"","sources":["../../src/utils/shell-executor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iDAAoD;AACpD,mDAA+C;AAC/C,2DAA0D;AAE1D;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAsB;IACtD,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,8CAQC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,0EAA0E;QAC1E,qEAAqE;QACrE,qDAAqD;QACrD,OAAO,CACL,GAAG;YACH,MAAM,CAAC,GAAG,CAAC;iBACR,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,mCAAmC;iBAC7D,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,uBAAuB;iBAC3C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,gBAAgB;iBACrC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,+CAA+C;iBACpE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,gBAAgB;YACzC,GAAG,CACJ,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;IACtD,CAAC;AACH,CAAC;AArBD,wCAqBC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,SAAiB,EACjB,IAAc,EACd,UAAoC,IAAI;IAExC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/C,MAAM,UAAU,GAAG,SAAS,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEpE,qCAAqC;IACrC,MAAM,YAAY,GAAG,IAAA,uCAAmB,GAAE,CAAC;IAE3C,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,WAAW,GAAG,OAAO,EAAE,gBAAgB,CAAC;IAC9C,MAAM,OAAO,GACX,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QACpD,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAElB,gEAAgE;IAChE,MAAM,GAAG,GAAG,OAAO;QACjB,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE;QAC7C,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;IAEpC,IAAI,KAAmB,CAAC;IACxB,IAAI,UAAU,EAAE,CAAC;QACf,sEAAsE;QACtE,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,KAAK,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE;YACvB,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI;YACX,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,KAAK,GAAG,IAAA,qBAAK,EAAC,SAAS,EAAE,IAAI,EAAE;YAC7B,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,IAAI;YACjB,GAAG;SACJ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAwB,CAAC,CAAC;;YAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,4BAAY,CAAC,kBAAkB,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAtDD,gCAsDC"}
|
package/dist/utils/ui/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/utils/ui/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/utils/ui/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;GAGG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B5C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAOnC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAO7C"}
|
package/dist/utils/ui/init.js
CHANGED
|
@@ -5,54 +5,43 @@
|
|
|
5
5
|
* Handles lazy loading of ESM dependencies
|
|
6
6
|
* @module utils/ui/init
|
|
7
7
|
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
-
}) : function(o, v) {
|
|
22
|
-
o["default"] = v;
|
|
23
|
-
});
|
|
24
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
-
if (mod && mod.__esModule) return mod;
|
|
26
|
-
var result = {};
|
|
27
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
-
__setModuleDefault(result, mod);
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
9
|
exports.isClaudeCodeContext = exports.isInteractive = exports.useColors = exports.initUI = void 0;
|
|
33
10
|
const types_1 = require("./types");
|
|
11
|
+
/**
|
|
12
|
+
* Native dynamic import that bypasses TypeScript's require() transformation.
|
|
13
|
+
* This preserves ESM import() at runtime, fixing Node 24 ESM/CJS interop issues.
|
|
14
|
+
*
|
|
15
|
+
* TypeScript compiles `import('x')` to `require('x')` when targeting CommonJS,
|
|
16
|
+
* which breaks ESM packages like ora that depend on other ESM-only modules.
|
|
17
|
+
*/
|
|
18
|
+
const dynamicImport = new Function('specifier', 'return import(specifier)');
|
|
34
19
|
/**
|
|
35
20
|
* Initialize UI dependencies (call once at startup)
|
|
36
|
-
* Uses dynamic imports for ESM packages in CommonJS project
|
|
21
|
+
* Uses native dynamic imports for ESM packages in CommonJS project
|
|
37
22
|
*/
|
|
38
23
|
async function initUI() {
|
|
39
24
|
if (types_1.initialized)
|
|
40
25
|
return;
|
|
41
26
|
try {
|
|
42
|
-
//
|
|
27
|
+
// Use native dynamic import to avoid TypeScript's require() transformation
|
|
43
28
|
const [chalkImport, boxenImport, gradientImport, oraImport, listrImport] = await Promise.all([
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
29
|
+
dynamicImport('chalk'),
|
|
30
|
+
dynamicImport('boxen'),
|
|
31
|
+
dynamicImport('gradient-string'),
|
|
32
|
+
dynamicImport('ora'),
|
|
33
|
+
dynamicImport('listr2'),
|
|
49
34
|
]);
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
types_1.moduleCache.
|
|
54
|
-
types_1.moduleCache.
|
|
55
|
-
types_1.moduleCache.
|
|
35
|
+
// ESM modules: use .default for the actual export
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37
|
+
const getDefault = (mod) => mod.default || mod;
|
|
38
|
+
types_1.moduleCache.chalk = getDefault(chalkImport);
|
|
39
|
+
types_1.moduleCache.boxen = getDefault(boxenImport);
|
|
40
|
+
types_1.moduleCache.gradient = getDefault(gradientImport);
|
|
41
|
+
types_1.moduleCache.ora = getDefault(oraImport);
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
const listr = listrImport;
|
|
44
|
+
types_1.moduleCache.listr = listr.Listr || listr.default?.Listr;
|
|
56
45
|
(0, types_1.setInitialized)(true);
|
|
57
46
|
}
|
|
58
47
|
catch (_e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/utils/ui/init.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/utils/ui/init.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mCAAmE;AAEnE;;;;;;GAMG;AAEH,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAErD,CAAC;AAEtB;;;GAGG;AACI,KAAK,UAAU,MAAM;IAC1B,IAAI,mBAAW;QAAE,OAAO;IAExB,IAAI,CAAC;QACH,2EAA2E;QAC3E,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3F,aAAa,CAAC,OAAO,CAAC;YACtB,aAAa,CAAC,OAAO,CAAC;YACtB,aAAa,CAAC,iBAAiB,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC;YACpB,aAAa,CAAC,QAAQ,CAAC;SACxB,CAAC,CAAC;QAEH,kDAAkD;QAClD,8DAA8D;QAC9D,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QAEpD,mBAAW,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,mBAAW,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,mBAAW,CAAC,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAClD,mBAAW,CAAC,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACxC,8DAA8D;QAC9D,MAAM,KAAK,GAAG,WAAkB,CAAC;QACjC,mBAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;QACxD,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,oDAAoD;QACpD,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AA9BD,wBA8BC;AAED;;;GAGG;AACH,SAAgB,SAAS;IACvB,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACzC,2BAA2B;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvC,0BAA0B;IAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AAChC,CAAC;AAPD,8BAOC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5E,CAAC;AAFD,sCAEC;AAED;;;;;;;GAOG;AACH,SAAgB,mBAAmB;IACjC,OAAO,CACL,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QACrB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC5B,CAAC;AACJ,CAAC;AAPD,kDAOC"}
|