@ai-group/chat-sdk 3.7.1-alpha5 → 3.7.1-alpha8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +11 -1
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +144 -14
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js +44 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.d.ts +2 -2
- package/dist/cjs/components/XAdkChatbot/index.js +43 -13
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +7 -2
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +68 -17
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +2 -1
- package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +1 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js +16 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/context/ChatSenderStateContext.d.ts +4 -0
- package/dist/cjs/components/XAdkProvider/context/ChatSenderStateContext.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/index.js +9 -8
- package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
- package/dist/cjs/components/XAdkSender/InlineTagInput.js +223 -24
- package/dist/cjs/components/XAdkSender/InlineTagInput.js.map +2 -2
- package/dist/cjs/components/XAdkSender/InputTags.js.map +2 -2
- package/dist/cjs/components/XAdkSender/index.js +21 -55
- package/dist/cjs/components/XAdkSender/index.js.map +2 -2
- package/dist/cjs/components/XAdkSender/styles.js +13 -0
- package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
- package/dist/cjs/hooks/useADKChat.js +5 -1
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +14 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/presets/xgroup/index.d.ts +1 -0
- package/dist/cjs/presets/xgroup/index.js +2 -0
- package/dist/cjs/presets/xgroup/index.js.map +2 -2
- package/dist/cjs/presets/xgroup/knowledgeReference.d.ts +17 -0
- package/dist/cjs/presets/xgroup/knowledgeReference.js +160 -0
- package/dist/cjs/presets/xgroup/knowledgeReference.js.map +7 -0
- package/dist/cjs/presets/xgroup/preset.d.ts +3 -1
- package/dist/cjs/presets/xgroup/preset.js +17 -0
- package/dist/cjs/presets/xgroup/preset.js.map +2 -2
- package/dist/cjs/presets/xgroup/strategies.d.ts +1 -1
- package/dist/cjs/presets/xgroup/strategies.js +3 -5
- package/dist/cjs/presets/xgroup/strategies.js.map +2 -2
- package/dist/cjs/types/ChatStrategies.d.ts +3 -1
- package/dist/cjs/types/ChatStrategies.js.map +1 -1
- package/dist/cjs/types/XAdkChatbot.d.ts +18 -0
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkSender.d.ts +10 -3
- package/dist/cjs/types/XAdkSender.js.map +1 -1
- package/dist/cjs/utils/markdownResource.d.ts +5 -2
- package/dist/cjs/utils/markdownResource.js +57 -5
- package/dist/cjs/utils/markdownResource.js.map +2 -2
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +11 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +147 -25
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js +2 -2
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.d.ts +2 -2
- package/dist/esm/components/XAdkChatbot/index.js +36 -10
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +7 -2
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +64 -16
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +2 -1
- package/dist/esm/components/XAdkProvider/compound/Sender.js +2 -1
- package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/styles.d.ts +1 -0
- package/dist/esm/components/XAdkProvider/compound/styles.js +3 -2
- package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -1
- package/dist/esm/components/XAdkProvider/context/ChatSenderStateContext.d.ts +4 -0
- package/dist/esm/components/XAdkProvider/context/ChatSenderStateContext.js.map +1 -1
- package/dist/esm/components/XAdkProvider/index.js +6 -2
- package/dist/esm/components/XAdkProvider/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/InlineTagInput.js +209 -10
- package/dist/esm/components/XAdkSender/InlineTagInput.js.map +1 -1
- package/dist/esm/components/XAdkSender/InputTags.js +1 -0
- package/dist/esm/components/XAdkSender/InputTags.js.map +1 -1
- package/dist/esm/components/XAdkSender/index.js +25 -58
- package/dist/esm/components/XAdkSender/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/styles.js +1 -1
- package/dist/esm/components/XAdkSender/styles.js.map +1 -1
- package/dist/esm/hooks/useADKChat.js +8 -2
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/presets/xgroup/index.d.ts +1 -0
- package/dist/esm/presets/xgroup/index.js +1 -0
- package/dist/esm/presets/xgroup/index.js.map +1 -1
- package/dist/esm/presets/xgroup/knowledgeReference.d.ts +17 -0
- package/dist/esm/presets/xgroup/knowledgeReference.js +94 -0
- package/dist/esm/presets/xgroup/knowledgeReference.js.map +1 -0
- package/dist/esm/presets/xgroup/preset.d.ts +3 -1
- package/dist/esm/presets/xgroup/preset.js +15 -0
- package/dist/esm/presets/xgroup/preset.js.map +1 -1
- package/dist/esm/presets/xgroup/strategies.d.ts +1 -1
- package/dist/esm/presets/xgroup/strategies.js +3 -3
- package/dist/esm/presets/xgroup/strategies.js.map +1 -1
- package/dist/esm/types/ChatStrategies.d.ts +3 -1
- package/dist/esm/types/ChatStrategies.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +18 -0
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +10 -3
- package/dist/esm/types/XAdkSender.js.map +1 -1
- package/dist/esm/utils/markdownResource.d.ts +5 -2
- package/dist/esm/utils/markdownResource.js +66 -1
- package/dist/esm/utils/markdownResource.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export var MARKDOWN_RESOURCE_LINK_SCHEMES = ["skill", "
|
|
1
|
+
export var MARKDOWN_RESOURCE_LINK_SCHEMES = ["skill", "kb"
|
|
2
|
+
// "plugin",
|
|
3
|
+
// "tool",
|
|
4
|
+
// "knowledge",
|
|
5
|
+
// "agent",
|
|
6
|
+
// "model",
|
|
7
|
+
];
|
|
2
8
|
var getResourceLinkSchemeSet = function getResourceLinkSchemeSet(options) {
|
|
3
9
|
return new Set((options === null || options === void 0 ? void 0 : options.schemes) || MARKDOWN_RESOURCE_LINK_SCHEMES);
|
|
4
10
|
};
|
|
@@ -6,6 +12,65 @@ var RESOURCE_LINK_REGEX = /\[([^\]\n]+)\]\(([a-z][a-z0-9+.-]*:\/{2,3}[^)\s]+)\)/
|
|
|
6
12
|
var stripTriggerPrefix = function stripTriggerPrefix(label) {
|
|
7
13
|
return label.replace(/^[@/#$]+/, "");
|
|
8
14
|
};
|
|
15
|
+
export var getMarkdownResourceDisplayLabel = function getMarkdownResourceDisplayLabel(label) {
|
|
16
|
+
return stripTriggerPrefix(label).trim();
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/** 将包含资源链接的 Markdown 还原成 Sender 可编辑的有序片段。 */
|
|
20
|
+
export var parseMarkdownResourceLinksAsParts = function parseMarkdownResourceLinksAsParts(text, options) {
|
|
21
|
+
if (!text) return [];
|
|
22
|
+
var parts = [];
|
|
23
|
+
var lastIndex = 0;
|
|
24
|
+
var mentionIndex = 0;
|
|
25
|
+
var regex = new RegExp(RESOURCE_LINK_REGEX.source, RESOURCE_LINK_REGEX.flags);
|
|
26
|
+
var match;
|
|
27
|
+
while ((match = regex.exec(text)) !== null) {
|
|
28
|
+
var _match$index, _label$match;
|
|
29
|
+
var source = match[0];
|
|
30
|
+
var label = match[1] || "";
|
|
31
|
+
var href = match[2] || "";
|
|
32
|
+
var start = (_match$index = match.index) !== null && _match$index !== void 0 ? _match$index : 0;
|
|
33
|
+
var _link = parseMarkdownResourceHref(href, label, options);
|
|
34
|
+
if (!_link) continue;
|
|
35
|
+
if (start > lastIndex) {
|
|
36
|
+
parts.push({
|
|
37
|
+
type: "text",
|
|
38
|
+
text: text.slice(lastIndex, start)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
var displayName = getMarkdownResourceDisplayLabel(_link.label || _link.value);
|
|
42
|
+
var mention = {
|
|
43
|
+
id: "pasted-".concat(_link.type, "-").concat(mentionIndex, "-").concat(Date.now().toString(36)),
|
|
44
|
+
label: displayName,
|
|
45
|
+
displayName: displayName,
|
|
46
|
+
type: _link.type,
|
|
47
|
+
uri: _link.href,
|
|
48
|
+
targetId: _link.value,
|
|
49
|
+
value: _link.value,
|
|
50
|
+
trigger: (_label$match = label.match(/^[@/#$]+/)) === null || _label$match === void 0 ? void 0 : _label$match[0],
|
|
51
|
+
data: {
|
|
52
|
+
uri: _link.href,
|
|
53
|
+
value: _link.value
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
parts.push({
|
|
57
|
+
type: "mention",
|
|
58
|
+
mention: mention
|
|
59
|
+
});
|
|
60
|
+
mentionIndex += 1;
|
|
61
|
+
lastIndex = start + source.length;
|
|
62
|
+
}
|
|
63
|
+
if (lastIndex < text.length) {
|
|
64
|
+
parts.push({
|
|
65
|
+
type: "text",
|
|
66
|
+
text: text.slice(lastIndex)
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return parts.length > 0 ? parts : [{
|
|
70
|
+
type: "text",
|
|
71
|
+
text: text
|
|
72
|
+
}];
|
|
73
|
+
};
|
|
9
74
|
export var parseMarkdownResourceHref = function parseMarkdownResourceHref(href) {
|
|
10
75
|
var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
11
76
|
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MARKDOWN_RESOURCE_LINK_SCHEMES","getResourceLinkSchemeSet","options","Set","schemes","RESOURCE_LINK_REGEX","stripTriggerPrefix","label","replace","
|
|
1
|
+
{"version":3,"names":["MARKDOWN_RESOURCE_LINK_SCHEMES","getResourceLinkSchemeSet","options","Set","schemes","RESOURCE_LINK_REGEX","stripTriggerPrefix","label","replace","getMarkdownResourceDisplayLabel","trim","parseMarkdownResourceLinksAsParts","text","parts","lastIndex","mentionIndex","regex","RegExp","source","flags","match","exec","_match$index","_label$match","href","start","index","link","parseMarkdownResourceHref","push","type","slice","displayName","value","mention","id","concat","Date","now","toString","uri","targetId","trigger","data","length","arguments","undefined","toLowerCase","has","decodeURIComponent","replaceMarkdownResourceLinks","replacer","formatMarkdownResourceLinksAsText","stripTrigger"],"sources":["../../../src/utils/markdownResource.ts"],"sourcesContent":["import type {\n MarkdownResourceLink,\n MentionTag,\n XAdkSenderSubmitPart,\n} from \"@/types\";\n\nexport const MARKDOWN_RESOURCE_LINK_SCHEMES = [\n \"skill\",\n \"kb\",\n // \"plugin\",\n // \"tool\",\n // \"knowledge\",\n // \"agent\",\n // \"model\",\n] as const;\n\nexport type MarkdownResourceLinkScheme =\n | (typeof MARKDOWN_RESOURCE_LINK_SCHEMES)[number]\n | (string & {});\n\nexport interface MarkdownResourceLinkOptions {\n schemes?: readonly MarkdownResourceLinkScheme[];\n}\n\nconst getResourceLinkSchemeSet = (options?: MarkdownResourceLinkOptions) =>\n new Set<string>(options?.schemes || MARKDOWN_RESOURCE_LINK_SCHEMES);\n\nconst RESOURCE_LINK_REGEX =\n /\\[([^\\]\\n]+)\\]\\(([a-z][a-z0-9+.-]*:\\/{2,3}[^)\\s]+)\\)/gi;\n\nconst stripTriggerPrefix = (label: string) => label.replace(/^[@/#$]+/, \"\");\n\nexport const getMarkdownResourceDisplayLabel = (label: string) =>\n stripTriggerPrefix(label).trim();\n\n/** 将包含资源链接的 Markdown 还原成 Sender 可编辑的有序片段。 */\nexport const parseMarkdownResourceLinksAsParts = (\n text: string,\n options?: MarkdownResourceLinkOptions,\n): XAdkSenderSubmitPart[] => {\n if (!text) return [];\n\n const parts: XAdkSenderSubmitPart[] = [];\n let lastIndex = 0;\n let mentionIndex = 0;\n const regex = new RegExp(\n RESOURCE_LINK_REGEX.source,\n RESOURCE_LINK_REGEX.flags,\n );\n\n let match: RegExpExecArray | null;\n while ((match = regex.exec(text)) !== null) {\n const source = match[0];\n const label = match[1] || \"\";\n const href = match[2] || \"\";\n const start = match.index ?? 0;\n const link = parseMarkdownResourceHref(href, label, options);\n if (!link) continue;\n\n if (start > lastIndex) {\n parts.push({ type: \"text\", text: text.slice(lastIndex, start) });\n }\n\n const displayName = getMarkdownResourceDisplayLabel(\n link.label || link.value,\n );\n const mention: MentionTag = {\n id: `pasted-${link.type}-${mentionIndex}-${Date.now().toString(36)}`,\n label: displayName,\n displayName,\n type: link.type,\n uri: link.href,\n targetId: link.value,\n value: link.value,\n trigger: label.match(/^[@/#$]+/)?.[0],\n data: { uri: link.href, value: link.value },\n };\n parts.push({ type: \"mention\", mention });\n mentionIndex += 1;\n lastIndex = start + source.length;\n }\n\n if (lastIndex < text.length) {\n parts.push({ type: \"text\", text: text.slice(lastIndex) });\n }\n return parts.length > 0 ? parts : [{ type: \"text\", text }];\n};\n\nexport const parseMarkdownResourceHref = (\n href: string,\n label = \"\",\n options?: MarkdownResourceLinkOptions,\n): MarkdownResourceLink | null => {\n const match = href.match(/^([a-z][a-z0-9+.-]*):\\/{2,3}(.+)$/i);\n if (!match) return null;\n\n const type = match[1].toLowerCase();\n if (!getResourceLinkSchemeSet(options).has(type)) return null;\n\n return {\n href,\n label: label || href,\n type,\n value: decodeURIComponent(match[2]),\n };\n};\n\nexport const replaceMarkdownResourceLinks = (\n text: string,\n replacer: (link: MarkdownResourceLink) => string,\n options?: MarkdownResourceLinkOptions,\n) => {\n if (!text) return \"\";\n return text.replace(\n RESOURCE_LINK_REGEX,\n (source, label: string, href: string) => {\n const link = parseMarkdownResourceHref(href, label, options);\n return link ? replacer(link) : source;\n },\n );\n};\n\nexport const formatMarkdownResourceLinksAsText = (\n text: string,\n options?: MarkdownResourceLinkOptions & { stripTrigger?: boolean },\n) =>\n replaceMarkdownResourceLinks(\n text,\n (link) => {\n const label = link.label || link.value;\n return options?.stripTrigger === false\n ? label\n : stripTriggerPrefix(label);\n },\n options,\n );\n"],"mappings":"AAMA,OAAO,IAAMA,8BAA8B,GAAG,CAC5C,OAAO,EACP;AACA;AACA;AACA;AACA;AACA;AAAA,CACQ;AAUV,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,OAAqC;EAAA,OACrE,IAAIC,GAAG,CAAS,CAAAD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,OAAO,KAAIJ,8BAA8B,CAAC;AAAA;AAErE,IAAMK,mBAAmB,GACvB,wDAAwD;AAE1D,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,KAAa;EAAA,OAAKA,KAAK,CAACC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAAA;AAE3E,OAAO,IAAMC,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAIF,KAAa;EAAA,OAC3DD,kBAAkB,CAACC,KAAK,CAAC,CAACG,IAAI,CAAC,CAAC;AAAA;;AAElC;AACA,OAAO,IAAMC,iCAAiC,GAAG,SAApCA,iCAAiCA,CAC5CC,IAAY,EACZV,OAAqC,EACV;EAC3B,IAAI,CAACU,IAAI,EAAE,OAAO,EAAE;EAEpB,IAAMC,KAA6B,GAAG,EAAE;EACxC,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,YAAY,GAAG,CAAC;EACpB,IAAMC,KAAK,GAAG,IAAIC,MAAM,CACtBZ,mBAAmB,CAACa,MAAM,EAC1Bb,mBAAmB,CAACc,KACtB,CAAC;EAED,IAAIC,KAA6B;EACjC,OAAO,CAACA,KAAK,GAAGJ,KAAK,CAACK,IAAI,CAACT,IAAI,CAAC,MAAM,IAAI,EAAE;IAAA,IAAAU,YAAA,EAAAC,YAAA;IAC1C,IAAML,MAAM,GAAGE,KAAK,CAAC,CAAC,CAAC;IACvB,IAAMb,KAAK,GAAGa,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;IAC5B,IAAMI,IAAI,GAAGJ,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;IAC3B,IAAMK,KAAK,IAAAH,YAAA,GAAGF,KAAK,CAACM,KAAK,cAAAJ,YAAA,cAAAA,YAAA,GAAI,CAAC;IAC9B,IAAMK,KAAI,GAAGC,yBAAyB,CAACJ,IAAI,EAAEjB,KAAK,EAAEL,OAAO,CAAC;IAC5D,IAAI,CAACyB,KAAI,EAAE;IAEX,IAAIF,KAAK,GAAGX,SAAS,EAAE;MACrBD,KAAK,CAACgB,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAElB,IAAI,EAAEA,IAAI,CAACmB,KAAK,CAACjB,SAAS,EAAEW,KAAK;MAAE,CAAC,CAAC;IAClE;IAEA,IAAMO,WAAW,GAAGvB,+BAA+B,CACjDkB,KAAI,CAACpB,KAAK,IAAIoB,KAAI,CAACM,KACrB,CAAC;IACD,IAAMC,OAAmB,GAAG;MAC1BC,EAAE,YAAAC,MAAA,CAAYT,KAAI,CAACG,IAAI,OAAAM,MAAA,CAAIrB,YAAY,OAAAqB,MAAA,CAAIC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAAE;MACpEhC,KAAK,EAAEyB,WAAW;MAClBA,WAAW,EAAXA,WAAW;MACXF,IAAI,EAAEH,KAAI,CAACG,IAAI;MACfU,GAAG,EAAEb,KAAI,CAACH,IAAI;MACdiB,QAAQ,EAAEd,KAAI,CAACM,KAAK;MACpBA,KAAK,EAAEN,KAAI,CAACM,KAAK;MACjBS,OAAO,GAAAnB,YAAA,GAAEhB,KAAK,CAACa,KAAK,CAAC,UAAU,CAAC,cAAAG,YAAA,uBAAvBA,YAAA,CAA0B,CAAC,CAAC;MACrCoB,IAAI,EAAE;QAAEH,GAAG,EAAEb,KAAI,CAACH,IAAI;QAAES,KAAK,EAAEN,KAAI,CAACM;MAAM;IAC5C,CAAC;IACDpB,KAAK,CAACgB,IAAI,CAAC;MAAEC,IAAI,EAAE,SAAS;MAAEI,OAAO,EAAPA;IAAQ,CAAC,CAAC;IACxCnB,YAAY,IAAI,CAAC;IACjBD,SAAS,GAAGW,KAAK,GAAGP,MAAM,CAAC0B,MAAM;EACnC;EAEA,IAAI9B,SAAS,GAAGF,IAAI,CAACgC,MAAM,EAAE;IAC3B/B,KAAK,CAACgB,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAElB,IAAI,EAAEA,IAAI,CAACmB,KAAK,CAACjB,SAAS;IAAE,CAAC,CAAC;EAC3D;EACA,OAAOD,KAAK,CAAC+B,MAAM,GAAG,CAAC,GAAG/B,KAAK,GAAG,CAAC;IAAEiB,IAAI,EAAE,MAAM;IAAElB,IAAI,EAAJA;EAAK,CAAC,CAAC;AAC5D,CAAC;AAED,OAAO,IAAMgB,yBAAyB,GAAG,SAA5BA,yBAAyBA,CACpCJ,IAAY,EAGoB;EAAA,IAFhCjB,KAAK,GAAAsC,SAAA,CAAAD,MAAA,QAAAC,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,EAAE;EAAA,IACV3C,OAAqC,GAAA2C,SAAA,CAAAD,MAAA,OAAAC,SAAA,MAAAC,SAAA;EAErC,IAAM1B,KAAK,GAAGI,IAAI,CAACJ,KAAK,CAAC,oCAAoC,CAAC;EAC9D,IAAI,CAACA,KAAK,EAAE,OAAO,IAAI;EAEvB,IAAMU,IAAI,GAAGV,KAAK,CAAC,CAAC,CAAC,CAAC2B,WAAW,CAAC,CAAC;EACnC,IAAI,CAAC9C,wBAAwB,CAACC,OAAO,CAAC,CAAC8C,GAAG,CAAClB,IAAI,CAAC,EAAE,OAAO,IAAI;EAE7D,OAAO;IACLN,IAAI,EAAJA,IAAI;IACJjB,KAAK,EAAEA,KAAK,IAAIiB,IAAI;IACpBM,IAAI,EAAJA,IAAI;IACJG,KAAK,EAAEgB,kBAAkB,CAAC7B,KAAK,CAAC,CAAC,CAAC;EACpC,CAAC;AACH,CAAC;AAED,OAAO,IAAM8B,4BAA4B,GAAG,SAA/BA,4BAA4BA,CACvCtC,IAAY,EACZuC,QAAgD,EAChDjD,OAAqC,EAClC;EACH,IAAI,CAACU,IAAI,EAAE,OAAO,EAAE;EACpB,OAAOA,IAAI,CAACJ,OAAO,CACjBH,mBAAmB,EACnB,UAACa,MAAM,EAAEX,KAAa,EAAEiB,IAAY,EAAK;IACvC,IAAMG,IAAI,GAAGC,yBAAyB,CAACJ,IAAI,EAAEjB,KAAK,EAAEL,OAAO,CAAC;IAC5D,OAAOyB,IAAI,GAAGwB,QAAQ,CAACxB,IAAI,CAAC,GAAGT,MAAM;EACvC,CACF,CAAC;AACH,CAAC;AAED,OAAO,IAAMkC,iCAAiC,GAAG,SAApCA,iCAAiCA,CAC5CxC,IAAY,EACZV,OAAkE;EAAA,OAElEgD,4BAA4B,CAC1BtC,IAAI,EACJ,UAACe,IAAI,EAAK;IACR,IAAMpB,KAAK,GAAGoB,IAAI,CAACpB,KAAK,IAAIoB,IAAI,CAACM,KAAK;IACtC,OAAO,CAAA/B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEmD,YAAY,MAAK,KAAK,GAClC9C,KAAK,GACLD,kBAAkB,CAACC,KAAK,CAAC;EAC/B,CAAC,EACDL,OACF,CAAC;AAAA"}
|