@compresr/sdk 1.5.3 → 1.6.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 +35 -0
- package/dist/cjs/agents/engine.d.ts +30 -0
- package/dist/cjs/agents/engine.d.ts.map +1 -1
- package/dist/cjs/agents/engine.js +127 -9
- package/dist/cjs/agents/engine.js.map +1 -1
- package/dist/cjs/agents/research/agent.d.ts +80 -0
- package/dist/cjs/agents/research/agent.d.ts.map +1 -0
- package/dist/cjs/agents/research/agent.js +329 -0
- package/dist/cjs/agents/research/agent.js.map +1 -0
- package/dist/cjs/agents/research/facade.d.ts +22 -0
- package/dist/cjs/agents/research/facade.d.ts.map +1 -0
- package/dist/cjs/agents/research/facade.js +90 -0
- package/dist/cjs/agents/research/facade.js.map +1 -0
- package/dist/cjs/agents/research/index.d.ts +16 -0
- package/dist/cjs/agents/research/index.d.ts.map +1 -0
- package/dist/cjs/agents/research/index.js +19 -0
- package/dist/cjs/agents/research/index.js.map +1 -0
- package/dist/cjs/agents/research/parser.d.ts +9 -0
- package/dist/cjs/agents/research/parser.d.ts.map +1 -0
- package/dist/cjs/agents/research/parser.js +42 -0
- package/dist/cjs/agents/research/parser.js.map +1 -0
- package/dist/cjs/agents/research/prompts.d.ts +6 -0
- package/dist/cjs/agents/research/prompts.d.ts.map +1 -0
- package/dist/cjs/agents/research/prompts.js +36 -0
- package/dist/cjs/agents/research/prompts.js.map +1 -0
- package/dist/cjs/agents/research/types.d.ts +32 -0
- package/dist/cjs/agents/research/types.d.ts.map +1 -0
- package/dist/cjs/agents/research/types.js +4 -0
- package/dist/cjs/agents/research/types.js.map +1 -0
- package/dist/cjs/agents/tools/web-search.js.map +1 -1
- package/dist/cjs/clients/compression.d.ts +22 -0
- package/dist/cjs/clients/compression.d.ts.map +1 -1
- package/dist/cjs/clients/compression.js +34 -6
- package/dist/cjs/clients/compression.js.map +1 -1
- package/dist/cjs/config/constants.d.ts +0 -1
- package/dist/cjs/config/constants.d.ts.map +1 -1
- package/dist/cjs/config/constants.js +1 -2
- package/dist/cjs/config/constants.js.map +1 -1
- package/dist/cjs/config/index.d.ts +1 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +1 -2
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/http/client.d.ts.map +1 -1
- package/dist/cjs/http/client.js +1 -1
- package/dist/cjs/http/client.js.map +1 -1
- package/dist/cjs/integrations/langchain/middleware.js.map +1 -1
- package/dist/cjs/integrations/langchain/retriever.js +1 -1
- package/dist/cjs/integrations/langchain/retriever.js.map +1 -1
- package/dist/cjs/integrations/langgraph/nodes.js.map +1 -1
- package/dist/cjs/integrations/llamaindex/postprocessor.js +2 -2
- package/dist/cjs/integrations/llamaindex/postprocessor.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agents/engine.d.ts +30 -0
- package/dist/esm/agents/engine.d.ts.map +1 -1
- package/dist/esm/agents/engine.js +127 -9
- package/dist/esm/agents/engine.js.map +1 -1
- package/dist/esm/agents/research/agent.d.ts +80 -0
- package/dist/esm/agents/research/agent.d.ts.map +1 -0
- package/dist/esm/agents/research/agent.js +292 -0
- package/dist/esm/agents/research/agent.js.map +1 -0
- package/dist/esm/agents/research/facade.d.ts +22 -0
- package/dist/esm/agents/research/facade.d.ts.map +1 -0
- package/dist/esm/agents/research/facade.js +53 -0
- package/dist/esm/agents/research/facade.js.map +1 -0
- package/dist/esm/agents/research/index.d.ts +16 -0
- package/dist/esm/agents/research/index.d.ts.map +1 -0
- package/dist/esm/agents/research/index.js +12 -0
- package/dist/esm/agents/research/index.js.map +1 -0
- package/dist/esm/agents/research/parser.d.ts +9 -0
- package/dist/esm/agents/research/parser.d.ts.map +1 -0
- package/dist/esm/agents/research/parser.js +39 -0
- package/dist/esm/agents/research/parser.js.map +1 -0
- package/dist/esm/agents/research/prompts.d.ts +6 -0
- package/dist/esm/agents/research/prompts.d.ts.map +1 -0
- package/dist/esm/agents/research/prompts.js +33 -0
- package/dist/esm/agents/research/prompts.js.map +1 -0
- package/dist/esm/agents/research/types.d.ts +32 -0
- package/dist/esm/agents/research/types.d.ts.map +1 -0
- package/dist/esm/agents/research/types.js +3 -0
- package/dist/esm/agents/research/types.js.map +1 -0
- package/dist/esm/agents/tools/web-search.js.map +1 -1
- package/dist/esm/clients/compression.d.ts +22 -0
- package/dist/esm/clients/compression.d.ts.map +1 -1
- package/dist/esm/clients/compression.js +34 -6
- package/dist/esm/clients/compression.js.map +1 -1
- package/dist/esm/config/constants.d.ts +0 -1
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/constants.js +0 -1
- package/dist/esm/config/constants.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/http/client.d.ts.map +1 -1
- package/dist/esm/http/client.js +2 -2
- package/dist/esm/http/client.js.map +1 -1
- package/dist/esm/integrations/langchain/middleware.js.map +1 -1
- package/dist/esm/integrations/langchain/retriever.js +1 -1
- package/dist/esm/integrations/langchain/retriever.js.map +1 -1
- package/dist/esm/integrations/langgraph/nodes.js.map +1 -1
- package/dist/esm/integrations/llamaindex/postprocessor.js +2 -2
- package/dist/esm/integrations/llamaindex/postprocessor.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +10 -7
|
@@ -97,7 +97,7 @@ async function importLangChain() {
|
|
|
97
97
|
try {
|
|
98
98
|
mod = (await import('langchain'));
|
|
99
99
|
}
|
|
100
|
-
catch
|
|
100
|
+
catch {
|
|
101
101
|
throw new CompresrError('CompresrEngine requires langchain>=1.0. Install with: ' +
|
|
102
102
|
'npm install langchain @langchain/core', 'missing_peer_dependency');
|
|
103
103
|
}
|
|
@@ -286,6 +286,14 @@ const USAGE_NUMERIC_KEYS = [
|
|
|
286
286
|
'cache_read_input_tokens',
|
|
287
287
|
'cache_creation_input_tokens',
|
|
288
288
|
];
|
|
289
|
+
// Provider-specific cache-read aliases under input_token_details.
|
|
290
|
+
const INPUT_DETAILS_CACHE_READ_ALIASES = [
|
|
291
|
+
'cached_tokens',
|
|
292
|
+
'cache_read',
|
|
293
|
+
'priority_cache_read',
|
|
294
|
+
'flex_cache_read',
|
|
295
|
+
'cached_content_token_count',
|
|
296
|
+
];
|
|
289
297
|
function aggregateUsage(messages) {
|
|
290
298
|
const total = {};
|
|
291
299
|
for (const k of USAGE_NUMERIC_KEYS)
|
|
@@ -314,10 +322,26 @@ function aggregateUsage(messages) {
|
|
|
314
322
|
const details = rawPer?.['input_token_details'];
|
|
315
323
|
if (details && typeof details === 'object') {
|
|
316
324
|
const d = details;
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
325
|
+
let msgCacheRead = 0;
|
|
326
|
+
for (const alias of INPUT_DETAILS_CACHE_READ_ALIASES) {
|
|
327
|
+
const v = d[alias];
|
|
328
|
+
if (typeof v === 'number')
|
|
329
|
+
msgCacheRead += v;
|
|
330
|
+
}
|
|
331
|
+
// langchain-anthropic zeroes cache_creation when ttl-specific keys are set.
|
|
332
|
+
const ttl5m = typeof d['ephemeral_5m_input_tokens'] === 'number' ? (d['ephemeral_5m_input_tokens']) : 0;
|
|
333
|
+
const ttl1h = typeof d['ephemeral_1h_input_tokens'] === 'number' ? (d['ephemeral_1h_input_tokens']) : 0;
|
|
334
|
+
const ttlWrites = ttl5m + ttl1h;
|
|
335
|
+
const genericCreate = typeof d['cache_creation'] === 'number' ? (d['cache_creation']) : 0;
|
|
336
|
+
const msgCacheCreate = ttlWrites > 0 ? ttlWrites : genericCreate;
|
|
337
|
+
total['cache_read_input_tokens'] += msgCacheRead;
|
|
338
|
+
total['cache_creation_input_tokens'] += msgCacheCreate;
|
|
339
|
+
// langchain-anthropic 1.x inflates input_tokens to fresh+read+create.
|
|
340
|
+
const thisInput = typeof rawPer?.['input_tokens'] === 'number' ? (rawPer['input_tokens']) : 0;
|
|
341
|
+
if ((msgCacheRead > 0 || msgCacheCreate > 0) && thisInput > 0) {
|
|
342
|
+
const overcount = msgCacheRead + msgCacheCreate;
|
|
343
|
+
total['input_tokens'] -= Math.min(overcount, thisInput);
|
|
344
|
+
}
|
|
321
345
|
}
|
|
322
346
|
}
|
|
323
347
|
for (const [k, v] of Object.entries(per)) {
|
|
@@ -330,6 +354,26 @@ function aggregateUsage(messages) {
|
|
|
330
354
|
total['ai_message_count'] = aiMessageCount;
|
|
331
355
|
return total;
|
|
332
356
|
}
|
|
357
|
+
function toolName(t) {
|
|
358
|
+
const n = t?.name;
|
|
359
|
+
if (typeof n === 'string')
|
|
360
|
+
return n;
|
|
361
|
+
if (t && typeof t === 'object' && typeof t['name'] === 'string') {
|
|
362
|
+
return t['name'];
|
|
363
|
+
}
|
|
364
|
+
return '';
|
|
365
|
+
}
|
|
366
|
+
function sortedToolsForCache(tools) {
|
|
367
|
+
const indexed = tools.map((t, i) => ({ t, i }));
|
|
368
|
+
indexed.sort((a, b) => {
|
|
369
|
+
const an = toolName(a.t);
|
|
370
|
+
const bn = toolName(b.t);
|
|
371
|
+
if (an !== bn)
|
|
372
|
+
return an < bn ? -1 : 1;
|
|
373
|
+
return a.i - b.i;
|
|
374
|
+
});
|
|
375
|
+
return indexed.map(({ t }) => t);
|
|
376
|
+
}
|
|
333
377
|
function lastAiMessage(messages) {
|
|
334
378
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
335
379
|
const msg = messages[i];
|
|
@@ -354,6 +398,10 @@ export class CompresrEngine {
|
|
|
354
398
|
llmApiKey;
|
|
355
399
|
policy;
|
|
356
400
|
chatModels = new Map();
|
|
401
|
+
enablePromptCache;
|
|
402
|
+
promptCacheTtl;
|
|
403
|
+
promptCacheMinMessages;
|
|
404
|
+
openaiPromptCacheKey;
|
|
357
405
|
constructor(options) {
|
|
358
406
|
const { provider, modelName } = parseLlmSpec(options.llm);
|
|
359
407
|
if (!KNOWN_PROVIDERS.has(provider)) {
|
|
@@ -368,6 +416,12 @@ export class CompresrEngine {
|
|
|
368
416
|
this.llmApiKey = options.llmApiKey;
|
|
369
417
|
}
|
|
370
418
|
this.policy = resolvePolicy(options.policy);
|
|
419
|
+
this.enablePromptCache = options.enablePromptCache ?? true;
|
|
420
|
+
this.promptCacheTtl = options.promptCacheTtl ?? '5m';
|
|
421
|
+
this.promptCacheMinMessages = options.promptCacheMinMessages ?? 2;
|
|
422
|
+
if (options.openaiPromptCacheKey !== undefined) {
|
|
423
|
+
this.openaiPromptCacheKey = options.openaiPromptCacheKey;
|
|
424
|
+
}
|
|
371
425
|
}
|
|
372
426
|
/**
|
|
373
427
|
* Back-compat alias for ``defaultModelName`` — returns the constructor
|
|
@@ -377,6 +431,30 @@ export class CompresrEngine {
|
|
|
377
431
|
get modelName() {
|
|
378
432
|
return this.defaultModelName;
|
|
379
433
|
}
|
|
434
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
435
|
+
async _getChatModel(modelName) {
|
|
436
|
+
return this.getChatModel(modelName);
|
|
437
|
+
}
|
|
438
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
439
|
+
get _compresrClient() {
|
|
440
|
+
return this.compresrClient;
|
|
441
|
+
}
|
|
442
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
443
|
+
_resolveModel(model) {
|
|
444
|
+
const effective = model ?? this.defaultModelName;
|
|
445
|
+
if (!effective) {
|
|
446
|
+
throw new Error("model is required — set it on the client (llm: 'anthropic:claude-...') or pass it to .research.run({ model: '...' }).");
|
|
447
|
+
}
|
|
448
|
+
return effective;
|
|
449
|
+
}
|
|
450
|
+
/** @internal — read by ResearchAgent for manual cache_control stamping. */
|
|
451
|
+
get _promptCacheConfig() {
|
|
452
|
+
return {
|
|
453
|
+
enabled: this.enablePromptCache,
|
|
454
|
+
ttl: this.promptCacheTtl,
|
|
455
|
+
minMessages: this.promptCacheMinMessages,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
380
458
|
async getChatModel(modelName, extraKwargs) {
|
|
381
459
|
// LangChain.js's bind_tools strips a prior chat.bind(...)'s kwargs, so
|
|
382
460
|
// we bake the per-call knobs (maxTokens, temperature, …) into the chat-
|
|
@@ -389,6 +467,13 @@ export class CompresrEngine {
|
|
|
389
467
|
const kwargs = { ...(extraKwargs ?? {}) };
|
|
390
468
|
if (this.llmApiKey !== undefined)
|
|
391
469
|
kwargs['apiKey'] = this.llmApiKey;
|
|
470
|
+
if (this.provider === 'openai' && this.enablePromptCache) {
|
|
471
|
+
const openaiExtra = this.openaiCacheModelKwargs();
|
|
472
|
+
if (Object.keys(openaiExtra).length > 0) {
|
|
473
|
+
const existing = kwargs['modelKwargs'] ?? {};
|
|
474
|
+
kwargs['modelKwargs'] = { ...existing, ...openaiExtra };
|
|
475
|
+
}
|
|
476
|
+
}
|
|
392
477
|
let chat;
|
|
393
478
|
if (this.provider === 'openai') {
|
|
394
479
|
try {
|
|
@@ -407,6 +492,16 @@ export class CompresrEngine {
|
|
|
407
492
|
this.chatModels.set(cacheKey, chat);
|
|
408
493
|
return chat;
|
|
409
494
|
}
|
|
495
|
+
openaiCacheModelKwargs() {
|
|
496
|
+
const out = {};
|
|
497
|
+
if (this.openaiPromptCacheKey)
|
|
498
|
+
out['prompt_cache_key'] = this.openaiPromptCacheKey;
|
|
499
|
+
// Only set the retention override when caller asked for "1h" (24h tier);
|
|
500
|
+
// default "5m" leaves OpenAI's server default ("in_memory") untouched.
|
|
501
|
+
if (this.promptCacheTtl === '1h')
|
|
502
|
+
out['prompt_cache_retention'] = '24h';
|
|
503
|
+
return out;
|
|
504
|
+
}
|
|
410
505
|
async buildMiddleware() {
|
|
411
506
|
// Lazy-load the existing langchain middleware so importing the engine
|
|
412
507
|
// doesn't drag in @langchain/core at module load.
|
|
@@ -426,16 +521,39 @@ export class CompresrEngine {
|
|
|
426
521
|
if (this.policy.ignoreTools !== undefined) {
|
|
427
522
|
mwOpts['ignoreTools'] = this.policy.ignoreTools;
|
|
428
523
|
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
524
|
+
const mw = [compresrToolMiddleware(mwOpts)];
|
|
525
|
+
const cacheMw = await this.maybeBuildCacheMiddleware();
|
|
526
|
+
if (cacheMw !== null) {
|
|
527
|
+
// AFTER compresrToolMiddleware so cache markers stamp post-compression content.
|
|
528
|
+
mw.push(cacheMw);
|
|
529
|
+
}
|
|
530
|
+
return mw;
|
|
531
|
+
}
|
|
532
|
+
/** Anthropic prompt-cache middleware when enabled. Silent no-op on older langchain. */
|
|
533
|
+
async maybeBuildCacheMiddleware() {
|
|
534
|
+
if (!this.enablePromptCache || this.provider !== 'anthropic')
|
|
535
|
+
return null;
|
|
536
|
+
try {
|
|
537
|
+
const mod = (await import('langchain'));
|
|
538
|
+
const factory = mod.anthropicPromptCachingMiddleware;
|
|
539
|
+
if (typeof factory !== 'function')
|
|
540
|
+
return null;
|
|
541
|
+
return factory({
|
|
542
|
+
ttl: this.promptCacheTtl,
|
|
543
|
+
minMessagesToCache: this.promptCacheMinMessages,
|
|
544
|
+
unsupportedModelBehavior: 'ignore',
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
catch {
|
|
548
|
+
return null;
|
|
549
|
+
}
|
|
432
550
|
}
|
|
433
551
|
async buildAgent(chat, tools, system) {
|
|
434
552
|
const { createAgent } = await importLangChain();
|
|
435
553
|
const middleware = await this.buildMiddleware();
|
|
436
554
|
const params = {
|
|
437
555
|
model: chat,
|
|
438
|
-
tools:
|
|
556
|
+
tools: sortedToolsForCache(tools),
|
|
439
557
|
middleware,
|
|
440
558
|
};
|
|
441
559
|
if (system !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ResearchAgent` — strict-output ReAct loop with per-snippet compression.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the Python implementation in `compresr/agents/research/agent.py`.
|
|
5
|
+
* Bypasses `_Engine.run` so we can set `tool_choice` per step and compress
|
|
6
|
+
* each tool result before it enters the conversation.
|
|
7
|
+
*/
|
|
8
|
+
import type { ResearchResult } from './types.js';
|
|
9
|
+
interface CompresrClientLike {
|
|
10
|
+
compress(opts: {
|
|
11
|
+
context: string;
|
|
12
|
+
query?: string;
|
|
13
|
+
compressionModelName?: string;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
data?: {
|
|
16
|
+
compressedContext?: string;
|
|
17
|
+
compressed_context?: string;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
interface ChatModelLike {
|
|
22
|
+
bindTools(tools: ReadonlyArray<unknown>, options: {
|
|
23
|
+
tool_choice: string;
|
|
24
|
+
}): {
|
|
25
|
+
invoke(messages: unknown[]): Promise<unknown>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
interface SearchToolLike {
|
|
29
|
+
name?: string;
|
|
30
|
+
invoke(args: Record<string, unknown>): Promise<unknown>;
|
|
31
|
+
}
|
|
32
|
+
interface ResearchEngine {
|
|
33
|
+
readonly provider: string;
|
|
34
|
+
readonly defaultModelName?: string;
|
|
35
|
+
_resolveModel(model?: string): string;
|
|
36
|
+
_getChatModel(modelName: string): Promise<ChatModelLike>;
|
|
37
|
+
readonly _compresrClient: CompresrClientLike;
|
|
38
|
+
readonly _promptCacheConfig: {
|
|
39
|
+
readonly enabled: boolean;
|
|
40
|
+
readonly ttl: '5m' | '1h';
|
|
41
|
+
readonly minMessages: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface ResearchAgentOptions {
|
|
45
|
+
engine: ResearchEngine;
|
|
46
|
+
searchTool: SearchToolLike;
|
|
47
|
+
maxSteps?: number;
|
|
48
|
+
systemPrompt?: string;
|
|
49
|
+
compressSnippets?: boolean;
|
|
50
|
+
compressionModel?: string;
|
|
51
|
+
minCompressTokens?: number;
|
|
52
|
+
maxContextTokens?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ResearchRunOptions {
|
|
55
|
+
model?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare class ResearchAgent {
|
|
58
|
+
private readonly engine;
|
|
59
|
+
private readonly searchTool;
|
|
60
|
+
private readonly maxSteps;
|
|
61
|
+
private readonly systemPrompt;
|
|
62
|
+
private readonly compressSnippets;
|
|
63
|
+
private readonly compressionModel;
|
|
64
|
+
private readonly minCompressTokens;
|
|
65
|
+
private readonly maxContextTokens;
|
|
66
|
+
constructor(options: ResearchAgentOptions);
|
|
67
|
+
run(question: string, runOptions?: ResearchRunOptions): Promise<ResearchResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Mirrors AnthropicPromptCachingMiddleware for the bypass path — research
|
|
70
|
+
* doesn't go through createAgent so we stamp cache_control manually.
|
|
71
|
+
*/
|
|
72
|
+
private applyCacheControl;
|
|
73
|
+
private invokeSearch;
|
|
74
|
+
private compress;
|
|
75
|
+
private maybeTruncate;
|
|
76
|
+
private aggregateUsage;
|
|
77
|
+
private collectCitations;
|
|
78
|
+
}
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../../src/agents/research/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAY,cAAc,EAAuB,MAAM,YAAY,CAAC;AAEhF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC;QACV,IAAI,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACpE,CAAC,CAAC;CACJ;AAED,UAAU,aAAa;IACrB,SAAS,CACP,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACtD;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAwBD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,OAAO,EAAE,oBAAoB;IAWnC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAyFzF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YAmCX,YAAY;YAcZ,QAAQ;IAiBtB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;CAazB"}
|