@eddyskywalker/dsh-chatgpt-subscription 0.48.2 → 0.48.4
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/CHANGELOG.md +17 -0
- package/lib/client.js +7 -4
- package/lib/client.js.map +1 -1
- package/lib/index.js +47 -5
- package/lib/types/client/workbuddy/WorkBuddySection.d.ts.map +1 -1
- package/lib/types/compat.d.ts +1 -1
- package/lib/types/host/common/llm-compat.d.ts +3 -1
- package/lib/types/host/common/llm-compat.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -145,7 +145,7 @@ const ROUTE_PREFIX$5 = "/api/dsh-chatgpt-subscription";
|
|
|
145
145
|
* `test/responses-client.test.ts` asserts the two agree, so a release that
|
|
146
146
|
* forgets this constant fails the suite instead of shipping quietly.
|
|
147
147
|
*/
|
|
148
|
-
const PLUGIN_VERSION = "0.48.
|
|
148
|
+
const PLUGIN_VERSION = "0.48.4";
|
|
149
149
|
const CODEX_CHATGPT_PROVIDER_ID = "codex-chatgpt";
|
|
150
150
|
const CODEX_API_BASE = "https://chatgpt.com/backend-api/codex";
|
|
151
151
|
const CODEX_RESPONSES_URL = `${CODEX_API_BASE}/responses`;
|
|
@@ -5025,12 +5025,52 @@ function readBlocks(raw) {
|
|
|
5025
5025
|
return raw.filter((block) => isRecord$58(block) && typeof block.type === "string");
|
|
5026
5026
|
}
|
|
5027
5027
|
/**
|
|
5028
|
+
* The first value that is a non-empty string.
|
|
5029
|
+
*
|
|
5030
|
+
* Used for fields the two generations spell in different places: a value that
|
|
5031
|
+
* is present but empty must not shadow a real one further down the chain, which
|
|
5032
|
+
* is what `??` alone does.
|
|
5033
|
+
*/
|
|
5034
|
+
function firstNonEmptyString(...values) {
|
|
5035
|
+
for (const value of values) if (typeof value === "string" && value !== "") return value;
|
|
5036
|
+
return "";
|
|
5037
|
+
}
|
|
5038
|
+
/**
|
|
5039
|
+
* The result block a `role: 'tool'` message already carries inside its body.
|
|
5040
|
+
*
|
|
5041
|
+
* Some harness generations deliver the call id inside the result block rather
|
|
5042
|
+
* than on the message, and one shape carries both: `role: 'tool'` with a
|
|
5043
|
+
* `tool-result` block holding the id. Reading only the message-level fields
|
|
5044
|
+
* leaves {@link toolCallIdOf} nothing to find.
|
|
5045
|
+
*/
|
|
5046
|
+
function embeddedToolResult(content) {
|
|
5047
|
+
if (content.length !== 1) return void 0;
|
|
5048
|
+
const [block] = content;
|
|
5049
|
+
return block?.type === "tool-result" ? block : void 0;
|
|
5050
|
+
}
|
|
5051
|
+
/**
|
|
5052
|
+
* The call id one `role: 'tool'` message associates with its `tool-call`.
|
|
5053
|
+
*
|
|
5054
|
+
* The id is the only thing tying a result to the call it answers: a mapper that
|
|
5055
|
+
* sends it empty makes every result an orphan and tells the repair pass that no
|
|
5056
|
+
* call was answered, which some gateways reject outright (WorkBuddy answers
|
|
5057
|
+
* `11148`, "tool calls and tool results do not match"). It therefore has to be
|
|
5058
|
+
* read from every place the harness generations put it — the message, the
|
|
5059
|
+
* message's source, and the result block inside the body — and an empty string
|
|
5060
|
+
* must not shadow a later, real one.
|
|
5061
|
+
*/
|
|
5062
|
+
function toolCallIdOf(raw, source, embedded) {
|
|
5063
|
+
return firstNonEmptyString(raw.toolCallId, raw.callId, source?.callId, embedded?.toolCallId);
|
|
5064
|
+
}
|
|
5065
|
+
/**
|
|
5028
5066
|
* Normalize one harness message list into {@link Message}.
|
|
5029
5067
|
*
|
|
5030
5068
|
* A 0.1.7 `role: 'tool'` message is re-wrapped as the user-role message holding
|
|
5031
5069
|
* one {@link ToolResultBlock} that the mappers expect, keeping the tool
|
|
5032
5070
|
* provenance (`kind: 'tool'`) they use to tell a real tool result from a user
|
|
5033
|
-
* turn.
|
|
5071
|
+
* turn. A message that already carries that block keeps its own body instead of
|
|
5072
|
+
* nesting a second `tool-result` around it. Everything a newer harness adds
|
|
5073
|
+
* beside that keeps its own shape.
|
|
5034
5074
|
* @param messages - Messages straight off the request options, in either generation's shape.
|
|
5035
5075
|
* @returns The same conversation in the pre-0.1.7 vocabulary.
|
|
5036
5076
|
*/
|
|
@@ -5041,15 +5081,17 @@ function normalizeMessages(messages) {
|
|
|
5041
5081
|
const content = readBlocks(raw.content);
|
|
5042
5082
|
if (raw.role === "tool") {
|
|
5043
5083
|
const source = isRecord$58(raw.source) ? raw.source : void 0;
|
|
5044
|
-
const
|
|
5084
|
+
const embedded = embeddedToolResult(content);
|
|
5085
|
+
const callId = toolCallIdOf(raw, source, embedded);
|
|
5086
|
+
const isError = raw.isError === true || embedded?.isError === true;
|
|
5045
5087
|
normalized.push({
|
|
5046
5088
|
id: raw.id,
|
|
5047
5089
|
role: "user",
|
|
5048
5090
|
content: [{
|
|
5049
5091
|
type: "tool-result",
|
|
5050
5092
|
toolCallId: callId,
|
|
5051
|
-
content,
|
|
5052
|
-
...
|
|
5093
|
+
content: embedded === void 0 ? content : embedded.content,
|
|
5094
|
+
...isError ? { isError: true } : {}
|
|
5053
5095
|
}],
|
|
5054
5096
|
source: {
|
|
5055
5097
|
kind: "tool",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EACV,8BAA8B,EAE9B,qBAAqB,EACrB,qBAAqB,EAIrB,eAAe,EAChB,MAAM,qCAAqC,CAAA;AAS5C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAgB,EAAE,EAAE,MAAM,cAAc,CAAA;AAkB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,KAAK,MAAM,CAAA;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAChD,GACA,MAAM,GAAG,IAAI,CA4Bf;AAED,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,OAAO,EAAE,EACP,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,+BAA+B,GAC/B,yBAAyB,GACzB,4BAA4B,GAC5B,+BAA+B,GAC/B,mCAAmC,GACnC,6BAA6B,CAChC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAO3F;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAOtG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAItG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,CAAC,EAAE,eAAe,EAClB,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB/D;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,8BAA8B,GAAG,SAAS,EACvD,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,GAAG,SAAS,GAAG,0BAA0B,CAAC,GAC/E,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EACV,8BAA8B,EAE9B,qBAAqB,EACrB,qBAAqB,EAIrB,eAAe,EAChB,MAAM,qCAAqC,CAAA;AAS5C,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAgB,EAAE,EAAE,MAAM,cAAc,CAAA;AAkB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,MAAM,EAAE;IACN,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,KAAK,MAAM,CAAA;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAA;CAChD,GACA,MAAM,GAAG,IAAI,CA4Bf;AAED,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,OAAO,EAAE,EACP,WAAW,GACX,YAAY,GACZ,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,GAClB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,+BAA+B,GAC/B,yBAAyB,GACzB,4BAA4B,GAC5B,+BAA+B,GAC/B,mCAAmC,GACnC,6BAA6B,CAChC,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,CAO3F;AAED,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAOtG;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAItG;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,CAAC,EAAE,eAAe,EAClB,GAAG,EAAE,MAAM,GACV;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB/D;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,8BAA8B,GAAG,SAAS,EACvD,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,GAAG,SAAS,GAAG,0BAA0B,CAAC,GAC/E,MAAM,EAAE,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CA+gBjH"}
|
package/lib/types/compat.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare const ROUTE_PREFIX: "/api/dsh-chatgpt-subscription";
|
|
|
71
71
|
* `test/responses-client.test.ts` asserts the two agree, so a release that
|
|
72
72
|
* forgets this constant fails the suite instead of shipping quietly.
|
|
73
73
|
*/
|
|
74
|
-
export declare const PLUGIN_VERSION: "0.48.
|
|
74
|
+
export declare const PLUGIN_VERSION: "0.48.4";
|
|
75
75
|
export declare const CODEX_CHATGPT_PROVIDER_ID: "codex-chatgpt";
|
|
76
76
|
export { MINIMAX_CODE_PROVIDER_ID, MINIMAX_CODE_ROUTE_PREFIX } from './shared/minimax-code-contracts.ts';
|
|
77
77
|
export declare const CODEX_API_BASE: "https://chatgpt.com/backend-api/codex";
|
|
@@ -93,7 +93,9 @@ export type GenerateOptions = Omit<HarnessGenerateOptions, 'messages' | 'tools'>
|
|
|
93
93
|
* A 0.1.7 `role: 'tool'` message is re-wrapped as the user-role message holding
|
|
94
94
|
* one {@link ToolResultBlock} that the mappers expect, keeping the tool
|
|
95
95
|
* provenance (`kind: 'tool'`) they use to tell a real tool result from a user
|
|
96
|
-
* turn.
|
|
96
|
+
* turn. A message that already carries that block keeps its own body instead of
|
|
97
|
+
* nesting a second `tool-result` around it. Everything a newer harness adds
|
|
98
|
+
* beside that keeps its own shape.
|
|
97
99
|
* @param messages - Messages straight off the request options, in either generation's shape.
|
|
98
100
|
* @returns The same conversation in the pre-0.1.7 vocabulary.
|
|
99
101
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-compat.d.ts","sourceRoot":"","sources":["../../../../src/host/common/llm-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,mBAAmB,EACnC,eAAe,IAAI,sBAAsB,EACzC,UAAU,IAAI,iBAAiB,EAChC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,yEAAyE;QACzE,0BAA0B,EAAE;YAAE,IAAI,EAAE,0BAA0B,CAAA;SAAE,GAAG,aAAa,CAAA;KACjF;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAA;AAE7E,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAC5E,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAA;AAEhH,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,KAAK,kBAAkB,GAAG,sBAAsB,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GAAG,OAAO,GAAG,OAAO,CAAA;AAE5G,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACjF,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,YAAY,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC1D,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC,CAAA;
|
|
1
|
+
{"version":3,"file":"llm-compat.d.ts","sourceRoot":"","sources":["../../../../src/host/common/llm-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,mBAAmB,EACnC,eAAe,IAAI,sBAAsB,EACzC,UAAU,IAAI,iBAAiB,EAChC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,yEAAyE;QACzE,0BAA0B,EAAE;YAAE,IAAI,EAAE,0BAA0B,CAAA;SAAE,GAAG,aAAa,CAAA;KACjF;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAA;AAE7E,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,GAC5E,eAAe,GACf,iBAAiB,GACjB,gBAAgB,CAAA;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC,CAAA;AAEhH,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAChC;AAED,KAAK,kBAAkB,GAAG,sBAAsB,SAAS;IAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;CAAE,GAAG,OAAO,GAAG,OAAO,CAAA;AAE5G,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACjF,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG;QAAE,YAAY,CAAC,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC1D,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC,CAAA;AAuDD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE,CA+BrF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEzF"}
|