@evjs/build-tools 0.0.28 → 0.0.30
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/README.md +5 -5
- package/esm/index.d.ts +2 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -2
- package/esm/index.js.map +1 -1
- package/esm/routes.d.ts +6 -0
- package/esm/routes.d.ts.map +1 -1
- package/esm/routes.js +50 -0
- package/esm/routes.js.map +1 -1
- package/esm/transforms/index.d.ts +2 -2
- package/esm/transforms/index.js +2 -2
- package/esm/types.d.ts +11 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/package.json +1 -1
- package/esm/entry.d.ts +0 -18
- package/esm/entry.d.ts.map +0 -1
- package/esm/entry.js +0 -35
- package/esm/entry.js.map +0 -1
package/README.md
CHANGED
|
@@ -51,8 +51,8 @@ const clientStub = await transformServerFile(source, {
|
|
|
51
51
|
|
|
52
52
|
`transformServerFile()` parses the source with SWC, extracts exported function names via AST traversal, then delegates to the appropriate transform:
|
|
53
53
|
|
|
54
|
-
- **Client transform** — replaces function bodies with `
|
|
55
|
-
- **Server transform** — keeps original source, prepends the `
|
|
54
|
+
- **Client transform** — replaces function bodies with `createServerReference()` transport stubs.
|
|
55
|
+
- **Server transform** — keeps original source, prepends the `registerServerReference` import, and appends registration calls for each export.
|
|
56
56
|
|
|
57
57
|
### Entry Generation
|
|
58
58
|
|
|
@@ -70,9 +70,9 @@ All runtime identifiers (module paths, function names, property names) are centr
|
|
|
70
70
|
RUNTIME.serverModule // "@evjs/server/register"
|
|
71
71
|
RUNTIME.appModule // "@evjs/server"
|
|
72
72
|
RUNTIME.clientTransportModule // "@evjs/client/transport"
|
|
73
|
-
RUNTIME.
|
|
74
|
-
RUNTIME.
|
|
75
|
-
RUNTIME.
|
|
73
|
+
RUNTIME.registerServerReference // "registerServerReference"
|
|
74
|
+
RUNTIME.createServerReference // "createServerReference"
|
|
75
|
+
RUNTIME.callServer // "callServer"
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
## Bundler Adapter Pattern
|
package/esm/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bundler-agnostic build utilities for the ev framework.
|
|
3
3
|
*/
|
|
4
|
-
export { generateServerEntry } from "./entry.js";
|
|
5
4
|
export type { GenerateHtmlOptions, HtmlAsset } from "./html.js";
|
|
6
5
|
export { generateHtml } from "./html.js";
|
|
7
6
|
export type { ExtractedRoute } from "./routes.js";
|
|
8
|
-
export { extractRoutes, resolveRoutes } from "./routes.js";
|
|
7
|
+
export { detectServerRouteExports, extractRoutes, resolveRoutes, } from "./routes.js";
|
|
9
8
|
export type { TransformResult } from "./transforms/index.js";
|
|
10
9
|
export { transformServerFile } from "./transforms/index.js";
|
|
11
|
-
export type { ServerEntryConfig, TransformOptions } from "./types.js";
|
|
10
|
+
export type { RouteModuleInfo, ServerEntryConfig, TransformOptions, } from "./types.js";
|
|
12
11
|
export { detectUseServer, hashString, makeFnId, makeModuleId, parseModuleRef, } from "./utils.js";
|
|
13
12
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/esm/index.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bundler-agnostic build utilities for the ev framework.
|
|
3
3
|
*/
|
|
4
|
-
export { generateServerEntry } from "./entry.js";
|
|
5
4
|
export { generateHtml } from "./html.js";
|
|
6
|
-
export { extractRoutes, resolveRoutes } from "./routes.js";
|
|
5
|
+
export { detectServerRouteExports, extractRoutes, resolveRoutes, } from "./routes.js";
|
|
7
6
|
export { transformServerFile } from "./transforms/index.js";
|
|
8
7
|
export { detectUseServer, hashString, makeFnId, makeModuleId, parseModuleRef, } from "./utils.js";
|
|
9
8
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,EACL,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/esm/routes.d.ts
CHANGED
|
@@ -14,4 +14,10 @@ export { resolveRoutes } from "@evjs/manifest";
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
export declare function extractRoutes(source: string): ExtractedRoute[];
|
|
17
|
+
/**
|
|
18
|
+
* Detect server route handlers exported from this file.
|
|
19
|
+
* Returns the exported variable names, or null if this is not a server route file
|
|
20
|
+
* (i.e., it doesn't import `createRoute` from `@evjs/server`).
|
|
21
|
+
*/
|
|
22
|
+
export declare function detectServerRouteExports(source: string): string[] | null;
|
|
17
23
|
//# sourceMappingURL=routes.d.ts.map
|
package/esm/routes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAmB9D"}
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CAmB9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAoDxE"}
|
package/esm/routes.js
CHANGED
|
@@ -30,6 +30,56 @@ export function extractRoutes(source) {
|
|
|
30
30
|
}
|
|
31
31
|
return routes;
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Detect server route handlers exported from this file.
|
|
35
|
+
* Returns the exported variable names, or null if this is not a server route file
|
|
36
|
+
* (i.e., it doesn't import `createRoute` from `@evjs/server`).
|
|
37
|
+
*/
|
|
38
|
+
export function detectServerRouteExports(source) {
|
|
39
|
+
let ast;
|
|
40
|
+
try {
|
|
41
|
+
ast = parseSync(source, {
|
|
42
|
+
syntax: "typescript",
|
|
43
|
+
tsx: true,
|
|
44
|
+
target: "esnext",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
let hasServerImport = false;
|
|
51
|
+
for (const item of ast.body) {
|
|
52
|
+
if (item.type === "ImportDeclaration") {
|
|
53
|
+
if (item.source.value === "@evjs/server") {
|
|
54
|
+
for (const spec of item.specifiers) {
|
|
55
|
+
if (spec.type === "ImportSpecifier" &&
|
|
56
|
+
spec.local.value === "createRoute") {
|
|
57
|
+
hasServerImport = true;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!hasServerImport)
|
|
65
|
+
return null;
|
|
66
|
+
const exports = [];
|
|
67
|
+
for (const item of ast.body) {
|
|
68
|
+
if (item.type === "ExportDeclaration") {
|
|
69
|
+
const decl = item.declaration;
|
|
70
|
+
if (decl.type === "VariableDeclaration") {
|
|
71
|
+
for (const d of decl.declarations) {
|
|
72
|
+
if (d.init &&
|
|
73
|
+
isCreateRouteCall(d.init) &&
|
|
74
|
+
d.id.type === "Identifier") {
|
|
75
|
+
exports.push(d.id.value);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return exports;
|
|
82
|
+
}
|
|
33
83
|
/** Walk a top-level module item looking for createRoute calls. */
|
|
34
84
|
function collectFromItem(item, routes) {
|
|
35
85
|
// export const fooRoute = createRoute({ ... })
|
package/esm/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ export interface TransformResult {
|
|
|
7
7
|
* Transform a "use server" file for either client or server builds.
|
|
8
8
|
* This is a pure function with no bundler dependency.
|
|
9
9
|
*
|
|
10
|
-
* - **Server**: keeps original source + appends `
|
|
11
|
-
* - **Client**: replaces function bodies with `
|
|
10
|
+
* - **Server**: keeps original source + appends `registerServerReference()` calls
|
|
11
|
+
* - **Client**: replaces function bodies with `createServerReference()` transport stubs
|
|
12
12
|
*/
|
|
13
13
|
export declare function transformServerFile(source: string, options: TransformOptions): Promise<TransformResult>;
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/transforms/index.js
CHANGED
|
@@ -7,8 +7,8 @@ import { extractExportNames } from "./utils.js";
|
|
|
7
7
|
* Transform a "use server" file for either client or server builds.
|
|
8
8
|
* This is a pure function with no bundler dependency.
|
|
9
9
|
*
|
|
10
|
-
* - **Server**: keeps original source + appends `
|
|
11
|
-
* - **Client**: replaces function bodies with `
|
|
10
|
+
* - **Server**: keeps original source + appends `registerServerReference()` calls
|
|
11
|
+
* - **Client**: replaces function bodies with `createServerReference()` transport stubs
|
|
12
12
|
*/
|
|
13
13
|
export async function transformServerFile(source, options) {
|
|
14
14
|
if (!detectUseServer(source)) {
|
package/esm/types.d.ts
CHANGED
|
@@ -8,6 +8,17 @@ export interface ServerEntryConfig {
|
|
|
8
8
|
* Middleware module paths to auto-register in the server entry.
|
|
9
9
|
*/
|
|
10
10
|
middleware?: string[];
|
|
11
|
+
/**
|
|
12
|
+
* Server function endpoint path.
|
|
13
|
+
*/
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
}
|
|
16
|
+
/** Information about a discovered server route module. */
|
|
17
|
+
export interface RouteModuleInfo {
|
|
18
|
+
/** Absolute path to the route module file. */
|
|
19
|
+
path: string;
|
|
20
|
+
/** Exported names of the route handlers. */
|
|
21
|
+
exports: string[];
|
|
11
22
|
}
|
|
12
23
|
/** Options for transforming a "use server" file. */
|
|
13
24
|
export interface TransformOptions {
|
package/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KACvC,IAAI,CAAC;CACX;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;IAClB,8EAA8E;;IAE9E,mFAAmF;;IAEnF,mDAAmD;;IAEnD,0DAA0D;;IAE1D,6DAA6D;;IAE7D,uDAAuD;;CAE/C,CAAC"}
|
package/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuCA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,8EAA8E;IAC9E,YAAY,EAAE,uBAAuB;IACrC,mFAAmF;IACnF,SAAS,EAAE,cAAc;IACzB,mDAAmD;IACnD,qBAAqB,EAAE,wBAAwB;IAC/C,0DAA0D;IAC1D,uBAAuB,EAAE,yBAAyB;IAClD,6DAA6D;IAC7D,qBAAqB,EAAE,uBAAuB;IAC9C,uDAAuD;IACvD,UAAU,EAAE,YAAY;CAChB,CAAC"}
|
package/package.json
CHANGED
package/esm/entry.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type ServerEntryConfig } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Generate the server entry source code from discovered server modules.
|
|
4
|
-
*
|
|
5
|
-
* The generated entry:
|
|
6
|
-
* 1. Imports user's "use server" modules (registering functions as side effects)
|
|
7
|
-
* 2. Re-exports them as named exports (_fns_0, _fns_1, ...)
|
|
8
|
-
* 3. Re-exports `createApp` so the adapter can create a Hono app that
|
|
9
|
-
* shares the same function registry
|
|
10
|
-
*
|
|
11
|
-
* The adapter layer (node/ecma) handles server startup.
|
|
12
|
-
*
|
|
13
|
-
* @param config - Server entry configuration (setup imports)
|
|
14
|
-
* @param serverModulePaths - Absolute paths to discovered "use server" modules
|
|
15
|
-
* @returns The generated server entry source code string
|
|
16
|
-
*/
|
|
17
|
-
export declare function generateServerEntry(config: ServerEntryConfig | undefined, serverModulePaths: string[]): string;
|
|
18
|
-
//# sourceMappingURL=entry.d.ts.map
|
package/esm/entry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,iBAAiB,EAAE,MAAM,EAAE,GAC1B,MAAM,CAqBR"}
|
package/esm/entry.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { emitCode } from "./codegen.js";
|
|
2
|
-
import { RUNTIME } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Generate the server entry source code from discovered server modules.
|
|
5
|
-
*
|
|
6
|
-
* The generated entry:
|
|
7
|
-
* 1. Imports user's "use server" modules (registering functions as side effects)
|
|
8
|
-
* 2. Re-exports them as named exports (_fns_0, _fns_1, ...)
|
|
9
|
-
* 3. Re-exports `createApp` so the adapter can create a Hono app that
|
|
10
|
-
* shares the same function registry
|
|
11
|
-
*
|
|
12
|
-
* The adapter layer (node/ecma) handles server startup.
|
|
13
|
-
*
|
|
14
|
-
* @param config - Server entry configuration (setup imports)
|
|
15
|
-
* @param serverModulePaths - Absolute paths to discovered "use server" modules
|
|
16
|
-
* @returns The generated server entry source code string
|
|
17
|
-
*/
|
|
18
|
-
export function generateServerEntry(config, serverModulePaths) {
|
|
19
|
-
const moduleImports = serverModulePaths
|
|
20
|
-
.map((p, i) => `import * as _fns_${i} from ${JSON.stringify(p)};`)
|
|
21
|
-
.join("\n");
|
|
22
|
-
const fnsExports = serverModulePaths.map((_p, i) => `_fns_${i}`);
|
|
23
|
-
const allExports = [...fnsExports];
|
|
24
|
-
const appExport = config?.entry
|
|
25
|
-
? `export * from ${JSON.stringify(config.entry)};`
|
|
26
|
-
: `export { createApp } from "${RUNTIME.appModule}";`;
|
|
27
|
-
return emitCode([
|
|
28
|
-
appExport,
|
|
29
|
-
moduleImports,
|
|
30
|
-
allExports.length ? `export { ${allExports.join(", ")} };` : "",
|
|
31
|
-
]
|
|
32
|
-
.filter(Boolean)
|
|
33
|
-
.join("\n"));
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=entry.js.map
|
package/esm/entry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../src/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAA0B,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAqC,EACrC,iBAA2B;IAE3B,MAAM,aAAa,GAAG,iBAAiB;SACpC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;SACjE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,MAAM,EAAE,KAAK;QAC7B,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QAClD,CAAC,CAAC,8BAA8B,OAAO,CAAC,SAAS,IAAI,CAAC;IAExD,OAAO,QAAQ,CACb;QACE,SAAS;QACT,aAAa;QACb,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;KAChE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;AACJ,CAAC"}
|