@liendev/core 0.22.0 → 0.24.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/dist/config/global-config.d.ts +8 -0
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +90 -22
- package/dist/config/global-config.js.map +1 -1
- package/dist/vectordb/factory.js +12 -13
- package/dist/vectordb/factory.js.map +1 -1
- package/dist/vectordb/query.d.ts +5 -4
- package/dist/vectordb/query.d.ts.map +1 -1
- package/dist/vectordb/query.js +17 -15
- package/dist/vectordb/query.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error thrown when config file exists but has invalid syntax or structure.
|
|
3
|
+
* This is separate from "file not found" which is expected behavior.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ConfigValidationError extends Error {
|
|
6
|
+
readonly configPath: string;
|
|
7
|
+
constructor(message: string, configPath: string);
|
|
8
|
+
}
|
|
1
9
|
/**
|
|
2
10
|
* Global configuration for Lien.
|
|
3
11
|
* Only contains what truly needs configuration: storage backend choice.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KAEjB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aACD,UAAU,EAAE,MAAM;gBAAnD,OAAO,EAAE,MAAM,EAAkB,UAAU,EAAE,MAAM;CAIhE;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KAEjB,CAAC;CACH;AAoGD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAuB9D;AA0ED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBjF"}
|
|
@@ -4,6 +4,89 @@ import os from 'os';
|
|
|
4
4
|
import { exec } from 'child_process';
|
|
5
5
|
import { promisify } from 'util';
|
|
6
6
|
const execAsync = promisify(exec);
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when config file exists but has invalid syntax or structure.
|
|
9
|
+
* This is separate from "file not found" which is expected behavior.
|
|
10
|
+
*/
|
|
11
|
+
export class ConfigValidationError extends Error {
|
|
12
|
+
configPath;
|
|
13
|
+
constructor(message, configPath) {
|
|
14
|
+
super(message);
|
|
15
|
+
this.configPath = configPath;
|
|
16
|
+
this.name = 'ConfigValidationError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load configuration from environment variables if present.
|
|
21
|
+
*/
|
|
22
|
+
function loadConfigFromEnv() {
|
|
23
|
+
const backendEnv = process.env.LIEN_BACKEND;
|
|
24
|
+
if (!backendEnv) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
// Validate backend value
|
|
28
|
+
const validBackends = ['lancedb', 'qdrant'];
|
|
29
|
+
if (!validBackends.includes(backendEnv)) {
|
|
30
|
+
throw new ConfigValidationError(`Invalid LIEN_BACKEND environment variable: "${backendEnv}"\n` +
|
|
31
|
+
`Valid values: 'lancedb' or 'qdrant'`, '<environment>');
|
|
32
|
+
}
|
|
33
|
+
const backend = backendEnv;
|
|
34
|
+
if (backend === 'qdrant') {
|
|
35
|
+
const url = process.env.LIEN_QDRANT_URL;
|
|
36
|
+
if (!url) {
|
|
37
|
+
// Fail fast with clear error instead of returning incomplete config
|
|
38
|
+
throw new ConfigValidationError('Qdrant backend requires LIEN_QDRANT_URL environment variable.\n' +
|
|
39
|
+
'Set it with: export LIEN_QDRANT_URL=http://localhost:6333', '<environment>');
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
backend: 'qdrant',
|
|
43
|
+
qdrant: {
|
|
44
|
+
url,
|
|
45
|
+
apiKey: process.env.LIEN_QDRANT_API_KEY,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return { backend };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse and validate a config object.
|
|
53
|
+
*/
|
|
54
|
+
function validateConfig(config, configPath) {
|
|
55
|
+
// Validate backend value
|
|
56
|
+
if (config.backend && !['lancedb', 'qdrant'].includes(config.backend)) {
|
|
57
|
+
throw new ConfigValidationError(`Invalid backend in global config: "${config.backend}"\n` +
|
|
58
|
+
`Config file: ${configPath}\n` +
|
|
59
|
+
`Valid values: 'lancedb' or 'qdrant'`, configPath);
|
|
60
|
+
}
|
|
61
|
+
// Validate Qdrant configuration
|
|
62
|
+
if (config.backend === 'qdrant') {
|
|
63
|
+
if (!config.qdrant) {
|
|
64
|
+
throw new ConfigValidationError(`Qdrant backend requires a "qdrant" configuration section\n` +
|
|
65
|
+
`Config file: ${configPath}\n` +
|
|
66
|
+
`Add: { "qdrant": { "url": "http://localhost:6333" } }`, configPath);
|
|
67
|
+
}
|
|
68
|
+
if (!config.qdrant.url) {
|
|
69
|
+
throw new ConfigValidationError(`Qdrant backend requires qdrant.url in config\n` +
|
|
70
|
+
`Config file: ${configPath}\n` +
|
|
71
|
+
`Add: { "qdrant": { "url": "http://localhost:6333" } }`, configPath);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Parse JSON config file with helpful error messages.
|
|
77
|
+
*/
|
|
78
|
+
function parseConfigFile(content, configPath) {
|
|
79
|
+
try {
|
|
80
|
+
return JSON.parse(content);
|
|
81
|
+
}
|
|
82
|
+
catch (parseError) {
|
|
83
|
+
const errorMsg = parseError instanceof Error ? parseError.message : String(parseError);
|
|
84
|
+
throw new ConfigValidationError(`Failed to parse global config file.\n` +
|
|
85
|
+
`Config file: ${configPath}\n` +
|
|
86
|
+
`Syntax error: ${errorMsg}\n\n` +
|
|
87
|
+
`Please fix the JSON syntax errors in your config file.`, configPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
7
90
|
/**
|
|
8
91
|
* Load global configuration from environment variables or config file.
|
|
9
92
|
*
|
|
@@ -16,39 +99,24 @@ const execAsync = promisify(exec);
|
|
|
16
99
|
*/
|
|
17
100
|
export async function loadGlobalConfig() {
|
|
18
101
|
// 1. Check environment variables first
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
backend: 'qdrant',
|
|
24
|
-
qdrant: {
|
|
25
|
-
url: process.env.LIEN_QDRANT_URL,
|
|
26
|
-
apiKey: process.env.LIEN_QDRANT_API_KEY,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return { backend };
|
|
102
|
+
const envConfig = loadConfigFromEnv();
|
|
103
|
+
if (envConfig) {
|
|
104
|
+
return envConfig;
|
|
31
105
|
}
|
|
32
106
|
// 2. Check global config file
|
|
33
107
|
const configPath = path.join(os.homedir(), '.lien', 'config.json');
|
|
34
108
|
try {
|
|
35
109
|
const content = await fs.readFile(configPath, 'utf-8');
|
|
36
|
-
const config =
|
|
37
|
-
|
|
38
|
-
if (config.backend && !['lancedb', 'qdrant'].includes(config.backend)) {
|
|
39
|
-
throw new Error(`Invalid backend: ${config.backend}. Must be 'lancedb' or 'qdrant'`);
|
|
40
|
-
}
|
|
41
|
-
if (config.backend === 'qdrant' && config.qdrant && !config.qdrant.url) {
|
|
42
|
-
throw new Error('Qdrant backend requires qdrant.url in config');
|
|
43
|
-
}
|
|
110
|
+
const config = parseConfigFile(content, configPath);
|
|
111
|
+
validateConfig(config, configPath);
|
|
44
112
|
return config;
|
|
45
113
|
}
|
|
46
114
|
catch (error) {
|
|
47
115
|
if (error.code === 'ENOENT') {
|
|
48
|
-
// File doesn't exist - use defaults
|
|
116
|
+
// File doesn't exist - use defaults (this is normal)
|
|
49
117
|
return { backend: 'lancedb' };
|
|
50
118
|
}
|
|
51
|
-
// Re-throw validation errors
|
|
119
|
+
// Re-throw all other errors (validation errors, JSON parse errors, etc.)
|
|
52
120
|
throw error;
|
|
53
121
|
}
|
|
54
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"global-config.js","sourceRoot":"","sources":["../../src/config/global-config.ts"],"names":[],"mappings":"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"}
|
package/dist/vectordb/factory.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VectorDB } from './lancedb.js';
|
|
2
2
|
import { QdrantDB } from './qdrant.js';
|
|
3
|
-
import { loadGlobalConfig, extractOrgIdFromGit } from '../config/global-config.js';
|
|
3
|
+
import { loadGlobalConfig, extractOrgIdFromGit, ConfigValidationError } from '../config/global-config.js';
|
|
4
4
|
import { getCurrentBranch, getCurrentCommit } from '../git/utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Validate that a VectorDB instance has the required methods.
|
|
@@ -82,21 +82,20 @@ export async function createVectorDB(projectRoot) {
|
|
|
82
82
|
globalConfig = await loadGlobalConfig();
|
|
83
83
|
}
|
|
84
84
|
catch (error) {
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
if (
|
|
85
|
+
// ConfigValidationError: Config file exists but has syntax/validation errors
|
|
86
|
+
// This should fail hard with a clear error message
|
|
87
|
+
if (error instanceof ConfigValidationError) {
|
|
88
|
+
throw error; // Error message already has helpful details
|
|
89
|
+
}
|
|
90
|
+
// Check if this is a "file not found" error (expected)
|
|
91
|
+
if (error.code === 'ENOENT') {
|
|
91
92
|
// Expected: No config file exists, use default LanceDB (normal for CLI usage)
|
|
92
93
|
return await createLanceDB(projectRoot);
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
`Error: ${errorMessage}`);
|
|
99
|
-
}
|
|
95
|
+
// Any other error: fail hard with details
|
|
96
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
97
|
+
throw new Error('Failed to load global config file. Please check your config file for errors.\n' +
|
|
98
|
+
`Error: ${errorMessage}`);
|
|
100
99
|
}
|
|
101
100
|
// Config loaded successfully - respect the backend choice
|
|
102
101
|
switch (globalConfig.backend) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/vectordb/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/vectordb/query.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ type LanceDBTable = any;
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function search(table: LanceDBTable, queryVector: Float32Array, limit?: number, query?: string): Promise<SearchResult[]>;
|
|
7
7
|
/**
|
|
8
|
-
* Scan the database with filters
|
|
8
|
+
* Scan the database with filters.
|
|
9
|
+
* Scans all records to ensure complete coverage.
|
|
9
10
|
*/
|
|
10
11
|
export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
11
12
|
language?: string;
|
|
@@ -14,6 +15,7 @@ export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
|
14
15
|
}): Promise<SearchResult[]>;
|
|
15
16
|
/**
|
|
16
17
|
* Query symbols (functions, classes, interfaces)
|
|
18
|
+
* Scans all records in the database to find matching symbols.
|
|
17
19
|
*/
|
|
18
20
|
export declare function querySymbols(table: LanceDBTable, options: {
|
|
19
21
|
language?: string;
|
|
@@ -22,9 +24,8 @@ export declare function querySymbols(table: LanceDBTable, options: {
|
|
|
22
24
|
limit?: number;
|
|
23
25
|
}): Promise<SearchResult[]>;
|
|
24
26
|
/**
|
|
25
|
-
* Scan all chunks in the database
|
|
26
|
-
*
|
|
27
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
27
|
+
* Scan all chunks in the database.
|
|
28
|
+
* Returns all records matching the optional filters.
|
|
28
29
|
*/
|
|
29
30
|
export declare function scanAll(table: LanceDBTable, options?: {
|
|
30
31
|
language?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;AAiLxB;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,YAAY,EACzB,KAAK,GAAE,MAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;AAiLxB;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,YAAY,EACzB,KAAK,GAAE,MAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CA0CzB;AA+ED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAoCzB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB"}
|
package/dist/vectordb/query.js
CHANGED
|
@@ -155,7 +155,8 @@ export async function search(table, queryVector, limit = 5, query) {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* Scan the database with filters
|
|
158
|
+
* Scan the database with filters.
|
|
159
|
+
* Scans all records to ensure complete coverage.
|
|
159
160
|
*/
|
|
160
161
|
export async function scanWithFilter(table, options) {
|
|
161
162
|
if (!table) {
|
|
@@ -163,10 +164,12 @@ export async function scanWithFilter(table, options) {
|
|
|
163
164
|
}
|
|
164
165
|
const { language, pattern, limit = 100 } = options;
|
|
165
166
|
try {
|
|
167
|
+
// Get total row count to ensure we scan all records
|
|
168
|
+
const totalRows = await table.countRows();
|
|
166
169
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
167
170
|
const query = table.search(zeroVector)
|
|
168
171
|
.where('file != ""')
|
|
169
|
-
.limit(Math.max(
|
|
172
|
+
.limit(Math.max(totalRows, 1000));
|
|
170
173
|
const results = await query.toArray();
|
|
171
174
|
let filtered = results.filter(isValidRecord);
|
|
172
175
|
if (language) {
|
|
@@ -244,6 +247,7 @@ function buildLegacySymbols(r) {
|
|
|
244
247
|
}
|
|
245
248
|
/**
|
|
246
249
|
* Query symbols (functions, classes, interfaces)
|
|
250
|
+
* Scans all records in the database to find matching symbols.
|
|
247
251
|
*/
|
|
248
252
|
export async function querySymbols(table, options) {
|
|
249
253
|
if (!table) {
|
|
@@ -252,10 +256,14 @@ export async function querySymbols(table, options) {
|
|
|
252
256
|
const { language, pattern, symbolType, limit = 50 } = options;
|
|
253
257
|
const filterOpts = { language, pattern, symbolType };
|
|
254
258
|
try {
|
|
259
|
+
// Get total row count to ensure we scan all records
|
|
260
|
+
const totalRows = await table.countRows();
|
|
261
|
+
// Use zero-vector search with limit >= totalRows to get all records
|
|
262
|
+
// This is the recommended approach for LanceDB full scans
|
|
255
263
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
256
264
|
const query = table.search(zeroVector)
|
|
257
265
|
.where('file != ""')
|
|
258
|
-
.limit(Math.max(
|
|
266
|
+
.limit(Math.max(totalRows, 1000));
|
|
259
267
|
const results = await query.toArray();
|
|
260
268
|
const filtered = results
|
|
261
269
|
.filter((r) => isValidRecord(r) && matchesSymbolFilter(r, filterOpts));
|
|
@@ -274,27 +282,21 @@ export async function querySymbols(table, options) {
|
|
|
274
282
|
}
|
|
275
283
|
}
|
|
276
284
|
/**
|
|
277
|
-
* Scan all chunks in the database
|
|
278
|
-
*
|
|
279
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
285
|
+
* Scan all chunks in the database.
|
|
286
|
+
* Returns all records matching the optional filters.
|
|
280
287
|
*/
|
|
281
288
|
export async function scanAll(table, options = {}) {
|
|
282
289
|
if (!table) {
|
|
283
290
|
throw new DatabaseError('Vector database not initialized');
|
|
284
291
|
}
|
|
285
292
|
try {
|
|
286
|
-
// Get total row count to
|
|
293
|
+
// Get total row count to use as the output limit
|
|
287
294
|
const totalRows = await table.countRows();
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
// then caps output to 'limit'. We pass totalRows so we get all rows back after
|
|
291
|
-
// filtering. The 5x overfetch is acceptable overhead for local DBs.
|
|
292
|
-
const MIN_SCAN_LIMIT = 1000;
|
|
293
|
-
const results = await scanWithFilter(table, {
|
|
295
|
+
// scanWithFilter now handles the full scan internally
|
|
296
|
+
return await scanWithFilter(table, {
|
|
294
297
|
...options,
|
|
295
|
-
limit: Math.max(totalRows,
|
|
298
|
+
limit: Math.max(totalRows, 1000),
|
|
296
299
|
});
|
|
297
|
-
return results;
|
|
298
300
|
}
|
|
299
301
|
catch (error) {
|
|
300
302
|
throw wrapError(error, 'Failed to scan all chunks');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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"}
|