@roarpeng/graphflow 1.1.0 → 1.2.0
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 +1 -1
- package/dist/agents/insight.js +1 -1
- package/dist/agents/insight.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/embedding-factory.d.ts.map +1 -1
- package/dist/config/embedding-factory.js +23 -12
- package/dist/config/embedding-factory.js.map +1 -1
- package/dist/config/loader.d.ts +11 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +103 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/core/agent-assignment.d.ts +39 -0
- package/dist/core/agent-assignment.d.ts.map +1 -0
- package/dist/core/agent-assignment.js +73 -0
- package/dist/core/agent-assignment.js.map +1 -0
- package/dist/core/dag-checkpoint.d.ts +83 -0
- package/dist/core/dag-checkpoint.d.ts.map +1 -0
- package/dist/core/dag-checkpoint.js +164 -0
- package/dist/core/dag-checkpoint.js.map +1 -0
- package/dist/core/dag-engine.d.ts +9 -0
- package/dist/core/dag-engine.d.ts.map +1 -1
- package/dist/core/dag-engine.js +42 -0
- package/dist/core/dag-engine.js.map +1 -1
- package/dist/core/orchestrator-context.d.ts +10 -0
- package/dist/core/orchestrator-context.d.ts.map +1 -0
- package/dist/core/orchestrator-context.js +112 -0
- package/dist/core/orchestrator-context.js.map +1 -0
- package/dist/core/orchestrator-episode.d.ts +13 -0
- package/dist/core/orchestrator-episode.d.ts.map +1 -0
- package/dist/core/orchestrator-episode.js +128 -0
- package/dist/core/orchestrator-episode.js.map +1 -0
- package/dist/core/orchestrator-route.d.ts +20 -0
- package/dist/core/orchestrator-route.d.ts.map +1 -0
- package/dist/core/orchestrator-route.js +51 -0
- package/dist/core/orchestrator-route.js.map +1 -0
- package/dist/core/orchestrator.d.ts +2 -38
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +97 -286
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/triage.d.ts +21 -0
- package/dist/core/triage.d.ts.map +1 -1
- package/dist/core/triage.js +25 -6
- package/dist/core/triage.js.map +1 -1
- package/dist/core/types.d.ts +53 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/graph/context-slicer-types.d.ts +62 -0
- package/dist/graph/context-slicer-types.d.ts.map +1 -0
- package/dist/graph/context-slicer-types.js +13 -0
- package/dist/graph/context-slicer-types.js.map +1 -0
- package/dist/graph/context-slicer-utils.d.ts +24 -0
- package/dist/graph/context-slicer-utils.d.ts.map +1 -0
- package/dist/graph/context-slicer-utils.js +118 -0
- package/dist/graph/context-slicer-utils.js.map +1 -0
- package/dist/graph/context-slicer.d.ts +6 -61
- package/dist/graph/context-slicer.d.ts.map +1 -1
- package/dist/graph/context-slicer.js +73 -170
- package/dist/graph/context-slicer.js.map +1 -1
- package/dist/graph/file-indexer-cache.d.ts +34 -0
- package/dist/graph/file-indexer-cache.d.ts.map +1 -0
- package/dist/graph/file-indexer-cache.js +105 -0
- package/dist/graph/file-indexer-cache.js.map +1 -0
- package/dist/graph/file-indexer-edges.d.ts +55 -0
- package/dist/graph/file-indexer-edges.d.ts.map +1 -0
- package/dist/graph/file-indexer-edges.js +258 -0
- package/dist/graph/file-indexer-edges.js.map +1 -0
- package/dist/graph/file-indexer-nodes.d.ts +43 -0
- package/dist/graph/file-indexer-nodes.d.ts.map +1 -0
- package/dist/graph/file-indexer-nodes.js +137 -0
- package/dist/graph/file-indexer-nodes.js.map +1 -0
- package/dist/graph/file-indexer-walker.d.ts +35 -0
- package/dist/graph/file-indexer-walker.d.ts.map +1 -0
- package/dist/graph/file-indexer-walker.js +80 -0
- package/dist/graph/file-indexer-walker.js.map +1 -0
- package/dist/graph/file-indexer.d.ts +13 -39
- package/dist/graph/file-indexer.d.ts.map +1 -1
- package/dist/graph/file-indexer.js +167 -600
- package/dist/graph/file-indexer.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/agent-mcp-installer.d.ts +25 -1
- package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
- package/dist/integrations/agent-mcp-installer.js +160 -4
- package/dist/integrations/agent-mcp-installer.js.map +1 -1
- package/dist/integrations/skill-installer.d.ts +50 -0
- package/dist/integrations/skill-installer.d.ts.map +1 -0
- package/dist/integrations/skill-installer.js +373 -0
- package/dist/integrations/skill-installer.js.map +1 -0
- package/dist/learning/embeddings.d.ts +11 -0
- package/dist/learning/embeddings.d.ts.map +1 -1
- package/dist/learning/embeddings.js +24 -0
- package/dist/learning/embeddings.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts +3 -2
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +105 -10
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/learning/local-embedding.d.ts.map +1 -1
- package/dist/learning/local-embedding.js +16 -0
- package/dist/learning/local-embedding.js.map +1 -1
- package/dist/learning/seed-skills.d.ts +21 -0
- package/dist/learning/seed-skills.d.ts.map +1 -0
- package/dist/learning/seed-skills.js +113 -0
- package/dist/learning/seed-skills.js.map +1 -0
- package/dist/learning/skill-evolution.d.ts +1 -1
- package/dist/learning/skill-evolution.d.ts.map +1 -1
- package/dist/learning/skill-evolution.js +1 -1
- package/dist/learning/skill-evolution.js.map +1 -1
- package/dist/learning/skill-package.d.ts +55 -0
- package/dist/learning/skill-package.d.ts.map +1 -0
- package/dist/learning/skill-package.js +115 -0
- package/dist/learning/skill-package.js.map +1 -0
- package/dist/learning/triage-telemetry.d.ts +43 -0
- package/dist/learning/triage-telemetry.d.ts.map +1 -0
- package/dist/learning/triage-telemetry.js +114 -0
- package/dist/learning/triage-telemetry.js.map +1 -0
- package/dist/surfaces/cli/index.js +65 -0
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/init.d.ts +12 -2
- package/dist/surfaces/cli/init.d.ts.map +1 -1
- package/dist/surfaces/cli/init.js +109 -30
- package/dist/surfaces/cli/init.js.map +1 -1
- package/dist/surfaces/cli/output.d.ts.map +1 -1
- package/dist/surfaces/cli/output.js +5 -0
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/graph.d.ts +23 -0
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +40 -0
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +8 -1
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +1 -1
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +4 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.js +20 -20
- package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
- package/package.json +3 -3
- package/scripts/safe-postinstall.cjs +323 -5
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* file-indexer-walker.ts — File traversal and filtering
|
|
3
|
+
*
|
|
4
|
+
* Responsible for discovering scannable files in a workspace,
|
|
5
|
+
* applying extension filters, and respecting ignore lists.
|
|
6
|
+
*/
|
|
7
|
+
export interface FileIndexerOptions {
|
|
8
|
+
includeExtensions?: string[];
|
|
9
|
+
maxFileSizeBytes?: number;
|
|
10
|
+
/** When true, ignore index cache and re-process every file. */
|
|
11
|
+
forceReindex?: boolean;
|
|
12
|
+
/** 并行索引文件时的并发数,默认 10。仅 indexWorkspaceFiles 使用。 */
|
|
13
|
+
concurrency?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ScannedFile {
|
|
16
|
+
absPath: string;
|
|
17
|
+
relPath: string;
|
|
18
|
+
size: number;
|
|
19
|
+
mtimeMs: number;
|
|
20
|
+
}
|
|
21
|
+
export declare const DEFAULT_EXTENSIONS: string[];
|
|
22
|
+
export declare const DEFAULT_MAX_FILE_SIZE = 200000;
|
|
23
|
+
export declare const IGNORED_DIRS: Set<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Walk the workspace and return scannable files with metadata.
|
|
26
|
+
*/
|
|
27
|
+
export declare function walkScannableFiles(rootDir: string, includeExtensions: string[], maxFileSizeBytes: number): ScannedFile[];
|
|
28
|
+
/**
|
|
29
|
+
* Recursively walk directories, skipping IGNORED_DIRS, returning files
|
|
30
|
+
* whose extension matches `includeExtensions`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function walkFiles(rootDir: string, includeExtensions: string[]): string[];
|
|
33
|
+
export declare function normalizePath(pathText: string): string;
|
|
34
|
+
export declare function extOf(relPath: string): string;
|
|
35
|
+
//# sourceMappingURL=file-indexer-walker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-indexer-walker.d.ts","sourceRoot":"","sources":["../../src/graph/file-indexer-walker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,eAAO,MAAM,kBAAkB,UAE9B,CAAC;AACF,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAE7C,eAAO,MAAM,YAAY,aAIvB,CAAC;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,EAAE,EAC3B,gBAAgB,EAAE,MAAM,GACvB,WAAW,EAAE,CAkBf;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwBhF;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* file-indexer-walker.ts — File traversal and filtering
|
|
4
|
+
*
|
|
5
|
+
* Responsible for discovering scannable files in a workspace,
|
|
6
|
+
* applying extension filters, and respecting ignore lists.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.IGNORED_DIRS = exports.DEFAULT_MAX_FILE_SIZE = exports.DEFAULT_EXTENSIONS = void 0;
|
|
10
|
+
exports.walkScannableFiles = walkScannableFiles;
|
|
11
|
+
exports.walkFiles = walkFiles;
|
|
12
|
+
exports.normalizePath = normalizePath;
|
|
13
|
+
exports.extOf = extOf;
|
|
14
|
+
const node_fs_1 = require("node:fs");
|
|
15
|
+
const node_path_1 = require("node:path");
|
|
16
|
+
const index_js_1 = require("./language-indexers/index.js");
|
|
17
|
+
const BASE_EXTENSIONS = [".md", ".json"];
|
|
18
|
+
exports.DEFAULT_EXTENSIONS = Array.from(new Set([...index_js_1.ALL_LANGUAGE_EXTENSIONS, ...BASE_EXTENSIONS]));
|
|
19
|
+
exports.DEFAULT_MAX_FILE_SIZE = 200_000;
|
|
20
|
+
exports.IGNORED_DIRS = new Set([
|
|
21
|
+
".git", "node_modules", "dist", "coverage", "tmp", "venv", ".venv", "env", ".env",
|
|
22
|
+
"__pycache__", ".vscode", ".idea", ".next", "build", "install", "log",
|
|
23
|
+
".graphflow-cache", "graphflow-out",
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Walk the workspace and return scannable files with metadata.
|
|
27
|
+
*/
|
|
28
|
+
function walkScannableFiles(rootDir, includeExtensions, maxFileSizeBytes) {
|
|
29
|
+
const files = walkFiles(rootDir, includeExtensions);
|
|
30
|
+
const scanned = [];
|
|
31
|
+
for (const absPath of files) {
|
|
32
|
+
const stat = (0, node_fs_1.statSync)(absPath);
|
|
33
|
+
if (stat.size > maxFileSizeBytes) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
scanned.push({
|
|
37
|
+
absPath,
|
|
38
|
+
relPath: normalizePath((0, node_path_1.relative)(rootDir, absPath)),
|
|
39
|
+
size: stat.size,
|
|
40
|
+
mtimeMs: stat.mtimeMs,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return scanned;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Recursively walk directories, skipping IGNORED_DIRS, returning files
|
|
47
|
+
* whose extension matches `includeExtensions`.
|
|
48
|
+
*/
|
|
49
|
+
function walkFiles(rootDir, includeExtensions) {
|
|
50
|
+
const entries = (0, node_fs_1.readdirSync)(rootDir, { withFileTypes: true });
|
|
51
|
+
const files = [];
|
|
52
|
+
for (const entry of entries) {
|
|
53
|
+
const full = (0, node_path_1.join)(rootDir, entry.name);
|
|
54
|
+
if (entry.isSymbolicLink()) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (entry.isDirectory()) {
|
|
58
|
+
if (exports.IGNORED_DIRS.has(entry.name)) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
files.push(...walkFiles(full, includeExtensions));
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (includeExtensions.some((ext) => entry.name.endsWith(ext))) {
|
|
65
|
+
files.push(full);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return files;
|
|
69
|
+
}
|
|
70
|
+
function normalizePath(pathText) {
|
|
71
|
+
return pathText.replace(/\\/g, "/");
|
|
72
|
+
}
|
|
73
|
+
function extOf(relPath) {
|
|
74
|
+
const idx = relPath.lastIndexOf(".");
|
|
75
|
+
if (idx < 0) {
|
|
76
|
+
return "";
|
|
77
|
+
}
|
|
78
|
+
return relPath.slice(idx).toLowerCase();
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=file-indexer-walker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-indexer-walker.js","sourceRoot":"","sources":["../../src/graph/file-indexer-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/** Returns true when workspace files changed since last index (or cache is empty). */
|
|
15
|
-
export declare function hasPendingGraphIndexWork(rootDir: string, options?: Pick<FileIndexerOptions, "includeExtensions" | "maxFileSizeBytes" | "forceReindex">): boolean;
|
|
1
|
+
/**
|
|
2
|
+
* file-indexer.ts — Main entry point for file indexing
|
|
3
|
+
*
|
|
4
|
+
* Re-exports public API and implements the two main indexing functions:
|
|
5
|
+
* - indexWorkspaceFiles: full workspace batch indexing
|
|
6
|
+
* - indexSingleFile: incremental single-file indexing
|
|
7
|
+
*/
|
|
8
|
+
import type { GraphClient } from "./client-factory.js";
|
|
9
|
+
export type { FileIndexerOptions } from "./file-indexer-walker.js";
|
|
10
|
+
export { DEFAULT_EXTENSIONS, DEFAULT_MAX_FILE_SIZE } from "./file-indexer-walker.js";
|
|
11
|
+
export { clearGraphIndexArtifacts, hasPendingGraphIndexWork, hasIndexCache } from "./file-indexer-cache.js";
|
|
12
|
+
export { resolveCallerAtLine } from "./file-indexer-nodes.js";
|
|
13
|
+
import type { FileIndexerOptions } from "./file-indexer-walker.js";
|
|
16
14
|
export declare function indexWorkspaceFiles(client: GraphClient, rootDir: string, options?: FileIndexerOptions): Promise<{
|
|
17
15
|
indexedFiles: number;
|
|
18
16
|
indexedSymbols: number;
|
|
19
17
|
indexedReferences: number;
|
|
20
18
|
}>;
|
|
21
|
-
/** Innermost declared symbol at or before `line` (for call attribution when caller name is missing). */
|
|
22
|
-
export declare function resolveCallerAtLine(declared: Array<Pick<IndexedSymbol, "line" | "nodeId">>, line: number): string | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Incremental single-file indexing — borrowed from codebase-memory-mcp's
|
|
25
|
-
* file-watcher pattern. Allows VS Code onSave hooks (or any file watcher)
|
|
26
|
-
* to update the graph for one changed file without walking the entire workspace.
|
|
27
|
-
*
|
|
28
|
-
* Steps:
|
|
29
|
-
* 1. Prune existing nodes/edges for the file (if any)
|
|
30
|
-
* 2. Extract symbols + imports via the language indexer
|
|
31
|
-
* 3. Upsert new nodes/edges
|
|
32
|
-
* 4. Update the index cache entry for this file
|
|
33
|
-
*
|
|
34
|
-
* @param client Graph client
|
|
35
|
-
* @param rootDir Workspace root (for relative path + cache location)
|
|
36
|
-
* @param absPath Absolute path to the file to index
|
|
37
|
-
* @param options Optional config
|
|
38
|
-
*/
|
|
39
19
|
export declare function indexSingleFile(client: GraphClient, rootDir: string, absPath: string, options?: {
|
|
40
20
|
includeExtensions?: string[];
|
|
41
21
|
maxFileSizeBytes?: number;
|
|
@@ -46,10 +26,4 @@ export declare function indexSingleFile(client: GraphClient, rootDir: string, ab
|
|
|
46
26
|
skipped: boolean;
|
|
47
27
|
reason?: string;
|
|
48
28
|
}>;
|
|
49
|
-
/**
|
|
50
|
-
* Quick check whether the index cache exists and is non-empty.
|
|
51
|
-
* Cheaper than hasPendingGraphIndexWork (no full workspace walk).
|
|
52
|
-
*/
|
|
53
|
-
export declare function hasIndexCache(rootDir: string): boolean;
|
|
54
|
-
export {};
|
|
55
29
|
//# sourceMappingURL=file-indexer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-indexer.d.ts","sourceRoot":"","sources":["../../src/graph/file-indexer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-indexer.d.ts","sourceRoot":"","sources":["../../src/graph/file-indexer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAwHnE,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAsFtF;AAID,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACpE,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4GzH"}
|