@argosvix/sdk 0.4.12-alpha.0 → 0.4.14-alpha.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 +50 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +116 -54
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/langchainCallback.d.ts +90 -0
- package/dist/langchainCallback.d.ts.map +1 -0
- package/dist/langchainCallback.js +236 -0
- package/dist/langchainCallback.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -145,6 +145,24 @@ calls through when the backend is unreachable; `"fail_closed"` blocks while the
|
|
|
145
145
|
state is stale (`ArgosvixBudgetGateUnavailableError`). Set `budgetGateFailClosed: true`
|
|
146
146
|
to also block before the first successful fetch.
|
|
147
147
|
|
|
148
|
+
> Budget-gate accuracy: the gate's local spend correction is best-effort. It can only
|
|
149
|
+
> account for calls whose cost the SDK can compute. Calls with an unknown model, or calls
|
|
150
|
+
> that error before returning usage, are recorded at $0 and therefore do not accrue toward
|
|
151
|
+
> the local cap between server refreshes. For streaming, the SDK auto-enables OpenAI usage
|
|
152
|
+
> reporting (see Cost accuracy below) so streamed spend is counted.
|
|
153
|
+
|
|
154
|
+
### Cost accuracy notes
|
|
155
|
+
|
|
156
|
+
- **Streaming (OpenAI):** the SDK automatically enables `stream_options.include_usage` for
|
|
157
|
+
streamed calls so token usage and cost are captured (OpenAI omits usage from streams
|
|
158
|
+
otherwise). The extra usage-only chunk OpenAI emits is consumed internally and **not**
|
|
159
|
+
yielded to your code, so your stream shape is unchanged. If you set `include_usage`
|
|
160
|
+
yourself, the SDK respects it and passes the chunk through.
|
|
161
|
+
- **Anthropic 1-hour prompt cache:** cache-creation tokens are accounted at the 5-minute
|
|
162
|
+
write rate (1.25× input). If you use the 1-hour cache TTL (2× input), the recorded cost
|
|
163
|
+
for those creation tokens is an under-estimate — Anthropic's usage object does not
|
|
164
|
+
distinguish the two TTLs.
|
|
165
|
+
|
|
148
166
|
### Policy gate
|
|
149
167
|
|
|
150
168
|
Opt in with `policyGate: true` (shares the same config fetch). Before each call the SDK
|
|
@@ -234,6 +252,38 @@ Notes:
|
|
|
234
252
|
A stream that the consumer cancels mid-way is not recorded (token usage is only final at the
|
|
235
253
|
stream's `finish`).
|
|
236
254
|
|
|
255
|
+
## LangChain.js
|
|
256
|
+
|
|
257
|
+
If your app uses LangChain.js, attach `argosvixLangChainHandler()` as a callback. Every LLM call
|
|
258
|
+
made through LangChain — including calls issued inside chains and agents — is recorded: provider,
|
|
259
|
+
model, tokens, cost, latency, TTFT (streaming), cache and reasoning tokens.
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
import { ChatOpenAI } from "@langchain/openai";
|
|
263
|
+
import { argosvixLangChainHandler, flushClient } from "@argosvix/sdk";
|
|
264
|
+
|
|
265
|
+
const handler = argosvixLangChainHandler({ apiKey: process.env.ARGOSVIX_API_KEY });
|
|
266
|
+
const model = new ChatOpenAI({ model: "gpt-5.5" });
|
|
267
|
+
|
|
268
|
+
try {
|
|
269
|
+
// Per-call:
|
|
270
|
+
await model.invoke("Summarize this PR.", { callbacks: [handler] });
|
|
271
|
+
// Or attach once at construction: new ChatOpenAI({ ..., callbacks: [handler] });
|
|
272
|
+
} finally {
|
|
273
|
+
await flushClient(handler); // or: await handler.flush()
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Notes:
|
|
278
|
+
- Supported providers are the same four as `wrap()` (OpenAI / Anthropic / Google Gemini /
|
|
279
|
+
Mistral). The handler maps the LangChain model class (e.g. `ChatOpenAI`, `ChatAnthropic`,
|
|
280
|
+
`ChatGoogleGenerativeAI`, `ChatMistralAI`) to the right pricing table. Other providers run
|
|
281
|
+
normally but are not recorded — pass `config.provider` to force a mapping.
|
|
282
|
+
- Token usage is read from the standard `usage_metadata` on the message (with `llmOutput.tokenUsage`
|
|
283
|
+
as a fallback), so cache/reasoning breakdowns are captured where the provider reports them.
|
|
284
|
+
- Budget / policy gates and automatic trace grouping (`withTrace`) apply here too.
|
|
285
|
+
- Recording is best-effort: a callback never throws into your LangChain run.
|
|
286
|
+
|
|
237
287
|
## Automatic trace grouping
|
|
238
288
|
|
|
239
289
|
Wrap a unit of work in `withTrace` and every wrapped LLM call inside it is grouped under one
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,cAAmB,GAAG,CAAC,CA8ChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1E;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAE,cAAmB,GAAG,CAAC,CA8ChF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1E;AAybD,0FAA0F;AAC1F,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAgxCD;;;;;;;;;GASG"}
|
package/dist/client.js
CHANGED
|
@@ -502,11 +502,25 @@ function wrapOpenAIChat(client, recorder, config) {
|
|
|
502
502
|
const callTags = buildTags(config, "openai", requestArgs);
|
|
503
503
|
const id = generateId();
|
|
504
504
|
const isStream = requestArgs.stream === true;
|
|
505
|
+
// 監査 2026-06-28 HIGH = OpenAI は stream 時に stream_options.include_usage を
|
|
506
|
+
// 付けないと usage を一切返さず、 streaming 呼び出しが 0 token / $0 で記録され
|
|
507
|
+
// コストが黙って過少計上(+ budget gate が streaming で素通り)になる。 stream の
|
|
508
|
+
// とき include_usage を補う(client が明示設定済みならそれを尊重)。
|
|
509
|
+
// ⚠ 我々が注入した場合、 OpenAI が末尾に足す usage-only チャンク(choices=[])は
|
|
510
|
+
// host に yield しない(choices[0] 前提の素朴な消費側を壊さないため。Codex 指摘)。
|
|
511
|
+
const usageInjected = isStream && requestArgs.stream_options?.include_usage === undefined;
|
|
512
|
+
if (usageInjected) {
|
|
513
|
+
args = [...args];
|
|
514
|
+
args[0] = {
|
|
515
|
+
...requestArgs,
|
|
516
|
+
stream_options: { ...requestArgs.stream_options, include_usage: true },
|
|
517
|
+
};
|
|
518
|
+
}
|
|
505
519
|
try {
|
|
506
520
|
await recorder.budgetGate.check({ model: requestArgs.model, payload: requestArgs });
|
|
507
521
|
const response = await originalCreate(...args);
|
|
508
522
|
if (isStream) {
|
|
509
|
-
return wrapOpenAIStream(response, recorder, requestArgs, start, id, callTags, buildTraceMeta(config));
|
|
523
|
+
return wrapOpenAIStream(response, recorder, requestArgs, start, id, callTags, buildTraceMeta(config), usageInjected);
|
|
510
524
|
}
|
|
511
525
|
const r = response;
|
|
512
526
|
const latencyMs = Date.now() - start;
|
|
@@ -575,7 +589,10 @@ async function* wrapOpenAIStream(stream, recorder, requestArgs, start, id,
|
|
|
575
589
|
callTags,
|
|
576
590
|
// Codex #1 R1: trace 軸も入口で snapshot した meta を使う (= stream を withTrace の外で
|
|
577
591
|
// 消費しても ambient 消失 / 別 trace への取り違えを防ぐ)。
|
|
578
|
-
traceMeta
|
|
592
|
+
traceMeta,
|
|
593
|
+
// 我々が include_usage を注入したか。 true のとき末尾 usage-only チャンクは host に
|
|
594
|
+
// yield せず観測だけする(consumer の stream 形状を変えない)。
|
|
595
|
+
usageInjected = false) {
|
|
579
596
|
let finalModel = requestArgs.model || "unknown";
|
|
580
597
|
let promptTokens = 0;
|
|
581
598
|
let completionTokens = 0;
|
|
@@ -584,6 +601,35 @@ traceMeta) {
|
|
|
584
601
|
let lastUsage;
|
|
585
602
|
// 監査 Tier 2 = TTFT。 最初に本文 delta を載せたチャンク到達時刻 - 開始時刻。
|
|
586
603
|
let ttftMs;
|
|
604
|
+
// 監査 2026-06-28 = 消費側が早期 break / abandon すると generator が yield で
|
|
605
|
+
// .return() され、 ループ後の記録が skip されて課金済み呼び出しが record されない
|
|
606
|
+
// (budget gate の spend も漏れる)。 finally + recorded フラグで「正常完走 / error /
|
|
607
|
+
// 途中打ち切り」のいずれでも観測済みトークンで 1 回だけ記録する(Python SDK と同等)。
|
|
608
|
+
let recorded = false;
|
|
609
|
+
const recordOnce = () => {
|
|
610
|
+
if (recorded)
|
|
611
|
+
return;
|
|
612
|
+
recorded = true;
|
|
613
|
+
const streamCost = calculateCostWithCache("openai", finalModel, promptTokens, completionTokens, cachedReadTokens, 0);
|
|
614
|
+
recorder.record({
|
|
615
|
+
id,
|
|
616
|
+
provider: "openai",
|
|
617
|
+
model: finalModel,
|
|
618
|
+
promptTokens,
|
|
619
|
+
completionTokens,
|
|
620
|
+
totalTokens: reportedTotal ?? promptTokens + completionTokens,
|
|
621
|
+
cachedReadTokens,
|
|
622
|
+
cacheSavingsUsd: streamCost.cacheSavingsUsd,
|
|
623
|
+
costUsd: streamCost.costUsd,
|
|
624
|
+
latencyMs: Date.now() - start,
|
|
625
|
+
...(ttftMs !== undefined ? { ttftMs } : {}),
|
|
626
|
+
...extractRichTokens(lastUsage),
|
|
627
|
+
timestamp: new Date().toISOString(),
|
|
628
|
+
tags: callTags,
|
|
629
|
+
...traceMeta,
|
|
630
|
+
requestMeta: buildOpenAIRequestMeta(requestArgs),
|
|
631
|
+
});
|
|
632
|
+
};
|
|
587
633
|
try {
|
|
588
634
|
for await (const chunk of stream) {
|
|
589
635
|
if (ttftMs === undefined && chunkHasStreamedOutput(chunk)) {
|
|
@@ -604,29 +650,17 @@ traceMeta) {
|
|
|
604
650
|
cachedReadTokens = chunk.usage.prompt_tokens_details.cached_tokens;
|
|
605
651
|
}
|
|
606
652
|
}
|
|
653
|
+
// 我々が注入した include_usage の末尾 usage-only チャンク(choices 空)は観測のみで
|
|
654
|
+
// host に渡さない(注入していない=client が自分で付けた場合はそのまま yield)。
|
|
655
|
+
if (usageInjected && chunk.usage != null && (chunk.choices?.length ?? 0) === 0) {
|
|
656
|
+
continue;
|
|
657
|
+
}
|
|
607
658
|
yield chunk;
|
|
608
659
|
}
|
|
609
|
-
|
|
610
|
-
recorder.record({
|
|
611
|
-
id,
|
|
612
|
-
provider: "openai",
|
|
613
|
-
model: finalModel,
|
|
614
|
-
promptTokens,
|
|
615
|
-
completionTokens,
|
|
616
|
-
totalTokens: reportedTotal ?? promptTokens + completionTokens,
|
|
617
|
-
cachedReadTokens,
|
|
618
|
-
cacheSavingsUsd: streamCost.cacheSavingsUsd,
|
|
619
|
-
costUsd: streamCost.costUsd,
|
|
620
|
-
latencyMs: Date.now() - start,
|
|
621
|
-
...(ttftMs !== undefined ? { ttftMs } : {}),
|
|
622
|
-
...extractRichTokens(lastUsage),
|
|
623
|
-
timestamp: new Date().toISOString(),
|
|
624
|
-
tags: callTags,
|
|
625
|
-
...traceMeta,
|
|
626
|
-
requestMeta: buildOpenAIRequestMeta(requestArgs),
|
|
627
|
-
});
|
|
660
|
+
recordOnce();
|
|
628
661
|
}
|
|
629
662
|
catch (err) {
|
|
663
|
+
recorded = true; // error record で確定(finally の recordOnce を抑止)
|
|
630
664
|
const errorDetails = extractErrorDetails(err);
|
|
631
665
|
recorder.record({
|
|
632
666
|
id,
|
|
@@ -646,6 +680,10 @@ traceMeta) {
|
|
|
646
680
|
});
|
|
647
681
|
throw err;
|
|
648
682
|
}
|
|
683
|
+
finally {
|
|
684
|
+
// 早期 break / abandon の経路。 正常完走・error 済みなら no-op。
|
|
685
|
+
recordOnce();
|
|
686
|
+
}
|
|
649
687
|
}
|
|
650
688
|
function buildOpenAIRequestMeta(requestArgs) {
|
|
651
689
|
const meta = {};
|
|
@@ -860,25 +898,12 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, ca
|
|
|
860
898
|
let cachedReadTokens = 0;
|
|
861
899
|
let cachedWriteTokens = 0;
|
|
862
900
|
let completionTokens = 0;
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
inputTokens = event.message.usage.input_tokens ?? inputTokens;
|
|
870
|
-
cachedReadTokens =
|
|
871
|
-
event.message.usage.cache_read_input_tokens ?? cachedReadTokens;
|
|
872
|
-
cachedWriteTokens =
|
|
873
|
-
event.message.usage.cache_creation_input_tokens ?? cachedWriteTokens;
|
|
874
|
-
completionTokens = event.message.usage.output_tokens ?? completionTokens;
|
|
875
|
-
}
|
|
876
|
-
}
|
|
877
|
-
if (event.type === "message_delta" && event.usage) {
|
|
878
|
-
completionTokens = event.usage.output_tokens ?? completionTokens;
|
|
879
|
-
}
|
|
880
|
-
yield event;
|
|
881
|
-
}
|
|
901
|
+
// 監査 2026-06-28 = 早期 break でも観測済みトークンで 1 回だけ記録(OpenAI と同様)。
|
|
902
|
+
let recorded = false;
|
|
903
|
+
const recordOnce = () => {
|
|
904
|
+
if (recorded)
|
|
905
|
+
return;
|
|
906
|
+
recorded = true;
|
|
882
907
|
const promptTokens = inputTokens + cachedReadTokens + cachedWriteTokens;
|
|
883
908
|
const cost = calculateCostWithCache("anthropic", model, promptTokens, completionTokens, cachedReadTokens, cachedWriteTokens);
|
|
884
909
|
recorder.record({
|
|
@@ -898,8 +923,30 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, ca
|
|
|
898
923
|
...traceMeta,
|
|
899
924
|
requestMeta: buildAnthropicRequestMeta(requestArgs),
|
|
900
925
|
});
|
|
926
|
+
};
|
|
927
|
+
try {
|
|
928
|
+
for await (const event of stream) {
|
|
929
|
+
if (event.type === "message_start" && event.message) {
|
|
930
|
+
if (event.message.model)
|
|
931
|
+
model = event.message.model;
|
|
932
|
+
if (event.message.usage) {
|
|
933
|
+
inputTokens = event.message.usage.input_tokens ?? inputTokens;
|
|
934
|
+
cachedReadTokens =
|
|
935
|
+
event.message.usage.cache_read_input_tokens ?? cachedReadTokens;
|
|
936
|
+
cachedWriteTokens =
|
|
937
|
+
event.message.usage.cache_creation_input_tokens ?? cachedWriteTokens;
|
|
938
|
+
completionTokens = event.message.usage.output_tokens ?? completionTokens;
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
if (event.type === "message_delta" && event.usage) {
|
|
942
|
+
completionTokens = event.usage.output_tokens ?? completionTokens;
|
|
943
|
+
}
|
|
944
|
+
yield event;
|
|
945
|
+
}
|
|
946
|
+
recordOnce();
|
|
901
947
|
}
|
|
902
948
|
catch (err) {
|
|
949
|
+
recorded = true;
|
|
903
950
|
const errorDetails = extractErrorDetails(err);
|
|
904
951
|
const promptTokens = inputTokens + cachedReadTokens + cachedWriteTokens;
|
|
905
952
|
recorder.record({
|
|
@@ -920,6 +967,9 @@ async function* wrapAnthropicStream(stream, recorder, requestArgs, start, id, ca
|
|
|
920
967
|
});
|
|
921
968
|
throw err;
|
|
922
969
|
}
|
|
970
|
+
finally {
|
|
971
|
+
recordOnce();
|
|
972
|
+
}
|
|
923
973
|
}
|
|
924
974
|
function buildAnthropicRequestMeta(requestArgs) {
|
|
925
975
|
const meta = {};
|
|
@@ -1028,20 +1078,12 @@ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, call
|
|
|
1028
1078
|
let promptTokens = 0;
|
|
1029
1079
|
let completionTokens = 0;
|
|
1030
1080
|
let reportedTotal;
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
promptTokens = inner.usage.prompt_tokens ?? promptTokens;
|
|
1038
|
-
completionTokens = inner.usage.completion_tokens ?? completionTokens;
|
|
1039
|
-
if (typeof inner.usage.total_tokens === "number") {
|
|
1040
|
-
reportedTotal = inner.usage.total_tokens;
|
|
1041
|
-
}
|
|
1042
|
-
}
|
|
1043
|
-
yield chunk;
|
|
1044
|
-
}
|
|
1081
|
+
// 監査 2026-06-28 = 早期 break でも観測済みトークンで 1 回だけ記録(OpenAI と同様)。
|
|
1082
|
+
let recorded = false;
|
|
1083
|
+
const recordOnce = () => {
|
|
1084
|
+
if (recorded)
|
|
1085
|
+
return;
|
|
1086
|
+
recorded = true;
|
|
1045
1087
|
recorder.record({
|
|
1046
1088
|
id,
|
|
1047
1089
|
provider: "mistral",
|
|
@@ -1056,8 +1098,25 @@ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, call
|
|
|
1056
1098
|
...traceMeta,
|
|
1057
1099
|
requestMeta: buildMistralRequestMeta(requestArgs),
|
|
1058
1100
|
});
|
|
1101
|
+
};
|
|
1102
|
+
try {
|
|
1103
|
+
for await (const chunk of stream) {
|
|
1104
|
+
const inner = chunk.data ?? chunk;
|
|
1105
|
+
if (inner.model)
|
|
1106
|
+
model = inner.model;
|
|
1107
|
+
if (inner.usage) {
|
|
1108
|
+
promptTokens = inner.usage.prompt_tokens ?? promptTokens;
|
|
1109
|
+
completionTokens = inner.usage.completion_tokens ?? completionTokens;
|
|
1110
|
+
if (typeof inner.usage.total_tokens === "number") {
|
|
1111
|
+
reportedTotal = inner.usage.total_tokens;
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
yield chunk;
|
|
1115
|
+
}
|
|
1116
|
+
recordOnce();
|
|
1059
1117
|
}
|
|
1060
1118
|
catch (err) {
|
|
1119
|
+
recorded = true;
|
|
1061
1120
|
const errorDetails = extractErrorDetails(err);
|
|
1062
1121
|
recorder.record({
|
|
1063
1122
|
id,
|
|
@@ -1077,6 +1136,9 @@ async function* wrapMistralStream(stream, recorder, requestArgs, start, id, call
|
|
|
1077
1136
|
});
|
|
1078
1137
|
throw err;
|
|
1079
1138
|
}
|
|
1139
|
+
finally {
|
|
1140
|
+
recordOnce();
|
|
1141
|
+
}
|
|
1080
1142
|
}
|
|
1081
1143
|
function buildMistralRequestMeta(requestArgs) {
|
|
1082
1144
|
const meta = {};
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,cAAc,GAAG,IAAI,OAAO,EAAoB,CAAC;AACvD,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAU,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,IAAI,CAAmB,MAAS,EAAE,SAAyB,EAAE;IAC3E,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,mEAAmE;IACnE,kCAAkC;IAClC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,gBAAgB,CAAC,MAAM,CAAC;gBAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,qBAAqB,CAAC,MAAM,CAAC;gBAAE,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjF,MAAM;QACR,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,IAAI,eAAe,CAAC,MAAM,CAAC;gBAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM;QACR,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,IAAI,aAAa,CAAC,MAAM,CAAC;gBAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,kBAAkB,CAAC,MAAM,CAAC;gBAAE,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC3E,IAAI,eAAe,CAAC,MAAM,CAAC;gBAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM;QACR,CAAC;IACH,CAAC;IACD,oDAAoD;IACpD,oDAAoD;IACpD,uEAAuE;IACvE,yDAAyD;IACzD,+BAA+B;IAC/B,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACnC,sDAAsD;QACtD,IAAI,QAAQ,KAAK,SAAS;YAAE,8BAA8B,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,QAAQ,KAAK,QAAQ;YAAE,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,QAAkB;IAClE,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc,EAAE,QAAmB;IACzD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,QAAQ,GAAG,CAAE,MAA8C,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzG,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IACE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACvC,QAAQ,KAAK,OAAO;QACpB,QAAQ,KAAK,IAAI,EACjB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wFAAwF;IACxF,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3E,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QACnF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE/E,OAAO,SAAS,CAAC;AACnB,CAAC;AAcD,SAAS,cAAc,CAAC,MAAsB;IAC5C,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,kEAAkE;IAClE,8CAA8C;IAC9C,MAAM,OAAO,GACX,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC;IACnD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,8DAA8D;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QAC5C,8EAA8E;QAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE,MAAM,CAAC;QAC5D,IAAI,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrD,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,IAAI,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/C,IAAI,MAAM,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CAAC,QAAkB,EAAE,WAAoB;IAC7D,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtE,IAAI,IAAa,CAAC;IAClB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,WAA8C,CAAC;QACzD,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9E,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,WAA0D,CAAC;QACrE,IACE,CAAC,CAAC,QAAQ;YACV,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;YAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ;YACtC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAC7B,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,SAAS,CAChB,MAAsB,EACtB,QAAkB,EAClB,WAAoB;IAEpB,MAAM,IAAI,GAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,2BAA2B,CAAC,WAA0B;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAiB;IACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,OAAO,GAAI,QAAkC,CAAC,OAAO,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAoD,CAAC;IAC5E,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,yDAAyD;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAiB;IACnD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,OAAO,GAAI,QAAkC,CAAC,OAAO,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAuD,CAAC;IAC/E,MAAM,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,MAAM,GAAgD,EAAE,CAAC;IAC/D,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS;QAC5C,MAAM,EAAE,GAAI,EAA6D,CAAC,QAAQ,CAAC;QACnF,MAAM,IAAI,GAAG,OAAO,EAAE,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,IAAI,GACR,OAAO,EAAE,EAAE,SAAS,KAAK,QAAQ;YAC/B,CAAC,CAAC,EAAE,CAAC,SAAS;YACd,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,SAAS;gBAC3B,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gCAAgC,CAAC,WAAmC;IAC3E,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACpF,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oCAAoC,CAAC,QAAiB;IAC7D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,CAAC,GAAG,QAAuD,CAAC;IAClE,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,WAAW,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;YACxD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC/B,MAAM,IAAI,GAAI,CAAwB,CAAC,IAAI,CAAC;wBAC5C,MAAM,IAAI,GAAI,CAAwB,CAAC,IAAI,CAAC;wBAC5C,IAAI,IAAI,KAAK,aAAa,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,+BAA+B,CACtC,QAAiB;IAEjB,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,MAAM,GAAI,QAAiC,CAAC,MAAM,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,MAAM,GAAgD,EAAE,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,IAAI,IAAI,KAAK,eAAe;YAAE,SAAS;QACvC,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAI,IAAgC,CAAC,SAAS,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5D,MAAM,OAAO,GACX,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;gBACrB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CAAC,WAA6B;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAiB;IACvD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,+EAA+E;IAC/E,MAAM,OAAO,GAAI,QAAkC,CAAC,OAAO,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAI,KAA4C,CAAC,IAAI,CAAC;gBAC7D,MAAM,GAAG,GAAI,KAA4B,CAAC,IAAI,CAAC;gBAC/C,IAAI,CAAC,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,gDAAgD;QAChD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,6BAA6B,GAAuB,IAAI,CAAC;AAC7D,SAAS,8BAA8B,CAAC,KAAa;IACnD,IAAI,6BAA6B,KAAK,IAAI,EAAE,CAAC;QAC3C,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC;IACpD,CAAC;IACD,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO;IACrD,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,4CAA4C,KAAK,2JAA2J,CAC7M,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,CAAC,GAAG,GAOT,CAAC;IACF,MAAM,OAAO,GAA+C,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC;IACxC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;IAC5D,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACtD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACtD,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACzD,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IAClF,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAUD,SAAS,gBAAgB,CAAC,MAAe;IACvC,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC;AAC5D,CAAC;AAqBD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAA8B;IAIvD,MAAM,GAAG,GAAuD,EAAE,CAAC;IACnE,MAAM,SAAS,GAAG,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,CAAC;IACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;QAAE,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;IACpF,MAAM,OAAO,GAAG,KAAK,EAAE,qBAAqB,EAAE,YAAY,IAAI,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,EAAE,yBAAyB,EAAE,YAAY,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAwB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAQb,CAAC;IACd,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;AACxF,CAAC;AAYD;;;;;;GAMG;AACH,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACnC,0FAA0F;AAC1F,MAAM,UAAU,0BAA0B;IACxC,sBAAsB,GAAG,KAAK,CAAC;AACjC,CAAC;AACD,SAAS,uBAAuB,CAC9B,MAAsB,EACtB,eAAwB,EACxB,KAAa;IAEb,IAAI,sBAAsB,IAAI,CAAC,eAAe;QAAE,OAAO;IACvD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO;IACrE,sBAAsB,GAAG,IAAI,CAAC;IAC9B,sCAAsC;IACtC,OAAO,CAAC,IAAI,CACV,cAAc,KAAK,kDAAkD;QACnE,gEAAgE,CACnE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,QAAkB,EAAE,MAAsB;IAChF,MAAM,CAAC,GAAG,MAAmC,CAAC;IAC9C,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1E,uBAAuB,CACrB,MAAM,EACN,OAAQ,CAAC,CAAC,IAAI,CAAC,WAAoC,CAAC,MAAM,KAAK,UAAU,EACzE,kCAAkC,CACnC,CAAC;IAEF,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,WAAW,GAAG,IAAe;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAmB,IAAI,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;QAE7C,yEAAyE;QACzE,yDAAyD;QACzD,2DAA2D;QAC3D,+CAA+C;QAC/C,0DAA0D;QAC1D,0DAA0D;QAC1D,MAAM,aAAa,GACjB,QAAQ,IAAI,WAAW,CAAC,cAAc,EAAE,aAAa,KAAK,SAAS,CAAC;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACR,GAAG,WAAW;gBACd,cAAc,EAAE,EAAE,GAAG,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE;aACvE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,gBAAgB,CACrB,QAA4C,EAC5C,QAAQ,EACR,WAAW,EACX,KAAK,EACL,EAAE,EACF,QAAQ,EACR,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CACd,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,QAA0B,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YACxD,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;YACjD,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC;YACzD,mDAAmD;YACnD,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,qBAAqB,EAAE,aAAa,IAAI,CAAC,CAAC;YAC5E,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;YACF,MAAM,MAAM,GAAkB;gBAC5B,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,YAAY,GAAG,gBAAgB;gBACrE,gBAAgB;gBAChB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS;gBACT,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;aACjD,CAAC;YACF,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7D,MAAM,cAAc,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,cAAc,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;gBACzE,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,SAAS,KAAK,SAAS;oBAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5D,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;gBACrC,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;aACjD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAC9B,MAAwC,EACxC,QAAkB,EAClB,WAA0B,EAC1B,KAAa,EACb,EAAU;AACV,8DAA8D;AAC9D,gEAAgE;AAChE,QAAgC;AAChC,0EAA0E;AAC1E,yCAAyC;AACzC,SAAoB;AACpB,+DAA+D;AAC/D,6CAA6C;AAC7C,aAAa,GAAG,KAAK;IAErB,IAAI,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,aAAiC,CAAC;IACtC,IAAI,SAAkC,CAAC;IACvC,qDAAqD;IACrD,IAAI,MAA0B,CAAC;IAE/B,iEAAiE;IACjE,uDAAuD;IACvD,qEAAqE;IACrE,oDAAoD;IACpD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,UAAU,GAAG,sBAAsB,CACvC,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,UAAU;YACjB,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,aAAa,IAAI,YAAY,GAAG,gBAAgB;YAC7D,gBAAgB;YAChB,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,iBAAiB,CAAC,SAAS,CAAC;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;SACjD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,MAAM,KAAK,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,gDAAgD;gBAChD,mDAAmD;gBACnD,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,CAAC,KAAK;gBAAE,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;gBACxB,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC;gBACzD,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;gBACrE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACjD,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3C,CAAC;gBACD,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACzE,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC;gBACrE,CAAC;YACH,CAAC;YACD,6DAA6D;YAC7D,mDAAmD;YACnD,IAAI,aAAa,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/E,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,QAAQ,GAAG,IAAI,CAAC,CAAC,6CAA6C;QAC9D,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,UAAU;YACjB,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,aAAa,IAAI,YAAY,GAAG,gBAAgB;YAC7D,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,CAAC;YAC5E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;SACjD,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,iDAAiD;QACjD,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAA0B;IAE1B,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC1F,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5F,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,qBAAqB,CAAC;IAC9E,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,SAAS,qBAAqB,CAAC,MAAe;IAC5C,MAAM,CAAC,GAAG,MAAsC,CAAC;IACjD,OAAO,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC;AACpD,CAAC;AAqBD,SAAS,mBAAmB,CAC1B,MAAc,EACd,QAAkB,EAClB,MAAsB;IAEtB,MAAM,CAAC,GAAG,MAAwC,CAAC;IACnD,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE5D,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,WAAW,GAAG,IAAe;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAA4B,IAAI,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;QAE7C,IAAI,QAAQ,EAAE,CAAC;YACb,sEAAsE;YACtE,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,kEAAkE,CACnE,CAAC;YACF,8DAA8D;YAC9D,wBAAwB;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,QAAQ,CAAC,MAAM,CAAC;oBACd,EAAE;oBACF,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;oBACrC,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,QAAQ;oBACd,GAAG,cAAc,CAAC,MAAM,CAAC;oBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;iBACpD,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAA4B,CAAC;YAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,aAAa,IAAI,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;YACF,MAAM,MAAM,GAAkB;gBAC5B,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,YAAY,GAAG,gBAAgB;gBAC5E,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC;YACF,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,gCAAgC,CAAC,WAAW,CAAC,CAAC;gBACjE,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7D,MAAM,cAAc,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAC;gBACtE,IAAI,cAAc,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;gBACzE,MAAM,SAAS,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,SAAS,KAAK,SAAS;oBAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC5D,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;gBACrC,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,WAAmC;IAEnC,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;SAC/E,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACvE,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5F,IAAI,OAAO,WAAW,CAAC,iBAAiB,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACtG,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,SAAS,eAAe,CAAC,MAAe;IACtC,MAAM,CAAC,GAAG,MAAgC,CAAC;IAC3C,OAAO,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;AACnD,CAAC;AA+BD,SAAS,aAAa,CAAC,MAAc,EAAE,QAAkB,EAAE,MAAsB;IAC/E,MAAM,CAAC,GAAG,MAAkC,CAAC;IAC7C,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1D,uBAAuB,CACrB,MAAM,EACN,OAAQ,CAAC,CAAC,QAAiC,CAAC,MAAM,KAAK,UAAU,EACjE,6BAA6B,CAC9B,CAAC;IAEF,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,WAAW,GAAG,IAAe;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAsB,IAAI,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC;QAE7C,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,mBAAmB,CACxB,QAA+C,EAC/C,QAAQ,EACR,WAAW,EACX,KAAK,EACL,EAAE,EACF,QAAQ,EACR,cAAc,CAAC,MAAM,CAAC,CACvB,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,QAA6B,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YACxD,6DAA6D;YAC7D,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,uBAAuB,IAAI,CAAC,CAAC;YAC/D,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,EAAE,2BAA2B,IAAI,CAAC,CAAC;YACpE,MAAM,YAAY,GAChB,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;YACtE,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,sBAAsB,CACjC,WAAW,EACX,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;YACF,MAAM,MAAM,GAAkB;gBAC5B,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,KAAK;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,YAAY,GAAG,gBAAgB;gBAC5C,gBAAgB;gBAChB,iBAAiB;gBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC;YACF,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC;gBAC3D,IAAI,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;gBAC7D,MAAM,cAAc,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,cAAc,KAAK,SAAS;oBAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;YAC3E,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,WAAW;gBACrB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;gBACrC,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACjC,MAA2C,EAC3C,QAAkB,EAClB,WAA6B,EAC7B,KAAa,EACb,EAAU,EACV,QAAgC,EAChC,SAAoB;IAEpB,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,4DAA4D;IAC5D,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,4DAA4D;IAC5D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;QACxE,MAAM,IAAI,GAAG,sBAAsB,CACjC,WAAW,EACX,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;QACF,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,YAAY,GAAG,gBAAgB;YAC5C,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;SACpD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK;oBAAE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,WAAW,CAAC;oBAC9D,gBAAgB;wBACd,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,gBAAgB,CAAC;oBAClE,iBAAiB;wBACf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,iBAAiB,CAAC;oBACvE,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClD,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC;YACnE,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;QACxE,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,YAAY,GAAG,gBAAgB;YAC5C,OAAO,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC;YAC1E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;SACpD,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,WAA6B;IAE7B,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC1F,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5F,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,CAAC,GAAG,MAA8B,CAAC;IACzC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,UAAU,CAAC;AACjD,CAAC;AAwBD,SAAS,WAAW,CAAC,MAAc,EAAE,QAAkB,EAAE,MAAsB;IAC7E,MAAM,CAAC,GAAG,MAAgC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtD,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,WAAW,GAAG,IAAe;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAoB,IAAI,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YACpF,MAAM,QAAQ,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAoB,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;YACxD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC,CAAC;YAChE,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,SAAS;gBACnB,KAAK;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,YAAY,GAAG,gBAAgB;gBAC5E,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC;gBACxE,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;aAClD,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;gBACrC,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,WAAW,GAAG,IAAe;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAoB,IAAI,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAAsC,CAAC;gBACpF,OAAO,iBAAiB,CACtB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,KAAK,EACL,EAAE,EACF,QAAQ,EACR,cAAc,CAAC,MAAM,CAAC,CACvB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,kEAAkE;gBAClE,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC;oBACd,EAAE;oBACF,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,SAAS;oBACrC,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,QAAQ;oBAChB,GAAG,cAAc,CAAC,MAAM,CAAC;oBACvB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;iBAClD,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,iBAAiB,CAC/B,MAAyC,EACzC,QAAkB,EAClB,WAA2B,EAC3B,KAAa,EACb,EAAU,EACV,QAAgC,EAChC,SAAoB;IAEpB,IAAI,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,aAAiC,CAAC;IAEtC,4DAA4D;IAC5D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,SAAS;YACnB,KAAK;YACL,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,aAAa,IAAI,YAAY,GAAG,gBAAgB;YAC7D,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC;YACxE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;SAClD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;YAClC,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACrC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC;gBACzD,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;gBACrE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACjD,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC3C,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC;YACd,EAAE;YACF,QAAQ,EAAE,SAAS;YACnB,KAAK;YACL,YAAY;YACZ,gBAAgB;YAChB,WAAW,EAAE,aAAa,IAAI,YAAY,GAAG,gBAAgB;YAC7D,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,gBAAgB,CAAC;YACxE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,GAAG,SAAS;YACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAA2B;IAE3B,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC1F,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC5F,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;QAAE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;IACxF,OAAO,IAAI,CAAC;AACd,CAAC;AAeD,SAAS,kBAAkB,CAAC,MAAe;IACzC,MAAM,CAAC,GAAG,MAAmC,CAAC;IAC9C,OAAO,OAAO,CAAC,EAAE,kBAAkB,KAAK,UAAU,CAAC;AACrD,CAAC;AAUD,SAAS,gBAAgB,CACvB,MAAc,EACd,QAAkB,EAClB,MAAsB;IAEtB,MAAM,CAAC,GAAG,MAAqC,CAAC;IAChD,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtD,CAAC,CAAC,kBAAkB,GAAG,UAAU,MAAyB;QACxD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/C,8EAA8E;QAC9E,IAAI,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAA4B,EAC5B,SAAiB,EACjB,QAAkB,EAClB,MAAsB;IAEtB,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE3D,KAAK,CAAC,eAAe,GAAG,KAAK,WAAW,GAAG,IAAe;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAE9C,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;YAC7C,MAAM,YAAY,GAAG,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,KAAK,EAAE,oBAAoB,IAAI,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,KAAK,EAAE,uBAAuB,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,KAAK,EAAE,eAAe,IAAI,YAAY,GAAG,gBAAgB;gBACtE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;aACjD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;aACjD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,KAAK,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,CAAC,qBAAqB,GAAG,KAAK,WAAW,GAAG,IAAe;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAG5C,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAClC,mEAAmE;gBACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;gBACxC,6DAA6D;gBAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,aAAa,GAAG,CAAC,KAAK,SAAS,CAAC;oBACpC,IAAI,CAAC;wBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;4BAC5C,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;wBAC5C,MAAM,KAAK,GAAG,aAAa,EAAE,aAAa,CAAC;wBAC3C,MAAM,YAAY,GAAG,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC;wBAClD,MAAM,gBAAgB,GAAG,KAAK,EAAE,oBAAoB,IAAI,CAAC,CAAC;wBAC1D,MAAM,gBAAgB,GAAG,KAAK,EAAE,uBAAuB,IAAI,CAAC,CAAC;wBAC7D,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;wBACF,QAAQ,CAAC,MAAM,CAAC;4BACd,EAAE;4BACF,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,SAAS;4BAChB,YAAY;4BACZ,gBAAgB;4BAChB,WAAW,EAAE,KAAK,EAAE,eAAe,IAAI,YAAY,GAAG,gBAAgB;4BACtE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrD,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,IAAI,EAAE,QAAQ;4BACd,GAAG,SAAS;4BACZ,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;yBACjD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC9C,QAAQ,CAAC,MAAM,CAAC;4BACd,EAAE;4BACF,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,SAAS;4BAChB,YAAY,EAAE,CAAC;4BACf,gBAAgB,EAAE,CAAC;4BACnB,WAAW,EAAE,CAAC;4BACd,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,IAAI,EAAE,QAAQ;4BACd,GAAG,SAAS;4BACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;4BACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;yBACjD,CAAC,CAAC;wBACH,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;gBACL,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YAC9C,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC;oBACd,EAAE;oBACF,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,SAAS;oBAChB,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,QAAQ;oBAChB,GAAG,cAAc,CAAC,MAAM,CAAC;oBACvB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,WAAW,EAAE,sBAAsB,CAAC,WAAW,CAAC;iBACjD,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAaD,SAAS,eAAe,CAAC,MAAe;IACtC,MAAM,CAAC,GAAG,MAAgC,CAAC;IAC3C,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,KAAK,UAAU,CAAC;AAC1D,CAAC;AAQD,SAAS,aAAa,CAAC,MAAc,EAAE,QAAkB,EAAE,MAAsB;IAC/E,MAAM,CAAC,GAAG,MAAkC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEjE,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,KAAK,WAAW,GAAG,IAAe;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAsB,IAAI,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAE9C,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC;YAClD,MAAM,gBAAgB,GAAG,KAAK,EAAE,oBAAoB,IAAI,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,KAAK,EAAE,uBAAuB,IAAI,CAAC,CAAC;YAC7D,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;YACF,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,YAAY;gBACZ,gBAAgB;gBAChB,WAAW,EAAE,KAAK,EAAE,eAAe,IAAI,YAAY,GAAG,gBAAgB;gBACtE,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9C,QAAQ,CAAC,MAAM,CAAC;gBACd,EAAE;gBACF,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,QAAQ;gBACd,GAAG,cAAc,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;aACpD,CAAC,CAAC;YACH,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;QACzD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC,CAAC,MAAM,CAAC,qBAAqB,GAAG,KAAK,WAAW,GAAG,IAAe;YACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACxB,MAAM,WAAW,GAAI,IAAI,CAAC,CAAC,CAAsB,IAAI,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAE3C,CAAC;gBACH,qFAAqF;gBACrF,6DAA6D;gBAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,SAAS,CAAC;oBACrB,IAAI,SAA0C,CAAC;oBAC/C,IAAI,CAAC;wBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BACjC,IAAI,KAAK,CAAC,aAAa;gCAAE,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC;4BACzD,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,MAAM,YAAY,GAAG,SAAS,EAAE,gBAAgB,IAAI,CAAC,CAAC;wBACtD,MAAM,gBAAgB,GAAG,SAAS,EAAE,oBAAoB,IAAI,CAAC,CAAC;wBAC9D,MAAM,gBAAgB,GAAG,SAAS,EAAE,uBAAuB,IAAI,CAAC,CAAC;wBACjE,MAAM,IAAI,GAAG,sBAAsB,CACjC,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,CAAC,CACF,CAAC;wBACF,QAAQ,CAAC,MAAM,CAAC;4BACd,EAAE;4BACF,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,SAAS;4BAChB,YAAY;4BACZ,gBAAgB;4BAChB,WAAW,EAAE,SAAS,EAAE,eAAe,IAAI,YAAY,GAAG,gBAAgB;4BAC1E,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACrD,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC9E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,IAAI,EAAE,QAAQ;4BACd,GAAG,SAAS;4BACZ,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;yBACpD,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAY,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC9C,QAAQ,CAAC,MAAM,CAAC;4BACd,EAAE;4BACF,QAAQ,EAAE,QAAQ;4BAClB,KAAK,EAAE,SAAS;4BAChB,YAAY,EAAE,SAAS,EAAE,gBAAgB,IAAI,CAAC;4BAC9C,gBAAgB,EAAE,SAAS,EAAE,oBAAoB,IAAI,CAAC;4BACtD,WAAW,EACT,SAAS,EAAE,eAAe;gCAC1B,CAAC,SAAS,EAAE,gBAAgB,IAAI,CAAC,CAAC;oCAChC,CAAC,SAAS,EAAE,oBAAoB,IAAI,CAAC,CAAC;4BAC1C,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,IAAI,EAAE,QAAQ;4BACd,GAAG,SAAS;4BACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;4BACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;yBACpD,CAAC,CAAC;wBACH,MAAM,GAAG,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,MAAM,CAAC;oBACd,EAAE;oBACF,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,SAAS;oBAChB,YAAY,EAAE,CAAC;oBACf,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,CAAC;oBACd,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,QAAQ;oBAChB,GAAG,cAAc,CAAC,MAAM,CAAC;oBACvB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,WAAW,EAAE,yBAAyB,CAAC,WAAW,CAAC;iBACpD,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAAoB;IAEpB,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SACvD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;SACxE,IACH,WAAW;QACX,OAAO,WAAW,KAAK,QAAQ;QAC/B,UAAU,IAAI,WAAW;QACzB,KAAK,CAAC,OAAO,CAAE,WAAuC,CAAC,QAAQ,CAAC,EAChE,CAAC;QACD,IAAI,CAAC,aAAa,GAAI,WAAuC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAChF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,WAA6B;IAE7B,MAAM,IAAI,GAA8C,EAAE,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;IACnD,CAAC;SAAM,IAAI,OAAO,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { wrap, getRecorder } from "./client.js";
|
|
2
2
|
export { argosvixMiddleware } from "./aiSdkMiddleware.js";
|
|
3
3
|
export type { ArgosvixAiSdkMiddleware } from "./aiSdkMiddleware.js";
|
|
4
|
+
export { argosvixLangChainHandler } from "./langchainCallback.js";
|
|
5
|
+
export type { ArgosvixLangChainHandler } from "./langchainCallback.js";
|
|
4
6
|
export { withTrace, withSpan, observe, getAmbientTraceContext } from "./context.js";
|
|
5
7
|
export type { TraceContext } from "./context.js";
|
|
6
8
|
export type { ObservationRecord, ObservationType } from "./types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,WAAW,EACX,UAAU,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,WAAW,EACX,UAAU,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { wrap, getRecorder } from "./client.js";
|
|
2
2
|
export { argosvixMiddleware } from "./aiSdkMiddleware.js";
|
|
3
|
+
export { argosvixLangChainHandler } from "./langchainCallback.js";
|
|
3
4
|
export { withTrace, withSpan, observe, getAmbientTraceContext } from "./context.js";
|
|
4
5
|
export { Recorder } from "./recorder.js";
|
|
5
6
|
export { RuntimeGate, BudgetGate, ArgosvixBudgetExceededError, ArgosvixBudgetGateUnavailableError, ArgosvixPolicyViolationError, } from "./budgetGate.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,WAAW,EACX,UAAU,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,WAAW,EACX,UAAU,EACV,2BAA2B,EAC3B,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EACL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { ArgosvixConfig } from "./types.js";
|
|
2
|
+
import { Recorder } from "./recorder.js";
|
|
3
|
+
/**
|
|
4
|
+
* 監査 Tier 2 = LangChain.js 統合 (コールバックハンドラ)。
|
|
5
|
+
*
|
|
6
|
+
* `argosvixLangChainHandler()` は LangChain の `callbacks` 配列に渡せる
|
|
7
|
+
* コールバックハンドラを返す。 model.invoke / chain / agent の `{ callbacks: [...] }`
|
|
8
|
+
* に入れると、 LangChain 経由の全 LLM 呼び出し (= chain や agent が内部発行する
|
|
9
|
+
* 呼び出しも含む) を観測する: provider / model / tokens / cost / latency / TTFT /
|
|
10
|
+
* cache / reasoning。
|
|
11
|
+
*
|
|
12
|
+
* LangChain へのハード依存は持たない (= `@langchain/core` を import しない)。
|
|
13
|
+
* LangChain は BaseCallbackHandler インスタンスでなくとも、 ハンドラメソッドを
|
|
14
|
+
* 持つ素のオブジェクトを `callbacks` に受け付ける。
|
|
15
|
+
*
|
|
16
|
+
* 設計方針は AI SDK ミドルウェアと同じ: 観測コードは決してホストの呼び出しを
|
|
17
|
+
* 壊さない (= 記録は best-effort)。
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* import { ChatOpenAI } from "@langchain/openai";
|
|
21
|
+
* import { argosvixLangChainHandler, flushClient } from "@argosvix/sdk";
|
|
22
|
+
*
|
|
23
|
+
* const handler = argosvixLangChainHandler({ apiKey: process.env.ARGOSVIX_API_KEY });
|
|
24
|
+
* const model = new ChatOpenAI({ model: "gpt-5.5" });
|
|
25
|
+
* try {
|
|
26
|
+
* await model.invoke("hi", { callbacks: [handler] });
|
|
27
|
+
* } finally {
|
|
28
|
+
* await flushClient(handler); // or: await handler.flush()
|
|
29
|
+
* }
|
|
30
|
+
*/
|
|
31
|
+
interface LcSerialized {
|
|
32
|
+
id?: unknown;
|
|
33
|
+
name?: unknown;
|
|
34
|
+
}
|
|
35
|
+
interface LcExtraParams {
|
|
36
|
+
invocation_params?: {
|
|
37
|
+
model?: unknown;
|
|
38
|
+
model_name?: unknown;
|
|
39
|
+
modelName?: unknown;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
interface LcUsageMetadata {
|
|
43
|
+
input_tokens?: number;
|
|
44
|
+
output_tokens?: number;
|
|
45
|
+
total_tokens?: number;
|
|
46
|
+
input_token_details?: {
|
|
47
|
+
cache_read?: number;
|
|
48
|
+
cache_creation?: number;
|
|
49
|
+
};
|
|
50
|
+
output_token_details?: {
|
|
51
|
+
reasoning?: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
interface LcLLMResult {
|
|
55
|
+
generations?: Array<Array<{
|
|
56
|
+
message?: {
|
|
57
|
+
usage_metadata?: LcUsageMetadata;
|
|
58
|
+
};
|
|
59
|
+
} | undefined> | undefined>;
|
|
60
|
+
llmOutput?: {
|
|
61
|
+
model_name?: unknown;
|
|
62
|
+
tokenUsage?: {
|
|
63
|
+
promptTokens?: number;
|
|
64
|
+
completionTokens?: number;
|
|
65
|
+
totalTokens?: number;
|
|
66
|
+
};
|
|
67
|
+
usage?: {
|
|
68
|
+
promptTokens?: number;
|
|
69
|
+
completionTokens?: number;
|
|
70
|
+
totalTokens?: number;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* LangChain のハンドラオブジェクト型 (= callbacks 配列に渡せる素のオブジェクト)。
|
|
76
|
+
* flush() / recorder を直接公開する (flushClient(handler) も可)。
|
|
77
|
+
*/
|
|
78
|
+
export interface ArgosvixLangChainHandler {
|
|
79
|
+
name: string;
|
|
80
|
+
handleLLMStart: (llm: LcSerialized, prompts: unknown, runId: string, parentRunId?: string, extraParams?: LcExtraParams) => void;
|
|
81
|
+
handleChatModelStart: (llm: LcSerialized, messages: unknown, runId: string, parentRunId?: string, extraParams?: LcExtraParams) => void;
|
|
82
|
+
handleLLMNewToken: (token: string, idx?: unknown, runId?: string) => void;
|
|
83
|
+
handleLLMEnd: (output: LcLLMResult, runId: string) => void;
|
|
84
|
+
handleLLMError: (err: unknown, runId: string) => void;
|
|
85
|
+
flush: () => Promise<void>;
|
|
86
|
+
readonly recorder: Recorder;
|
|
87
|
+
}
|
|
88
|
+
export declare function argosvixLangChainHandler(config?: ArgosvixConfig): ArgosvixLangChainHandler;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=langchainCallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchainCallback.d.ts","sourceRoot":"","sources":["../src/langchainCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAK1E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,UAAU,YAAY;IACpB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,iBAAiB,CAAC,EAAE;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,oBAAoB,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,KAAK,CACjB,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE;YAAE,cAAc,CAAC,EAAE,eAAe,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAClF,CAAC;IACF,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxF,KAAK,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACpF,CAAC;CACH;AAYD;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAChI,oBAAoB,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACvI,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAiHD,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,cAAmB,GAC1B,wBAAwB,CA+I1B"}
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { _registerRecorderFor } from "./client.js";
|
|
2
|
+
import { _registerObservationSink, getAmbientTraceContext } from "./context.js";
|
|
3
|
+
import { generateId } from "./ids.js";
|
|
4
|
+
import { calculateCostWithCache } from "./pricing.js";
|
|
5
|
+
import { Recorder } from "./recorder.js";
|
|
6
|
+
/** 記録は best-effort。 ここで投げてもホストの呼び出しを壊さない。 */
|
|
7
|
+
function safeRun(fn) {
|
|
8
|
+
try {
|
|
9
|
+
fn();
|
|
10
|
+
}
|
|
11
|
+
catch (err) {
|
|
12
|
+
// eslint-disable-next-line no-console
|
|
13
|
+
console.error("[argosvix] LangChain handler recording failed (non-fatal):", err);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* LangChain の serialized id (例 ["langchain","chat_models","openai","ChatOpenAI"])
|
|
18
|
+
* や class 名から Argosvix の 4 provider へ寄せる。 セグメント完全一致を主判定に
|
|
19
|
+
* して substring 誤判定を避ける。 最後のセグメント (= class 名、 例 ChatOpenAI) は
|
|
20
|
+
* 補助的に includes 判定する (= class 名しか持たない独自 wrapper も拾うため。 副作用
|
|
21
|
+
* として class 名に provider 名を含む独自クラスは寄せられる)。 該当なし = null
|
|
22
|
+
* (= backend の厳格 enum 検証に合わせ fabricate せず記録をスキップ。 config.provider で上書き可)。
|
|
23
|
+
*/
|
|
24
|
+
function mapProvider(llm) {
|
|
25
|
+
const segments = [];
|
|
26
|
+
if (llm && Array.isArray(llm.id)) {
|
|
27
|
+
for (const s of llm.id)
|
|
28
|
+
if (typeof s === "string")
|
|
29
|
+
segments.push(s.toLowerCase());
|
|
30
|
+
}
|
|
31
|
+
if (llm && typeof llm.name === "string")
|
|
32
|
+
segments.push(llm.name.toLowerCase());
|
|
33
|
+
const has = (...keys) => segments.some((seg) => keys.some((k) => seg === k));
|
|
34
|
+
// class 名 (ChatOpenAI 等) は prefix 判定で拾う
|
|
35
|
+
const cls = segments[segments.length - 1] ?? "";
|
|
36
|
+
if (has("openai", "azure_openai", "azureopenai") || cls.includes("openai"))
|
|
37
|
+
return "openai";
|
|
38
|
+
if (has("anthropic") || cls.includes("anthropic"))
|
|
39
|
+
return "anthropic";
|
|
40
|
+
if (has("google_genai", "google_vertexai", "googlegenerativeai", "google", "vertexai") ||
|
|
41
|
+
cls.includes("google") ||
|
|
42
|
+
cls.includes("gemini") ||
|
|
43
|
+
cls.includes("vertex")) {
|
|
44
|
+
return "gemini";
|
|
45
|
+
}
|
|
46
|
+
if (has("mistralai", "mistral") || cls.includes("mistral"))
|
|
47
|
+
return "mistral";
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
function resolveModel(extraParams) {
|
|
51
|
+
const ip = extraParams?.invocation_params;
|
|
52
|
+
const cand = ip?.model ?? ip?.model_name ?? ip?.modelName;
|
|
53
|
+
return typeof cand === "string" && cand.length > 0 ? cand : "unknown";
|
|
54
|
+
}
|
|
55
|
+
/** LLMResult から正規化トークンを取り出す。 usage_metadata (標準) を優先、 無ければ llmOutput.tokenUsage。 */
|
|
56
|
+
function extractTokens(output) {
|
|
57
|
+
// model 名は token source に関わらず llmOutput.model_name から拾う (= start の
|
|
58
|
+
// invocation_params が無い integration でも model 不明 → cost 0 にならないように)。
|
|
59
|
+
const modelName = typeof output.llmOutput?.model_name === "string" ? output.llmOutput.model_name : undefined;
|
|
60
|
+
const modelSpread = modelName !== undefined ? { modelName } : {};
|
|
61
|
+
// 標準 usage_metadata = AIMessage に載る provider 横断の正規化形
|
|
62
|
+
const meta = output.generations?.[0]?.[0]?.message?.usage_metadata;
|
|
63
|
+
if (meta && (typeof meta.input_tokens === "number" || typeof meta.output_tokens === "number")) {
|
|
64
|
+
const promptTokens = meta.input_tokens ?? 0;
|
|
65
|
+
const completionTokens = meta.output_tokens ?? 0;
|
|
66
|
+
return {
|
|
67
|
+
promptTokens,
|
|
68
|
+
completionTokens,
|
|
69
|
+
totalTokens: meta.total_tokens ?? promptTokens + completionTokens,
|
|
70
|
+
cachedReadTokens: meta.input_token_details?.cache_read ?? 0,
|
|
71
|
+
cachedWriteTokens: meta.input_token_details?.cache_creation ?? 0,
|
|
72
|
+
reasoningTokens: meta.output_token_details?.reasoning ?? 0,
|
|
73
|
+
...modelSpread,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// fallback = OpenAI 形 llmOutput.tokenUsage
|
|
77
|
+
const tu = output.llmOutput?.tokenUsage ?? output.llmOutput?.usage;
|
|
78
|
+
const promptTokens = tu?.promptTokens ?? 0;
|
|
79
|
+
const completionTokens = tu?.completionTokens ?? 0;
|
|
80
|
+
return {
|
|
81
|
+
promptTokens,
|
|
82
|
+
completionTokens,
|
|
83
|
+
totalTokens: tu?.totalTokens ?? promptTokens + completionTokens,
|
|
84
|
+
cachedReadTokens: 0,
|
|
85
|
+
cachedWriteTokens: 0,
|
|
86
|
+
reasoningTokens: 0,
|
|
87
|
+
...modelSpread,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
let warnedUnsupported = null;
|
|
91
|
+
function warnUnsupported(llm) {
|
|
92
|
+
const label = llm && Array.isArray(llm.id)
|
|
93
|
+
? llm.id.filter((s) => typeof s === "string").join(".")
|
|
94
|
+
: typeof llm?.name === "string"
|
|
95
|
+
? llm.name
|
|
96
|
+
: "unknown";
|
|
97
|
+
if (warnedUnsupported === null)
|
|
98
|
+
warnedUnsupported = new Set();
|
|
99
|
+
if (warnedUnsupported.has(label))
|
|
100
|
+
return;
|
|
101
|
+
warnedUnsupported.add(label);
|
|
102
|
+
// eslint-disable-next-line no-console
|
|
103
|
+
console.warn(`[argosvix] LangChain model "${label}" is not one of openai/anthropic/gemini/mistral; ` +
|
|
104
|
+
`the call runs normally but is not recorded. Pass config.provider to override.`);
|
|
105
|
+
}
|
|
106
|
+
export function argosvixLangChainHandler(config = {}) {
|
|
107
|
+
const recorder = new Recorder(config);
|
|
108
|
+
_registerObservationSink(recorder);
|
|
109
|
+
const callTags = { ...(config.tags ?? {}) };
|
|
110
|
+
// runId ごとの開始状態 (= start で登録、 end/error で消費・削除)。
|
|
111
|
+
const runs = new Map();
|
|
112
|
+
// abort などで end/error が来ない run が溜まり続けないよう上限を設ける
|
|
113
|
+
// (= Map は挿入順を保つので、 超過時は最古を FIFO 退避)。
|
|
114
|
+
const MAX_PENDING_RUNS = 10000;
|
|
115
|
+
function buildTraceMeta() {
|
|
116
|
+
const meta = {};
|
|
117
|
+
const ambient = config.autoContext === false ? undefined : getAmbientTraceContext();
|
|
118
|
+
const traceId = config.traceId ?? ambient?.traceId;
|
|
119
|
+
if (traceId) {
|
|
120
|
+
meta.traceId = traceId;
|
|
121
|
+
meta.spanId = config.spanId ?? generateId();
|
|
122
|
+
const parent = config.parentSpanId ?? ambient?.spanId;
|
|
123
|
+
if (parent)
|
|
124
|
+
meta.parentSpanId = parent;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
if (config.spanId)
|
|
128
|
+
meta.spanId = config.spanId;
|
|
129
|
+
if (config.parentSpanId)
|
|
130
|
+
meta.parentSpanId = config.parentSpanId;
|
|
131
|
+
}
|
|
132
|
+
if (config.sessionId)
|
|
133
|
+
meta.sessionId = config.sessionId;
|
|
134
|
+
return meta;
|
|
135
|
+
}
|
|
136
|
+
function onStart(llm, runId, extraParams) {
|
|
137
|
+
const provider = config.provider ?? mapProvider(llm);
|
|
138
|
+
if (provider === null) {
|
|
139
|
+
warnUnsupported(llm);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (runs.size >= MAX_PENDING_RUNS) {
|
|
143
|
+
const oldest = runs.keys().next().value;
|
|
144
|
+
if (oldest !== undefined)
|
|
145
|
+
runs.delete(oldest);
|
|
146
|
+
}
|
|
147
|
+
runs.set(runId, {
|
|
148
|
+
start: Date.now(),
|
|
149
|
+
model: resolveModel(extraParams),
|
|
150
|
+
provider,
|
|
151
|
+
traceMeta: buildTraceMeta(),
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
const handler = {
|
|
155
|
+
name: "argosvix_handler",
|
|
156
|
+
handleLLMStart(llm, _prompts, runId, _parentRunId, extraParams) {
|
|
157
|
+
safeRun(() => onStart(llm, runId, extraParams));
|
|
158
|
+
},
|
|
159
|
+
handleChatModelStart(llm, _messages, runId, _parentRunId, extraParams) {
|
|
160
|
+
safeRun(() => onStart(llm, runId, extraParams));
|
|
161
|
+
},
|
|
162
|
+
handleLLMNewToken(_token, _idx, runId) {
|
|
163
|
+
safeRun(() => {
|
|
164
|
+
if (!runId)
|
|
165
|
+
return;
|
|
166
|
+
const state = runs.get(runId);
|
|
167
|
+
if (state && state.ttftMs === undefined) {
|
|
168
|
+
state.ttftMs = Date.now() - state.start;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
},
|
|
172
|
+
handleLLMEnd(output, runId) {
|
|
173
|
+
const state = runs.get(runId);
|
|
174
|
+
if (!state)
|
|
175
|
+
return; // 未対応 provider 等で start が無い
|
|
176
|
+
runs.delete(runId);
|
|
177
|
+
safeRun(() => {
|
|
178
|
+
const t = extractTokens(output);
|
|
179
|
+
const model = t.modelName ?? state.model;
|
|
180
|
+
const cost = calculateCostWithCache(state.provider, model, t.promptTokens, t.completionTokens, t.cachedReadTokens, t.cachedWriteTokens);
|
|
181
|
+
const record = {
|
|
182
|
+
id: generateId(),
|
|
183
|
+
provider: state.provider,
|
|
184
|
+
model,
|
|
185
|
+
promptTokens: t.promptTokens,
|
|
186
|
+
completionTokens: t.completionTokens,
|
|
187
|
+
totalTokens: t.totalTokens,
|
|
188
|
+
costUsd: cost.costUsd,
|
|
189
|
+
latencyMs: Date.now() - state.start,
|
|
190
|
+
timestamp: new Date().toISOString(),
|
|
191
|
+
tags: callTags,
|
|
192
|
+
...state.traceMeta,
|
|
193
|
+
...(t.cachedReadTokens > 0 ? { cachedReadTokens: t.cachedReadTokens } : {}),
|
|
194
|
+
...(t.cachedWriteTokens > 0 ? { cachedWriteTokens: t.cachedWriteTokens } : {}),
|
|
195
|
+
...(cost.cacheSavingsUsd > 0 ? { cacheSavingsUsd: cost.cacheSavingsUsd } : {}),
|
|
196
|
+
...(t.reasoningTokens > 0 ? { reasoningTokens: t.reasoningTokens } : {}),
|
|
197
|
+
...(state.ttftMs !== undefined ? { ttftMs: state.ttftMs } : {}),
|
|
198
|
+
};
|
|
199
|
+
recorder.record(record);
|
|
200
|
+
});
|
|
201
|
+
},
|
|
202
|
+
handleLLMError(err, runId) {
|
|
203
|
+
const state = runs.get(runId);
|
|
204
|
+
if (!state)
|
|
205
|
+
return;
|
|
206
|
+
runs.delete(runId);
|
|
207
|
+
safeRun(() => recorder.record({
|
|
208
|
+
id: generateId(),
|
|
209
|
+
provider: state.provider,
|
|
210
|
+
model: state.model,
|
|
211
|
+
promptTokens: 0,
|
|
212
|
+
completionTokens: 0,
|
|
213
|
+
totalTokens: 0,
|
|
214
|
+
costUsd: 0,
|
|
215
|
+
latencyMs: Date.now() - state.start,
|
|
216
|
+
timestamp: new Date().toISOString(),
|
|
217
|
+
tags: callTags,
|
|
218
|
+
...state.traceMeta,
|
|
219
|
+
error: err instanceof Error ? err.message : String(err),
|
|
220
|
+
}));
|
|
221
|
+
},
|
|
222
|
+
async flush() {
|
|
223
|
+
try {
|
|
224
|
+
await recorder.flush();
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
// eslint-disable-next-line no-console
|
|
228
|
+
console.error("[argosvix] LangChain handler flush failed:", err);
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
recorder,
|
|
232
|
+
};
|
|
233
|
+
_registerRecorderFor(handler, recorder);
|
|
234
|
+
return handler;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=langchainCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchainCallback.js","sourceRoot":"","sources":["../src/langchainCallback.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@argosvix/sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.14-alpha.0",
|
|
4
4
|
"description": "Drop-in observability wrapper for OpenAI, Anthropic, Gemini, Mistral SDK clients. One-line wrap() = cost / latency / quality records.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"argosvix",
|