@rudderjs/ai 0.0.1 → 0.0.2

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.
Files changed (65) hide show
  1. package/README.md +89 -12
  2. package/boost/skills/ai-agents/SKILL.md +233 -0
  3. package/boost/skills/ai-tools/SKILL.md +244 -0
  4. package/dist/agent.d.ts.map +1 -1
  5. package/dist/agent.js +110 -0
  6. package/dist/agent.js.map +1 -1
  7. package/dist/commands/make-agent.d.ts +3 -0
  8. package/dist/commands/make-agent.d.ts.map +1 -0
  9. package/dist/commands/make-agent.js +23 -0
  10. package/dist/commands/make-agent.js.map +1 -0
  11. package/dist/facade.d.ts +28 -1
  12. package/dist/facade.d.ts.map +1 -1
  13. package/dist/facade.js +25 -0
  14. package/dist/facade.js.map +1 -1
  15. package/dist/fake.d.ts +31 -1
  16. package/dist/fake.d.ts.map +1 -1
  17. package/dist/fake.js +98 -0
  18. package/dist/fake.js.map +1 -1
  19. package/dist/files.d.ts +27 -0
  20. package/dist/files.d.ts.map +1 -0
  21. package/dist/files.js +44 -0
  22. package/dist/files.js.map +1 -0
  23. package/dist/index.d.ts +6 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +8 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/observers.d.ts +84 -0
  28. package/dist/observers.d.ts.map +1 -0
  29. package/dist/observers.js +40 -0
  30. package/dist/observers.js.map +1 -0
  31. package/dist/provider.d.ts +8 -6
  32. package/dist/provider.d.ts.map +1 -1
  33. package/dist/provider.js +86 -81
  34. package/dist/provider.js.map +1 -1
  35. package/dist/providers/anthropic.d.ts +2 -1
  36. package/dist/providers/anthropic.d.ts.map +1 -1
  37. package/dist/providers/anthropic.js +63 -0
  38. package/dist/providers/anthropic.js.map +1 -1
  39. package/dist/providers/cohere.d.ts +13 -0
  40. package/dist/providers/cohere.d.ts.map +1 -0
  41. package/dist/providers/cohere.js +87 -0
  42. package/dist/providers/cohere.js.map +1 -0
  43. package/dist/providers/google.d.ts +2 -1
  44. package/dist/providers/google.d.ts.map +1 -1
  45. package/dist/providers/google.js +53 -0
  46. package/dist/providers/google.js.map +1 -1
  47. package/dist/providers/jina.d.ts +13 -0
  48. package/dist/providers/jina.d.ts.map +1 -0
  49. package/dist/providers/jina.js +90 -0
  50. package/dist/providers/jina.js.map +1 -0
  51. package/dist/providers/openai.d.ts +2 -1
  52. package/dist/providers/openai.d.ts.map +1 -1
  53. package/dist/providers/openai.js +62 -0
  54. package/dist/providers/openai.js.map +1 -1
  55. package/dist/registry.d.ts +5 -1
  56. package/dist/registry.d.ts.map +1 -1
  57. package/dist/registry.js +19 -0
  58. package/dist/registry.js.map +1 -1
  59. package/dist/rerank.d.ts +20 -0
  60. package/dist/rerank.d.ts.map +1 -0
  61. package/dist/rerank.js +40 -0
  62. package/dist/rerank.js.map +1 -0
  63. package/dist/types.d.ts +46 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/package.json +18 -4
package/dist/agent.js CHANGED
@@ -3,6 +3,26 @@ import { isPauseForClientToolsChunk, toolToSchema } from './tool.js';
3
3
  import { attachmentsToContentParts, getMessageText } from './attachment.js';
4
4
  import { QueuedPromptBuilder } from './queue-job.js';
5
5
  import { runOnConfig, runOnChunk, runOnBeforeToolCall, runOnAfterToolCall, runSequential, runOnUsage, runOnAbort, runOnError, } from './middleware.js';
6
+ // ─── AI Observer (lazy accessor) ─────────────────────────
7
+ function _getAiObservers() {
8
+ return globalThis['__rudderjs_ai_observers__'] ?? null;
9
+ }
10
+ function _buildObserverSteps(steps, modelString) {
11
+ return steps.map((step, i) => ({
12
+ iteration: i + 1,
13
+ model: modelString,
14
+ tokens: { prompt: step.usage.promptTokens, completion: step.usage.completionTokens, total: step.usage.totalTokens },
15
+ finishReason: step.finishReason,
16
+ toolCalls: step.toolCalls.map(tc => ({
17
+ id: tc.id,
18
+ name: tc.name,
19
+ args: tc.arguments,
20
+ result: step.toolResults.find(r => r.toolCallId === tc.id)?.result,
21
+ duration: 0,
22
+ needsApproval: false,
23
+ })),
24
+ }));
25
+ }
6
26
  // ─── Stop Condition Combinators ──────────────────────────
7
27
  /** Stop after N steps */
8
28
  export function stepCountIs(n) {
@@ -266,11 +286,14 @@ function buildMiddlewareConfig(messages, a) {
266
286
  }
267
287
  // ─── Agent Loop (non-streaming) ──────────────────────────
268
288
  async function runAgentLoop(a, input, options) {
289
+ const loopStart = performance.now();
269
290
  const modelString = a.model() ?? AiRegistry.getDefault();
291
+ const [providerName] = AiRegistry.parseModelString(modelString);
270
292
  const tools = getTools(a);
271
293
  const middlewares = getMiddleware(a);
272
294
  const toolSchemas = buildToolSchemas(tools);
273
295
  const toolMap = buildToolMap(tools);
296
+ let failoverAttempts = 0;
274
297
  const messages = options?.messages
275
298
  ? [{ role: 'system', content: a.instructions() }, ...options.messages]
276
299
  : [
@@ -362,6 +385,7 @@ async function runAgentLoop(a, input, options) {
362
385
  }
363
386
  catch (err) {
364
387
  lastError = err instanceof Error ? err : new Error(String(err));
388
+ failoverAttempts++;
365
389
  if (tryModel === failoverModels[failoverModels.length - 1])
366
390
  throw lastError;
367
391
  }
@@ -507,6 +531,27 @@ async function runAgentLoop(a, input, options) {
507
531
  // onError
508
532
  if (middlewares.length > 0)
509
533
  await runOnError(middlewares, ctx, err);
534
+ // Emit observer event on failure
535
+ const obs = _getAiObservers();
536
+ if (obs) {
537
+ const inputText = options?.messages ? '' : input;
538
+ obs.emit({
539
+ kind: 'agent.failed',
540
+ agentName: a.constructor.name,
541
+ model: modelString,
542
+ provider: providerName,
543
+ input: inputText,
544
+ output: '',
545
+ steps: _buildObserverSteps(steps, modelString),
546
+ tokens: { prompt: totalUsage.promptTokens, completion: totalUsage.completionTokens, total: totalUsage.totalTokens },
547
+ duration: Math.round(performance.now() - loopStart),
548
+ finishReason: 'error',
549
+ streaming: false,
550
+ conversationId: null,
551
+ failoverAttempts,
552
+ error: err instanceof Error ? err.message : String(err),
553
+ });
554
+ }
510
555
  throw err;
511
556
  }
512
557
  // onFinish
@@ -526,6 +571,26 @@ async function runAgentLoop(a, input, options) {
526
571
  result.pendingApprovalToolCall = pendingApprovalToolCall;
527
572
  if (resumedToolMessages.length > 0)
528
573
  result.resumedToolMessages = resumedToolMessages;
574
+ // Emit observer event on success
575
+ const obs = _getAiObservers();
576
+ if (obs) {
577
+ const inputText = options?.messages ? '' : input;
578
+ obs.emit({
579
+ kind: 'agent.completed',
580
+ agentName: a.constructor.name,
581
+ model: modelString,
582
+ provider: providerName,
583
+ input: inputText,
584
+ output: result.text,
585
+ steps: _buildObserverSteps(steps, modelString),
586
+ tokens: { prompt: totalUsage.promptTokens, completion: totalUsage.completionTokens, total: totalUsage.totalTokens },
587
+ duration: Math.round(performance.now() - loopStart),
588
+ finishReason: result.finishReason ?? lastStep?.finishReason ?? 'stop',
589
+ streaming: false,
590
+ conversationId: null,
591
+ failoverAttempts,
592
+ });
593
+ }
529
594
  return result;
530
595
  }
531
596
  // ─── Agent Loop (streaming) ──────────────────────────────
@@ -533,11 +598,14 @@ function runAgentLoopStreaming(a, input, options) {
533
598
  let resolveResponse;
534
599
  const responsePromise = new Promise((resolve) => { resolveResponse = resolve; });
535
600
  async function* generateStream() {
601
+ const loopStart = performance.now();
536
602
  const modelString = a.model() ?? AiRegistry.getDefault();
603
+ const [providerName] = AiRegistry.parseModelString(modelString);
537
604
  const tools = getTools(a);
538
605
  const middlewares = getMiddleware(a);
539
606
  const toolSchemas = buildToolSchemas(tools);
540
607
  const toolMap = buildToolMap(tools);
608
+ let failoverAttempts = 0;
541
609
  const messages = options?.messages
542
610
  ? [{ role: 'system', content: a.instructions() }, ...options.messages]
543
611
  : [
@@ -627,6 +695,7 @@ function runAgentLoopStreaming(a, input, options) {
627
695
  }
628
696
  catch (err) {
629
697
  lastError = err instanceof Error ? err : new Error(String(err));
698
+ failoverAttempts++;
630
699
  if (tryModel === failoverModels[failoverModels.length - 1])
631
700
  throw lastError;
632
701
  }
@@ -853,6 +922,27 @@ function runAgentLoopStreaming(a, input, options) {
853
922
  // onError
854
923
  if (middlewares.length > 0)
855
924
  await runOnError(middlewares, ctx, err);
925
+ // Emit observer event on failure
926
+ const obs = _getAiObservers();
927
+ if (obs) {
928
+ const inputText = options?.messages ? '' : input;
929
+ obs.emit({
930
+ kind: 'agent.failed',
931
+ agentName: a.constructor.name,
932
+ model: modelString,
933
+ provider: providerName,
934
+ input: inputText,
935
+ output: '',
936
+ steps: _buildObserverSteps(steps, modelString),
937
+ tokens: { prompt: totalUsage.promptTokens, completion: totalUsage.completionTokens, total: totalUsage.totalTokens },
938
+ duration: Math.round(performance.now() - loopStart),
939
+ finishReason: 'error',
940
+ streaming: true,
941
+ conversationId: null,
942
+ failoverAttempts,
943
+ error: err instanceof Error ? err.message : String(err),
944
+ });
945
+ }
856
946
  throw err;
857
947
  }
858
948
  // onFinish
@@ -879,6 +969,26 @@ function runAgentLoopStreaming(a, input, options) {
879
969
  result.pendingApprovalToolCall = pendingApprovalToolCall;
880
970
  if (resumedToolMessages.length > 0)
881
971
  result.resumedToolMessages = resumedToolMessages;
972
+ // Emit observer event on success
973
+ const obs = _getAiObservers();
974
+ if (obs) {
975
+ const inputText = options?.messages ? '' : input;
976
+ obs.emit({
977
+ kind: 'agent.completed',
978
+ agentName: a.constructor.name,
979
+ model: modelString,
980
+ provider: providerName,
981
+ input: inputText,
982
+ output: result.text,
983
+ steps: _buildObserverSteps(steps, modelString),
984
+ tokens: { prompt: totalUsage.promptTokens, completion: totalUsage.completionTokens, total: totalUsage.totalTokens },
985
+ duration: Math.round(performance.now() - loopStart),
986
+ finishReason: result.finishReason ?? lastStep?.finishReason ?? 'stop',
987
+ streaming: true,
988
+ conversationId: null,
989
+ failoverAttempts,
990
+ });
991
+ }
882
992
  resolveResponse(result);
883
993
  }
884
994
  return {
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EACL,WAAW,EACX,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,iBAAiB,CAAA;AA4BxB,4DAA4D;AAE5D,yBAAyB;AACzB,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,OAAO,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAA;IAClE,CAAC,CAAA;AACH,CAAC;AAED,4DAA4D;AAE5D,MAAM,OAAgB,KAAK;IAIzB,uFAAuF;IACvF,KAAK,KAAyB,OAAO,SAAS,CAAA,CAAC,CAAC;IAEhD,sCAAsC;IACtC,QAAQ,KAAe,OAAO,EAAE,CAAA,CAAC,CAAC;IAElC,yDAAyD;IACzD,QAAQ,KAAa,OAAO,EAAE,CAAA,CAAC,CAAC;IAKhC,sDAAsD;IACtD,QAAQ;QACN,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,wBAAwB;IACxB,WAAW,KAAyB,OAAO,SAAS,CAAA,CAAC,CAAC;IAEtD,8BAA8B;IAC9B,SAAS,KAAyB,OAAO,SAAS,CAAA,CAAC,CAAC;IAEpD,kDAAkD;IAClD,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA4B;QACtD,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,8CAA8C;IAC9C,MAAM,CAAC,KAAa,EAAE,OAA4B;QAChD,OAAO,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,KAAa,EAAE,OAA4B;QAC/C,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,sDAAsD;IACtD,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,wCAAwC;IACxC,QAAQ,CAAC,cAAsB;QAC7B,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC5D,CAAC;CACF;AAED,2DAA2D;AAE3D;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAIE;IAHrB,OAAO,CAAoB;IAC3B,eAAe,CAAoB;IAE3C,YAA6B,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAE7C,OAAO,CAAC,MAAc;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,cAAsB;QAC7B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAA4B;QACtD,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAA;QAE5I,8BAA8B;QAC9B,IAAI,OAAO,GAAgB,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;QACjD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAA;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;YAChE,IAAI,CAAC,eAAe,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAE/E,mBAAmB;QACnB,MAAM,WAAW,GAAgB;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;YAChC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC5B,MAAM,IAAI,GAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBACrC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;oBACvF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;gBAC5E,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC,CAAC;SACH,CAAA;QACD,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;QAErD,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,eAAgB,EAAE,CAAA;IACrH,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,OAA4B;QAChD,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAA;QAE5I,uDAAuD;QACvD,IAAI,YAAwB,CAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC1D,IAAI,aAAa,GAAgB,EAAE,CAAA;QACnC,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAA;QAEjC,uBAAuB;QACvB,MAAM,YAAY,GAAG,CAAC,KAAK,IAAI,EAAE;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,aAAa,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;gBAChE,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBAC5C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAA;YAC/B,CAAC;YACD,YAAa,EAAE,CAAA;QACjB,CAAC,CAAC,EAAE,CAAA;QAEJ,IAAI,eAA2C,CAAA;QAC/C,MAAM,eAAe,GAAG,IAAI,OAAO,CAAgB,CAAC,CAAC,EAAE,GAAG,eAAe,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAEhF,MAAM,IAAI,GAAG,IAAI,CAAA,CAAC,uDAAuD;QACzE,MAAM,QAAQ,GAAG,KAAK,CAAA;QACtB,KAAK,SAAS,CAAC,CAAC,cAAc;YAC5B,MAAM,YAAY,CAAA;YAClB,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YAE/E,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAA;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAA;YAErC,mBAAmB;YACnB,MAAM,WAAW,GAAgB;gBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;gBAChC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC5B,MAAM,IAAI,GAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;oBACrC,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;wBACvF,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;oBAC5E,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC,CAAC;aACH,CAAA;YACD,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAO,EAAE,WAAW,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,MAAO,EAAE,CAAA;YAC5H,eAAgB,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;IAChE,CAAC;CACF;AAED,4DAA4D;AAE5D,MAAM,cAAe,SAAQ,KAAK;IACf,aAAa,CAAQ;IACrB,MAAM,CAAW;IACjB,MAAM,CAAoB;IAC1B,WAAW,CAAgB;IAE5C,YAAY,OAKX;QACC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,YAAY,KAAa,OAAO,IAAI,CAAC,aAAa,CAAA,CAAC,CAAC;IACpD,KAAK,KAAyB,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IAClD,KAAK,KAAgB,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IACzC,UAAU,KAAqB,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CACnB,qBAKC;IAED,MAAM,OAAO,GAAG,OAAO,qBAAqB,KAAK,QAAQ;QACvD,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE;QACzC,CAAC,CAAC,qBAAqB,CAAA;IACzB,OAAO,IAAI,cAAc,CAAC,OAAO,CAAqC,CAAA;AACxE,CAAC;AAED,4DAA4D;AAE5D,2DAA2D;AAE3D,IAAI,kBAAiD,CAAA;AAErD,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,KAAwB;IAC3D,kBAAkB,GAAG,KAAK,CAAA;AAC5B,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,4DAA4D;AAE5D,SAAS,QAAQ,CAAC,CAAQ;IACxB,OAAO,OAAO,IAAI,CAAC,IAAI,OAAQ,CAAS,CAAC,KAAK,KAAK,UAAU;QAC3D,CAAC,CAAE,CAAyB,CAAC,KAAK,EAAE;QACpC,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,SAAS,aAAa,CAAC,CAAQ;IAC7B,OAAO,YAAY,IAAI,CAAC,IAAI,OAAQ,CAAS,CAAC,UAAU,KAAK,UAAU;QACrE,CAAC,CAAE,CAA8B,CAAC,UAAU,EAAE;QAC9C,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAqB,EACrB,KAAa,EACb,KAAgB,EAChB,SAAiB;IAEjB,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,OAAO;QACL,SAAS,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;QACzG,SAAS;QACT,UAAU,EAAE,CAAC;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAC5C,KAAK,CAAC,MAAe;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,WAAW,GAAG,MAAM,IAAI,uBAAuB,CAAA;QACjD,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,OAAO,CAAA,CAAC,CAAC;QACjC,IAAI,YAAY,KAAK,OAAO,WAAW,CAAA,CAAC,CAAC;KAC2C,CAAA;AACxF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,WAA0B;IACjE,IAAI,CAAC,WAAW,EAAE,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACjE,MAAM,KAAK,GAAkB;QAC3B,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;QAC7B,GAAG,yBAAyB,CAAC,WAAW,CAAC;KAC1C,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgB;IACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,KAAgB;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,IAAgB;IACnD,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAA;IACvC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAA;IAC/C,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAqB,EAAE,CAAQ;IAC5D,MAAM,MAAM,GAAgD,EAAE,QAAQ,EAAE,CAAA;IACxE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,CAAA;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACjD,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAA;IACnD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4DAA4D;AAE5D,KAAK,UAAU,YAAY,CAAC,CAAQ,EAAE,KAAa,EAAE,OAA4B;IAC/E,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;IACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEnC,MAAM,QAAQ,GAAgB,OAAO,EAAE,QAAQ;QAC7C,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACtE,CAAC,CAAC;YACA,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE;YAC7C,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YAC3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;SAC9C,CAAA;IAEH,MAAM,KAAK,GAAgB,EAAE,CAAA;IAC7B,MAAM,cAAc,GAAG,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;IAEvF,uDAAuD;IACvD,MAAM,sBAAsB,GAAe,EAAE,CAAA;IAC7C,IAAI,uBAAkF,CAAA;IACtF,IAAI,gBAA0C,CAAA;IAC9C,IAAI,kBAAkB,GAAG,KAAK,CAAA;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,mBAAmB,GAAgB,EAAE,CAAA,CAAC,4CAA4C;IAEtF,sEAAsE;IACtE,2EAA2E;IAC3E,CAAC;QACC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QAC3E,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAA;QACpC,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACjC,uBAAuB,GAAG,MAAM,CAAC,qBAAqB,CAAA;YACtD,gBAAgB,GAAG,wBAAwB,CAAA;YAC3C,eAAe,GAAG,IAAI,CAAA;QACxB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,GAAG,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAsF,CAAA;IAEzJ,wBAAwB;IACxB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC9F,IAAI,YAAY,CAAC,QAAQ;YAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC1F,CAAC;IAED,UAAU;IACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;IAE5E,IAAI,CAAC;QACH,IAAI,eAAe,EAAE,CAAC;YACpB,oEAAoE;QACtE,CAAC;aAAM,CAAC;YACR,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC9D,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;gBAEzB,8BAA8B;gBAC9B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjB,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;oBACpD,MAAK;gBACP,CAAC;gBAED,cAAc;gBACd,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAA;gBAEhF,IAAI,YAAY,GAAG,WAAW,CAAA;gBAC9B,MAAM,kBAAkB,GAAG,WAAW,CAAA;gBAEtC,mBAAmB;gBACnB,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;oBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC5E,IAAI,IAAI,CAAC,KAAK;wBAAE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;oBACzC,IAAI,IAAI,CAAC,QAAQ;wBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACxE,IAAI,IAAI,CAAC,MAAM;wBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;gBACzE,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;oBACrG,IAAI,YAAY,CAAC,QAAQ;wBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;gBAC1F,CAAC;gBAED,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAA;gBACtF,IAAI,QAA2D,CAAA;gBAC/D,IAAI,SAA4B,CAAA;gBAEhC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;wBAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;wBACzD,MAAM,UAAU,GAA2B;4BACzC,KAAK,EAAE,OAAO;4BACd,QAAQ;4BACR,KAAK,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;4BACrE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE;4BAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;yBACzB,CAAA;wBACD,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;wBAC7C,MAAK;oBACP,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;wBAC/D,IAAI,QAAQ,KAAK,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;4BAAE,MAAM,SAAS,CAAA;oBAC7E,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ;oBAAE,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;gBACpE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAEpC,UAAU;gBACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAE9E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAA;gBAClD,MAAM,WAAW,GAAiB,EAAE,CAAA;gBAEpC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAE/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;wBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACV,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;4BACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAC/F,SAAQ;wBACV,CAAC;wBACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClB,wCAAwC;4BACxC,IAAI,OAAO,EAAE,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;gCAC7D,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gCAC/B,gBAAgB,GAAG,mBAAmB,CAAA;gCACtC,kBAAkB,GAAG,IAAI,CAAA;gCACzB,SAAQ;4BACV,CAAC;4BACD,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAA;4BACpF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mCAAmC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAChG,SAAQ;wBACV,CAAC;wBAED,4BAA4B;wBAC5B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;wBAClE,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;4BACpC,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;4BAClF,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;4BAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAC5F,SAAQ;wBACV,CAAC;wBACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;4BACnC,uBAAuB,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;4BAC/D,gBAAgB,GAAG,wBAAwB,CAAA;4BAC3C,eAAe,GAAG,IAAI,CAAA;4BACtB,MAAK;wBACP,CAAC;wBAED,mBAAmB;wBACnB,IAAI,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAA;wBAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;4BACnF,IAAI,YAAY,EAAE,CAAC;gCACjB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCACjC,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;oCACrH,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;oCACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;oCACtE,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;oCAClF,SAAQ;gCACV,CAAC;gCACD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oCAClC,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;oCACvD,MAAK;gCACP,CAAC;gCACD,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oCAC1C,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAA;gCAC9B,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,IAAI,CAAC;4BACH,8DAA8D;4BAC9D,oEAAoE;4BACpE,4DAA4D;4BAC5D,+DAA+D;4BAC/D,6DAA6D;4BAC7D,wCAAwC;4BACxC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAC5E,IAAI,MAAe,CAAA;4BACnB,IAAI,MAAM,GAAG,KAAK,CAAA;4BAClB,OAAO,IAAI,EAAE,CAAC;gCACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;gCACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oCAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;oCAAC,MAAK;gCAAC,CAAC;gCAC7C,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oCAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wCAC3C,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oCACtC,CAAC;oCACD,gBAAgB,GAAG,mBAAmB,CAAA;oCACtC,kBAAkB,GAAG,IAAI,CAAA;oCACzB,MAAM,GAAG,IAAI,CAAA;oCACb,MAAK;gCACP,CAAC;gCACD,uDAAuD;gCACvD,4DAA4D;4BAC9D,CAAC;4BACD,IAAI,MAAM;gCAAE,SAAQ,CAAG,8CAA8C;4BACrE,kEAAkE;4BAClE,4DAA4D;4BAC5D,6BAA6B;4BAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;4BAC/C,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACxC,IAAI,EACJ,MAAM,EACN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5E,CAAA;4BACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAEtE,kBAAkB;4BAClB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gCAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;wBACnG,CAAC;wBAAC,OAAO,GAAY,EAAE,CAAC;4BACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;4BAC5D,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC,CAAA;4BAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;4BAE5E,+BAA+B;4BAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gCAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;wBAC5G,CAAC;oBACH,CAAC;oBAED,sBAAsB;oBACtB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,aAAa,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAA;gBAC1F,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACjC,CAAC;gBAED,MAAM,IAAI,GAAc;oBACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,SAAS;oBACT,WAAW;oBACX,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAA;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAEhB,IAAI,kBAAkB,IAAI,eAAe;oBAAE,MAAK;gBAEhD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAA;gBACD,IAAI,UAAU,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACzD,MAAK;gBACP,CAAC;YACH,CAAC;QACD,CAAC,CAAC,sDAAsD;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU;QACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QACnE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,WAAW;IACX,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;IAE7E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9D,KAAK;QACL,KAAK,EAAE,UAAU;KAClB,CAAA;IACD,IAAI,gBAAgB;QAAE,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAA;IAC5D,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;IAC7F,IAAI,uBAAuB;QAAE,MAAM,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;IACrF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;IACpF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4DAA4D;AAE5D,SAAS,qBAAqB,CAAC,CAAQ,EAAE,KAAa,EAAE,OAA4B;IAClF,IAAI,eAA2C,CAAA;IAC/C,MAAM,eAAe,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE,GAAG,eAAe,GAAG,OAAO,CAAA,CAAC,CAAC,CAAC,CAAA;IAE9F,KAAK,SAAS,CAAC,CAAC,cAAc;QAC5B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;QACxD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAgB,OAAO,EAAE,QAAQ;YAC7C,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtE,CAAC,CAAC;gBACA,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE;gBAC7C,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC;aAC9C,CAAA;QAEH,MAAM,KAAK,GAAgB,EAAE,CAAA;QAC7B,MAAM,cAAc,GAAG,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;QAEvF,uDAAuD;QACvD,MAAM,sBAAsB,GAAe,EAAE,CAAA;QAC7C,IAAI,uBAAkF,CAAA;QACtF,IAAI,gBAA0C,CAAA;QAC9C,IAAI,kBAAkB,GAAG,KAAK,CAAA;QAC9B,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,IAAI,mBAAmB,GAAgB,EAAE,CAAA,CAAC,4CAA4C;QAEtF,sEAAsE;QACtE,CAAC;YACC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;YAC3E,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAA;YACpC,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACjC,uBAAuB,GAAG,MAAM,CAAC,qBAAqB,CAAA;gBACtD,gBAAgB,GAAG,wBAAwB,CAAA;gBAC3C,eAAe,GAAG,IAAI,CAAA;YACxB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,GAAG,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAsF,CAAA;QAEzJ,wBAAwB;QACxB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC9F,IAAI,YAAY,CAAC,QAAQ;gBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;QAC1F,CAAC;QAED,UAAU;QACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;QAE5E,IAAI,CAAC;YACH,IAAI,eAAe,EAAE,CAAC;gBACpB,uEAAuE;YACzE,CAAC;iBAAM,CAAC;gBACR,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC;oBAC9D,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;oBACzB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAA;oBAElB,8BAA8B;oBAC9B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjB,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;wBACpD,MAAK;oBACP,CAAC;oBAED,cAAc;oBACd,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAA;oBAEhF,IAAI,YAAY,GAAG,WAAW,CAAA;oBAE9B,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;wBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;wBAC5E,IAAI,IAAI,CAAC,KAAK;4BAAE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;wBACzC,IAAI,IAAI,CAAC,QAAQ;4BAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;wBACxE,IAAI,IAAI,CAAC,MAAM;4BAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;oBACzE,CAAC;oBAED,+BAA+B;oBAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;wBACrG,IAAI,YAAY,CAAC,QAAQ;4BAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;oBAC1F,CAAC;oBAED,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAA;oBACtF,IAAI,YAAoD,CAAA;oBACxD,IAAI,SAA4B,CAAA;oBAEhC,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;wBACtC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;4BAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;4BACzD,MAAM,IAAI,GAA2B;gCACnC,KAAK,EAAE,OAAO;gCACd,QAAQ;gCACR,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gCACvD,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE;gCAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;6BACzB,CAAA;4BACD,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;4BACnC,MAAK;wBACP,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;4BAC/D,IAAI,QAAQ,KAAK,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gCAAE,MAAM,SAAS,CAAA;wBAC7E,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,YAAY;wBAAE,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;oBAExE,IAAI,IAAI,GAAG,EAAE,CAAA;oBACb,IAAI,gBAAgB,GAAe,EAAE,CAAA;oBACrC,IAAI,SAAS,GAAe,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAA;oBACpF,IAAI,YAAY,GAA8B,MAAM,CAAA;oBACpD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6D,CAAA;oBAE7F,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;wBACvC,oDAAoD;wBACpD,IAAI,cAAc,GAAuB,KAAK,CAAA;wBAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3B,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;4BACpD,GAAG,CAAC,UAAU,EAAE,CAAA;wBAClB,CAAC;wBACD,IAAI,cAAc;4BAAE,MAAM,cAAc,CAAA;wBAExC,uDAAuD;wBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC9C,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;wBACpB,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;4BAClE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE;gCACtC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;gCACrB,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;gCAC/B,SAAS,EAAE,EAAE;6BACd,CAAC,CAAA;wBACJ,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC1D,gEAAgE;4BAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAA;4BACxD,IAAI,IAAI;gCAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAC3C,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACxD,MAAM,EAAE,GAAG,KAAK,CAAC,QAAoB,CAAA;4BACrC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBAC3B,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;4BACjD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;wBACzB,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BACnC,IAAI,KAAK,CAAC,KAAK;gCAAE,SAAS,GAAG,KAAK,CAAC,KAAK,CAAA;4BACxC,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,CAAA;wBAC7C,CAAC;oBACH,CAAC;oBAED,8BAA8B;oBAC9B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,gBAAgB,EAAE,CAAC;wBAC3C,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;4BACnD,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;wBAChF,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;wBAC9E,CAAC;oBACH,CAAC;oBAED,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAE/B,UAAU;oBACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;wBAAE,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;oBAEzE,MAAM,WAAW,GAAiB,EAAE,CAAA;oBAEpC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,YAAY,GAAc,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;wBACjG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;wBAE3B,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;4BAClC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;4BACjC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACV,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC,IAAI,GAAG,CAAA;gCACxD,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;gCAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCAC1E,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;gCAC3E,SAAQ;4BACV,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gCAClB,wCAAwC;gCACxC,IAAI,OAAO,EAAE,qBAAqB,KAAK,qBAAqB,EAAE,CAAC;oCAC7D,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oCAC/B,gBAAgB,GAAG,mBAAmB,CAAA;oCACtC,kBAAkB,GAAG,IAAI,CAAA;oCACzB,MAAM,EAAE,IAAI,EAAE,WAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;oCAClD,SAAQ;gCACV,CAAC;gCACD,MAAM,WAAW,GAAG,mCAAmC,CAAA;gCACvD,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;gCAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCACxE,MAAM,EAAE,IAAI,EAAE,WAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;gCAClD,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;gCACzE,SAAQ;4BACV,CAAC;4BAED,4BAA4B;4BAC5B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;4BAClE,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;gCACpC,MAAM,eAAe,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;gCAClF,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;gCAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCAC5F,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAA;gCAC7E,SAAQ;4BACV,CAAC;4BACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gCACnC,uBAAuB,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;gCAC/D,gBAAgB,GAAG,wBAAwB,CAAA;gCAC3C,eAAe,GAAG,IAAI,CAAA;gCACtB,MAAM,EAAE,IAAI,EAAE,WAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;gCAClD,MAAK;4BACP,CAAC;4BAED,mBAAmB;4BACnB,IAAI,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAA;4BAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC3B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;gCACnF,IAAI,YAAY,EAAE,CAAC;oCACjB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wCACjC,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;wCACrH,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAA;wCACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;wCACtE,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAA;wCACjF,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;wCAClF,SAAQ;oCACV,CAAC;oCACD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wCAClC,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;wCACvD,MAAK;oCACP,CAAC;oCACD,IAAI,YAAY,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wCAC1C,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAA;oCAC9B,CAAC;gCACH,CAAC;4BACH,CAAC;4BAED,IAAI,CAAC;gCACH,4DAA4D;gCAC5D,0DAA0D;gCAC1D,+DAA+D;gCAC/D,2CAA2C;gCAC3C,EAAE;gCACF,8DAA8D;gCAC9D,4DAA4D;gCAC5D,4DAA4D;gCAC5D,8DAA8D;gCAC9D,0DAA0D;gCAC1D,MAAM,EAAE,IAAI,EAAE,WAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;gCAClD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCAC5E,IAAI,MAAe,CAAA;gCACnB,IAAI,MAAM,GAAG,KAAK,CAAA;gCAClB,OAAO,IAAI,EAAE,CAAC;oCACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;oCACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wCACd,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;wCACnB,MAAK;oCACP,CAAC;oCACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wCAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;4CAC3C,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wCACtC,CAAC;wCACD,gBAAgB,GAAG,mBAAmB,CAAA;wCACtC,kBAAkB,GAAG,IAAI,CAAA;wCACzB,MAAM,GAAG,IAAI,CAAA;wCACb,MAAK;oCACP,CAAC;oCACD,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;oCAC1F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;wCAC7D,IAAI,WAAW;4CAAE,MAAM,WAAW,CAAA;oCACpC,CAAC;yCAAM,CAAC;wCACN,MAAM,WAAW,CAAA;oCACnB,CAAC;gCACH,CAAC;gCACD,IAAI,MAAM;oCAAE,SAAQ,CAAG,uDAAuD;gCAC9E,0DAA0D;gCAC1D,0DAA0D;gCAC1D,6DAA6D;gCAC7D,oBAAoB;gCACpB,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;gCAC/C,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACxC,IAAI,EACJ,MAAM,EACN,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5E,CAAA;gCACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCACtE,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAA;gCAE5D,kBAAkB;gCAClB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;oCAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;4BACnG,CAAC;4BAAC,OAAO,GAAY,EAAE,CAAC;gCACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gCAC5D,MAAM,SAAS,GAAG,UAAU,GAAG,EAAE,CAAA;gCACjC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;gCAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;gCACtE,MAAM,EAAE,IAAI,EAAE,aAAsB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;gCAEvE,+BAA+B;gCAC/B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;oCAAE,MAAM,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;4BACtG,CAAC;wBACH,CAAC;wBAED,sBAAsB;wBACtB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;4BAAE,MAAM,aAAa,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAA;oBAC1F,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;oBACrD,CAAC;oBAED,MAAM,IAAI,GAAc;wBACtB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;wBACtH,SAAS,EAAE,gBAAgB;wBAC3B,WAAW;wBACX,KAAK,EAAE,SAAS;wBAChB,YAAY;qBACb,CAAA;oBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAEhB,IAAI,kBAAkB,IAAI,eAAe;wBAAE,MAAK;oBAEhD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CACtD,CAAA;oBACD,IAAI,UAAU,IAAI,YAAY,KAAK,YAAY;wBAAE,MAAK;oBAEtD,2BAA2B;oBAC3B,IAAI,GAAG,EAAE,CAAA;oBACT,gBAAgB,GAAG,EAAE,CAAA;gBACvB,CAAC;YACD,CAAC,CAAC,sDAAsD;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU;YACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,UAAU,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACnE,MAAM,GAAG,CAAA;QACX,CAAC;QAED,WAAW;QACX,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QAE7E,4DAA4D;QAC5D,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,IAAI,EAAE,sBAA+B,EAAE,SAAS,EAAE,sBAAsB,EAA4B,CAAA;QAC9G,CAAC;QACD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,EAAE,IAAI,EAAE,kBAA2B,EAAE,QAAQ,EAAE,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,uBAAuB,CAAC,YAAY,EAA4B,CAAA;QACvK,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,KAAK;YACL,KAAK,EAAE,UAAU;SAClB,CAAA;QACD,IAAI,gBAAgB;YAAE,MAAM,CAAC,YAAY,GAAG,gBAAgB,CAAA;QAC5D,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QAC7F,IAAI,uBAAuB;YAAE,MAAM,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;QACrF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QACpF,eAAgB,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,cAAc,EAAE;QACxB,QAAQ,EAAE,eAAe;KAC1B,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAqC;IACpE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAIrC;IAIC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAA;IAC1D,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAA;IAC/B,IAAI,qBAAgF,CAAA;IAEpF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAC,IAAI,GAAG,CAAA;YAC9C,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;YACtE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,kEAAkE;YAClE,gEAAgE;YAChE,MAAM,GAAG,GAAG,uBAAuB,EAAE,CAAC,IAAI,mCAAmC,CAAA;YAC7E,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;YACtE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;QAC1D,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;YACtE,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;YACtF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,mEAAmE;YACnE,uDAAuD;YACvD,qBAAqB,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;YAC7D,MAAK;QACP,CAAC;QAED,IAAI,CAAC;YACH,qEAAqE;YACrE,mEAAmE;YACnE,4BAA4B;YAC5B,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;YAChF,IAAI,MAAe,CAAA;YACnB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;gBACjC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;oBAAC,MAAK;gBAAC,CAAC;YAC/C,CAAC;YACD,mEAAmE;YACnE,6DAA6D;YAC7D,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;YACjE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;YAC3E,MAAM,CAAC,GAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;YACzE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,CAAC,GAAG,KAA+E,CAAA;IACzF,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU;WAC9B,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU;WAC9B,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,CAAA;AACpD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,SAAS,CAAC,CAAC,qBAAqB,CACnC,IAAU,EACV,IAA6B,EAC7B,GAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAER,CAAA;IACb,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAChC,MAAM,IAAI,CAAC,KAAK,CAAA;QAClB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,GAAG,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAU,EACV,MAAe,EACf,OAAgD;IAEhD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,OAAO,MAAO,IAAI,CAAC,aAA0D,CAAC,MAAM,CAAC,CAAA;QACvF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAA;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAU,EACV,EAAY,EACZ,OAAuC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAA;IAC3C,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClF,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAA;IAE7B,IAAI,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAAE,OAAO,UAAU,CAAA;IACpE,IAAI,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAA;IACjE,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { MakeSpec } from '@rudderjs/rudder';
2
+ export declare const makeAgentSpec: MakeSpec;
3
+ //# sourceMappingURL=make-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-agent.d.ts","sourceRoot":"","sources":["../../src/commands/make-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhD,eAAO,MAAM,aAAa,EAAE,QAqB3B,CAAA"}
@@ -0,0 +1,23 @@
1
+ export const makeAgentSpec = {
2
+ command: 'make:agent',
3
+ description: 'Create a new AI agent class',
4
+ label: 'Agent created',
5
+ suffix: 'Agent',
6
+ directory: 'app/Agents',
7
+ stub: (className) => `import { Agent } from '@rudderjs/ai'
8
+ import type { HasTools, AnyTool } from '@rudderjs/ai'
9
+
10
+ export class ${className} extends Agent implements HasTools {
11
+ instructions(): string {
12
+ return 'You are a helpful assistant.'
13
+ }
14
+
15
+ // model(): string | undefined { return 'anthropic/claude-sonnet-4-5' }
16
+
17
+ tools(): AnyTool[] {
18
+ return []
19
+ }
20
+ }
21
+ `,
22
+ };
23
+ //# sourceMappingURL=make-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-agent.js","sourceRoot":"","sources":["../../src/commands/make-agent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,OAAO,EAAM,YAAY;IACzB,WAAW,EAAE,6BAA6B;IAC1C,KAAK,EAAQ,eAAe;IAC5B,MAAM,EAAO,OAAO;IACpB,SAAS,EAAI,YAAY;IACzB,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;;;eAGR,SAAS;;;;;;;;;;;CAWvB;CACA,CAAA"}
package/dist/facade.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { ImageGenerator } from './image.js';
2
2
  import { AudioGenerator } from './audio.js';
3
3
  import { Transcription } from './transcription.js';
4
+ import { Reranker } from './rerank.js';
5
+ import { FileManager } from './files.js';
4
6
  import type { Agent } from './agent.js';
5
- import type { AgentResponse, AnyTool, AiMiddleware, EmbeddingResult } from './types.js';
7
+ import type { AgentResponse, AnyTool, AiMiddleware, EmbeddingResult, RerankingResult } from './types.js';
6
8
  /**
7
9
  * AI facade — static entry point for quick prompts, embeddings, and image generation.
8
10
  *
@@ -30,6 +32,31 @@ export declare class AI {
30
32
  static audio(text: string): AudioGenerator;
31
33
  /** Create a speech-to-text transcription */
32
34
  static transcribe(pathOrBuffer: string | Buffer): Transcription;
35
+ /**
36
+ * Rerank documents by relevance to a query.
37
+ *
38
+ * Returns a fluent builder when called with just query + documents.
39
+ * Pass `options` for a one-shot call.
40
+ *
41
+ * @example
42
+ * const result = await AI.rerank('search query', documents)
43
+ * const result = await AI.rerank('query', docs, { model: 'cohere/rerank-v3.5', topK: 5 })
44
+ */
45
+ static rerank(query: string, documents: string[]): Reranker;
46
+ static rerank(query: string, documents: string[], options: {
47
+ model?: string | undefined;
48
+ topK?: number | undefined;
49
+ }): Promise<RerankingResult>;
50
+ /**
51
+ * Get a file manager for a provider.
52
+ *
53
+ * @example
54
+ * const files = AI.files('openai')
55
+ * const uploaded = await files.upload('./report.pdf', { purpose: 'assistants' })
56
+ * const list = await files.list()
57
+ * await files.delete(uploaded.id)
58
+ */
59
+ static files(provider?: string): FileManager;
33
60
  /**
34
61
  * Generate embeddings for text.
35
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAoB,eAAe,EAAE,MAAM,YAAY,CAAA;AAEzG;;;;;;;;GAQG;AACH,qBAAa,EAAE;IACb,sCAAsC;WACzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpG,gCAAgC;IAChC,MAAM,CAAC,KAAK,CACV,qBAAqB,EAAE,MAAM,GAAG;QAC9B,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;KACxC,GACA,KAAK;IAIR,kDAAkD;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAI5C,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAI1C,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa;IAM/D;;;;;;;;;;;OAWG;WACU,KAAK,CAChB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACpE,OAAO,CAAC,eAAe,CAAC;IAyC3B,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,cAAc,CAA0D;IAEvF,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAQhC"}
1
+ {"version":3,"file":"facade.d.ts","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAoB,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1H;;;;;;;;GAQG;AACH,qBAAa,EAAE;IACb,sCAAsC;WACzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpG,gCAAgC;IAChC,MAAM,CAAC,KAAK,CACV,qBAAqB,EAAE,MAAM,GAAG;QAC9B,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,UAAU,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;KACxC,GACA,KAAK;IAIR,kDAAkD;IAClD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAI5C,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAI1C,4CAA4C;IAC5C,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa;IAM/D;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,QAAQ;IAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAa/I;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;IAK5C;;;;;;;;;;;OAWG;WACU,KAAK,CAChB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACpE,OAAO,CAAC,eAAe,CAAC;IAyC3B,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,cAAc,CAA0D;IAEvF,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAQhC"}
package/dist/facade.js CHANGED
@@ -3,6 +3,8 @@ import { agent as agentHelper } from './agent.js';
3
3
  import { ImageGenerator } from './image.js';
4
4
  import { AudioGenerator } from './audio.js';
5
5
  import { Transcription } from './transcription.js';
6
+ import { Reranker } from './rerank.js';
7
+ import { FileManager } from './files.js';
6
8
  import { CachedEmbeddingAdapter } from './cached-embedding.js';
7
9
  /**
8
10
  * AI facade — static entry point for quick prompts, embeddings, and image generation.
@@ -41,6 +43,29 @@ export class AI {
41
43
  ? Transcription.fromPath(pathOrBuffer)
42
44
  : Transcription.fromBuffer(pathOrBuffer);
43
45
  }
46
+ static rerank(query, documents, options) {
47
+ const builder = Reranker.of(query, documents);
48
+ if (!options)
49
+ return builder;
50
+ if (options.model)
51
+ builder.model(options.model);
52
+ if (options.topK)
53
+ builder.topK(options.topK);
54
+ return builder.rank();
55
+ }
56
+ /**
57
+ * Get a file manager for a provider.
58
+ *
59
+ * @example
60
+ * const files = AI.files('openai')
61
+ * const uploaded = await files.upload('./report.pdf', { purpose: 'assistants' })
62
+ * const list = await files.list()
63
+ * await files.delete(uploaded.id)
64
+ */
65
+ static files(provider) {
66
+ const providerName = provider ?? AiRegistry.parseModelString(AiRegistry.getDefault())[0];
67
+ return FileManager.for(providerName);
68
+ }
44
69
  /**
45
70
  * Generate embeddings for text.
46
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facade.js","sourceRoot":"","sources":["../src/facade.ts"],"names":[],"mappings":"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"}
package/dist/fake.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ProviderRequestOptions, ImageGenerationOptions, TextToSpeechOptions, SpeechToTextOptions } from './types.js';
1
+ import type { ProviderRequestOptions, ImageGenerationOptions, TextToSpeechOptions, SpeechToTextOptions, RerankingOptions, RerankingResult, FileUploadResult } from './types.js';
2
2
  /**
3
3
  * Testing fake for @rudderjs/ai.
4
4
  *
@@ -17,10 +17,16 @@ export declare class AiFake {
17
17
  private readonly imageCalls;
18
18
  private readonly ttsCalls;
19
19
  private readonly sttCalls;
20
+ private readonly embedCalls;
21
+ private readonly rerankCalls;
22
+ private readonly fileCalls;
20
23
  private _response;
21
24
  private _imageResponse;
22
25
  private _ttsResponse;
23
26
  private _sttResponse;
27
+ private _embedResponse;
28
+ private _rerankResponse;
29
+ private _fileUploadResponse;
24
30
  /** Set the text response the fake will return */
25
31
  respondWith(text: string): void;
26
32
  /** Set the base64 image the fake will return */
@@ -29,6 +35,12 @@ export declare class AiFake {
29
35
  respondWithAudio(audio: Buffer): void;
30
36
  /** Set the transcription text the STT fake will return */
31
37
  respondWithTranscription(text: string): void;
38
+ /** Set the embeddings the fake will return */
39
+ respondWithEmbedding(embeddings: number[][]): void;
40
+ /** Set the reranking results the fake will return */
41
+ respondWithRanking(results: RerankingResult['results']): void;
42
+ /** Set the file upload result the fake will return */
43
+ respondWithFileUpload(result: FileUploadResult): void;
32
44
  /** Install the fake — replaces all registered providers with a mock */
33
45
  static fake(): AiFake;
34
46
  /** Assert at least one prompt was sent, optionally matching a predicate */
@@ -49,6 +61,24 @@ export declare class AiFake {
49
61
  getTtsCalls(): TextToSpeechOptions[];
50
62
  /** Get all recorded STT calls */
51
63
  getSttCalls(): SpeechToTextOptions[];
64
+ /** Assert at least one embedding was made */
65
+ assertEmbedded(predicate?: (input: string | string[]) => boolean): void;
66
+ /** Assert at least one reranking was made */
67
+ assertReranked(predicate?: (opts: RerankingOptions) => boolean): void;
68
+ /** Get all recorded embedding calls */
69
+ getEmbedCalls(): Array<{
70
+ input: string | string[];
71
+ model: string;
72
+ }>;
73
+ /** Get all recorded reranking calls */
74
+ getRerankCalls(): RerankingOptions[];
75
+ /** Assert at least one file upload was made */
76
+ assertFileUploaded(predicate?: (filePath: string) => boolean): void;
77
+ /** Get all recorded file operation calls */
78
+ getFileCalls(): Array<{
79
+ method: string;
80
+ args: unknown;
81
+ }>;
52
82
  /** Restore — clears the fake (user must re-register real providers) */
53
83
  restore(): void;
54
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGV,sBAAsB,EAItB,sBAAsB,EAGtB,mBAAmB,EAGnB,mBAAmB,EAEpB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;GAYG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,YAAY,CAAuB;IAE3C,iDAAiD;IACjD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,gDAAgD;IAChD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,oDAAoD;IACpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,0DAA0D;IAC1D,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5C,uEAAuE;IACvE,MAAM,CAAC,IAAI,IAAI,MAAM;IAiErB,2EAA2E;IAC3E,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAa5D,kCAAkC;IAClC,qBAAqB,IAAI,IAAI;IAM7B,oDAAoD;IACpD,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAQnE,kDAAkD;IAClD,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IAQjE,iDAAiD;IACjD,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,GAAG,IAAI;IAQ3E,sCAAsC;IACtC,QAAQ,IAAI,sBAAsB,EAAE;IAIpC,8CAA8C;IAC9C,aAAa,IAAI,sBAAsB,EAAE;IAIzC,iCAAiC;IACjC,WAAW,IAAI,mBAAmB,EAAE;IAIpC,iCAAiC;IACjC,WAAW,IAAI,mBAAmB,EAAE;IAIpC,uEAAuE;IACvE,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../src/fake.ts"],"names":[],"mappings":"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"}