agentfootprint 9.64.0 → 9.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/adapters/hosting/foundryResponses.js +110 -0
  2. package/dist/adapters/hosting/foundryResponses.js.map +1 -0
  3. package/dist/adapters/hosting/responsesWire.js +322 -0
  4. package/dist/adapters/hosting/responsesWire.js.map +1 -0
  5. package/dist/adapters/identity/agentcore.js +118 -2
  6. package/dist/adapters/identity/agentcore.js.map +1 -1
  7. package/dist/adapters/observability/agentcore.js +61 -1
  8. package/dist/adapters/observability/agentcore.js.map +1 -1
  9. package/dist/adapters/observability/otel.js +12 -3
  10. package/dist/adapters/observability/otel.js.map +1 -1
  11. package/dist/esm/adapters/hosting/foundryResponses.d.ts +89 -0
  12. package/dist/esm/adapters/hosting/foundryResponses.js +106 -0
  13. package/dist/esm/adapters/hosting/foundryResponses.js.map +1 -0
  14. package/dist/esm/adapters/hosting/responsesWire.d.ts +75 -0
  15. package/dist/esm/adapters/hosting/responsesWire.js +316 -0
  16. package/dist/esm/adapters/hosting/responsesWire.js.map +1 -0
  17. package/dist/esm/adapters/identity/agentcore.d.ts +115 -1
  18. package/dist/esm/adapters/identity/agentcore.js +117 -2
  19. package/dist/esm/adapters/identity/agentcore.js.map +1 -1
  20. package/dist/esm/adapters/observability/agentcore.d.ts +50 -0
  21. package/dist/esm/adapters/observability/agentcore.js +59 -0
  22. package/dist/esm/adapters/observability/agentcore.js.map +1 -1
  23. package/dist/esm/adapters/observability/otel.d.ts +73 -3
  24. package/dist/esm/adapters/observability/otel.js +12 -3
  25. package/dist/esm/adapters/observability/otel.js.map +1 -1
  26. package/dist/esm/hosting/errors.d.ts +43 -0
  27. package/dist/esm/hosting/errors.js +52 -0
  28. package/dist/esm/hosting/errors.js.map +1 -1
  29. package/dist/esm/hosting/httpHost.d.ts +133 -4
  30. package/dist/esm/hosting/httpHost.js +120 -22
  31. package/dist/esm/hosting/httpHost.js.map +1 -1
  32. package/dist/esm/hosting/index.d.ts +2 -2
  33. package/dist/esm/hosting/index.js +1 -1
  34. package/dist/esm/hosting/index.js.map +1 -1
  35. package/dist/esm/hosting-providers.d.ts +17 -0
  36. package/dist/esm/hosting-providers.js +19 -0
  37. package/dist/esm/hosting-providers.js.map +1 -1
  38. package/dist/esm/identity.d.ts +1 -1
  39. package/dist/esm/identity.js +5 -1
  40. package/dist/esm/identity.js.map +1 -1
  41. package/dist/esm/observability-providers.d.ts +1 -1
  42. package/dist/esm/observability-providers.js +5 -1
  43. package/dist/esm/observability-providers.js.map +1 -1
  44. package/dist/hosting/errors.js +55 -1
  45. package/dist/hosting/errors.js.map +1 -1
  46. package/dist/hosting/httpHost.js +119 -21
  47. package/dist/hosting/httpHost.js.map +1 -1
  48. package/dist/hosting/index.js +4 -2
  49. package/dist/hosting/index.js.map +1 -1
  50. package/dist/hosting-providers.js +30 -1
  51. package/dist/hosting-providers.js.map +1 -1
  52. package/dist/identity.js +5 -1
  53. package/dist/identity.js.map +1 -1
  54. package/dist/observability-providers.js +6 -1
  55. package/dist/observability-providers.js.map +1 -1
  56. package/dist/types/adapters/hosting/foundryResponses.d.ts +90 -0
  57. package/dist/types/adapters/hosting/foundryResponses.d.ts.map +1 -0
  58. package/dist/types/adapters/hosting/responsesWire.d.ts +76 -0
  59. package/dist/types/adapters/hosting/responsesWire.d.ts.map +1 -0
  60. package/dist/types/adapters/identity/agentcore.d.ts +115 -1
  61. package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
  62. package/dist/types/adapters/observability/agentcore.d.ts +50 -0
  63. package/dist/types/adapters/observability/agentcore.d.ts.map +1 -1
  64. package/dist/types/adapters/observability/otel.d.ts +73 -3
  65. package/dist/types/adapters/observability/otel.d.ts.map +1 -1
  66. package/dist/types/hosting/errors.d.ts +43 -0
  67. package/dist/types/hosting/errors.d.ts.map +1 -1
  68. package/dist/types/hosting/httpHost.d.ts +133 -4
  69. package/dist/types/hosting/httpHost.d.ts.map +1 -1
  70. package/dist/types/hosting/index.d.ts +2 -2
  71. package/dist/types/hosting/index.d.ts.map +1 -1
  72. package/dist/types/hosting-providers.d.ts +17 -0
  73. package/dist/types/hosting-providers.d.ts.map +1 -1
  74. package/dist/types/identity.d.ts +1 -1
  75. package/dist/types/identity.d.ts.map +1 -1
  76. package/dist/types/observability-providers.d.ts +1 -1
  77. package/dist/types/observability-providers.d.ts.map +1 -1
  78. package/package.json +1 -1
@@ -50,8 +50,9 @@
50
50
  * ```
51
51
  */
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.agentcoreObservability = void 0;
53
+ exports.agentCoreEvaluationSpans = exports.AGENTCORE_EVALUATIONS_SCOPE_NAME = exports.agentcoreObservability = void 0;
54
54
  const cloudwatch_js_1 = require("./cloudwatch.js");
55
+ const otel_js_1 = require("./otel.js");
55
56
  /**
56
57
  * Build an AgentCore-flavored CloudWatch Logs observability strategy.
57
58
  * Functionally identical to `cloudwatchObservability` except for the
@@ -62,4 +63,63 @@ function agentcoreObservability(opts) {
62
63
  return (0, cloudwatch_js_1._buildCloudWatchObservability)(opts, 'agentcore');
63
64
  }
64
65
  exports.agentcoreObservability = agentcoreObservability;
66
+ /**
67
+ * The instrumentation-scope name AgentCore **Evaluations** classifies spans by.
68
+ *
69
+ * Their span classifier reads `scope.name` and considers only names beginning
70
+ * `opentelemetry.instrumentation.` (or `openinference.instrumentation.`);
71
+ * anything else is skipped without a message. This is the one spelling that
72
+ * makes agentfootprint's spans visible to it — and it lives HERE, in the
73
+ * vendor's own file, because the requirement is theirs, not
74
+ * OpenTelemetry's and not ours.
75
+ */
76
+ exports.AGENTCORE_EVALUATIONS_SCOPE_NAME = 'opentelemetry.instrumentation.agentfootprint';
77
+ /**
78
+ * OTel spans shaped so AgentCore **Evaluations** can read and score them.
79
+ *
80
+ * ── What this is ─────────────────────────────────────────────────────────────
81
+ * A CONFIGURATION of {@link otelObservability}, not a second implementation:
82
+ * the same spans, the same attributes, with the two settings that vendor
83
+ * requires already correct — the scope name it classifies by, and the
84
+ * turn-level content its scorers read. Everything else is passed through
85
+ * untouched, so nothing about your telemetry becomes AgentCore-shaped except
86
+ * the two things that had to be.
87
+ *
88
+ * ── Why you would use it ─────────────────────────────────────────────────────
89
+ * Since July 2026 AgentCore Evaluations scores agents that DO NOT run on AWS —
90
+ * any agent whose spans reach CloudWatch and match its contract. That makes
91
+ * AWS's built-in evaluators available to an agentfootprint agent hosted
92
+ * anywhere. It does not make your agent an AWS agent, and it replaces nothing:
93
+ * their evaluators say what the score is, and agentfootprint's own trace is
94
+ * still what says why.
95
+ *
96
+ * ── Read this before enabling ────────────────────────────────────────────────
97
+ * It turns `captureContent` ON, which puts the turn's prompt and answer text on
98
+ * the span — that is the point (a scorer cannot grade a turn it cannot read),
99
+ * and it is also an export of raw content to your OTel backend. Pass
100
+ * `captureContent: false` to opt back out and keep the scope name alone;
101
+ * scores will then be based on an empty turn, which is worse than not scoring.
102
+ *
103
+ * Getting the spans to CloudWatch is separate and yours: point an OTLP exporter
104
+ * at the AgentCore log group per AWS's documented header contract, or run
105
+ * inside a runtime that does it for you.
106
+ *
107
+ * @example
108
+ * import { agentCoreEvaluationSpans } from 'agentfootprint/observe';
109
+ *
110
+ * agent.enable.observability({
111
+ * strategy: agentCoreEvaluationSpans({ serviceName: 'support-agent' }),
112
+ * });
113
+ */
114
+ function agentCoreEvaluationSpans(opts) {
115
+ return (0, otel_js_1.otelObservability)({
116
+ captureContent: true,
117
+ ...opts,
118
+ // Not spreadable-over: a caller who overrode this would silently produce
119
+ // spans the service skips, which is the exact failure this function exists
120
+ // to prevent. The scope name is the whole reason it is a named function.
121
+ scopeName: exports.AGENTCORE_EVALUATIONS_SCOPE_NAME,
122
+ });
123
+ }
124
+ exports.agentCoreEvaluationSpans = agentCoreEvaluationSpans;
65
125
  //# sourceMappingURL=agentcore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/observability/agentcore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAIH,mDAGyB;AAWzB;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAmC;IACxE,OAAO,IAAA,6CAA6B,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/observability/agentcore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAIH,mDAGyB;AACzB,uCAImB;AAWnB;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAmC;IACxE,OAAO,IAAA,6CAA6B,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAFD,wDAEC;AAED;;;;;;;;;GASG;AACU,QAAA,gCAAgC,GAAG,8CAA8C,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,wBAAwB,CACtC,IAA8B;IAE9B,OAAO,IAAA,2BAAiB,EAAC;QACvB,cAAc,EAAE,IAAI;QACpB,GAAG,IAAI;QACP,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,SAAS,EAAE,wCAAgC;KAC5C,CAAC,CAAC;AACL,CAAC;AAXD,4DAWC"}
@@ -190,11 +190,13 @@ function otelObservability(opts) {
190
190
  const sampleRate = opts.sampleRate ?? 1;
191
191
  const genAiNames = opts.genAiSpanNames === true;
192
192
  const explainability = opts.explainability !== false;
193
+ const scopeName = opts.scopeName ?? 'agentfootprint';
194
+ const captureContent = opts.captureContent === true;
193
195
  // Lazy-resolve tracer if not injected. Defer the API import until
194
196
  // first event so consumers who don't actually fire events (no agent
195
197
  // run yet) don't even hit the OTel API surface.
196
198
  let tracer = opts.tracer;
197
- let otelApi;
199
+ let otelApi = opts._otelApi;
198
200
  function ensureTracer() {
199
201
  if (tracer)
200
202
  return tracer;
@@ -213,7 +215,7 @@ function otelObservability(opts) {
213
215
  if (!otelApi.trace?.getTracer) {
214
216
  throw new Error('otelObservability: `@opentelemetry/api` is installed but `trace.getTracer` not found. Update the package.');
215
217
  }
216
- tracer = otelApi.trace.getTracer('agentfootprint');
218
+ tracer = otelApi.trace.getTracer(scopeName);
217
219
  return tracer;
218
220
  }
219
221
  const activeTurns = new Map();
@@ -470,7 +472,8 @@ function otelObservability(opts) {
470
472
  // `invoke_agent` span per the GenAI agent-span conventions.
471
473
  // `gen_ai.provider.name` / `gen_ai.request.model` (conditionally
472
474
  // required) are back-filled on the first llm_start — unknown here.
473
- // `userPrompt` is deliberately NOT emitted (PII).
475
+ // `userPrompt` rides the span ONLY when the consumer asked for it
476
+ // (`captureContent`) — see that option for what enabling it exports.
474
477
  // We emit `agentfootprint.run.id` (not `gen_ai.conversation.id`):
475
478
  // a run is one turn, not a conversation/session — agentfootprint
476
479
  // has no session primitive yet, and mislabeling would corrupt
@@ -496,6 +499,10 @@ function otelObservability(opts) {
496
499
  'agentfootprint.principal.id': actor.principal,
497
500
  }),
498
501
  ...(actor?.tenant !== undefined && { 'agentfootprint.tenant.id': actor.tenant }),
502
+ ...(captureContent &&
503
+ typeof event.payload.userPrompt === 'string' && {
504
+ 'gen_ai.task.input': event.payload.userPrompt,
505
+ }),
499
506
  });
500
507
  }
501
508
  break;
@@ -509,6 +516,8 @@ function otelObservability(opts) {
509
516
  // usage attrs on agent spans) + the iteration count.
510
517
  const p = event.payload;
511
518
  setAttrs(t.root, {
519
+ ...(captureContent &&
520
+ typeof p.finalContent === 'string' && { 'gen_ai.task.output': p.finalContent }),
512
521
  ...(typeof p.totalInputTokens === 'number' && {
513
522
  'gen_ai.usage.input_tokens': p.totalInputTokens,
514
523
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/adapters/observability/otel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;;;AAIH,6DAAuD;AAGvD,2DAA6D;AAoJ7D,wEAAwE;AAExE;0EAC0E;AAC1E,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc;QAClC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,KAAK,CAAC,MAAM,GAAG,cAAc,OAAO,CAAC;QACxD,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAmCD;;wEAEwE;AACxE,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CACd,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,MAAM,GAAG,CACnF,CACF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qEAAqE;AACrE,SAAS,mBAAmB,CAAC,QAA8B;IACzD,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAC/B,KAAK,CAAC,gCAAgC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAChC,KAAK,CAAC,iCAAiC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;QACjC,KAAK,CAAC,kCAAkC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,yCAAyC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAC7B,KAAK,CAAC,oCAAoC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,KAAK,CAAC,oCAAoC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAC9B,KAAK,CAAC,qCAAqC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,oCAAoC,CAAC,GAAG,UAAU,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,OAAO,CAAE,KAA8B,CAAC,KAAK,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,SAAgB,iBAAiB,CAAC,IAA8B;IAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,mDAAmD;YACjD,sFAAsF,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,kEAAkE;IAClE,oEAAoE;IACpE,gDAAgD;IAChD,IAAI,MAAM,GAA+B,IAAI,CAAC,MAAM,CAAC;IACrD,IAAI,OAAkC,CAAC;IACvC,SAAS,YAAY;QACnB,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,GAAG,IAAA,4BAAW,EAAgB,oBAAoB,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,wEAAwE;oBACtE,8CAA8C;oBAC9C,yDAAyD;oBACzD,mFAAmF;oBACnF,wCAAwC,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAmBD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,gEAAgE;IAChE,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAA,0CAAsB,EAAC,MAAM,CAAC,CAAC;IAEnD;;;;;;;;;OASG;IACH,SAAS,WAAW,CAAC,KAA0B;QAC7C,MAAM,IAAI,GAAI,KAAuC,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,EAAE,KAAK,IAAK,KAAK,CAAC,OAA0C,EAAE,KAAK,CAAC;IACjF,CAAC;IAED,SAAS,QAAQ,CACf,SAAoB,EACpB,IAAY,EACZ,KAA0C;QAE1C,iEAAiE;QACjE,4DAA4D;QAC5D,6DAA6D;QAC7D,4DAA4D;QAC5D,qBAAqB;QACrB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACjE,IAAI,GAAY,CAAC;QACjB,IAAI,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAClE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5F,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,OAAO,CACd,SAAoB,EACpB,KAA4C;QAE5C,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9F,+CAA+C;YAC/C,oEAAoE;YACpE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;gBAAE,GAAG,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9B,mEAAmE;QACnE,oEAAoE;QACpE,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,SAAS,OAAO,CAAC,IAAkB,EAAE,OAA6B;QAChE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,KAAyC;QAC7E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED;4DACwD;IACxD,SAAS,eAAe,CACtB,IAAkB,EAClB,IAAY,EACZ,KAAyC;QAEzC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAuC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;QACtF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,OAAO,CAAC,CAAwB;QACvC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IAC5C,CAAC;IAED;;;uEAGmE;IACnE,SAAS,cAAc;QACrB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sEAAsE;IAEtE,SAAS,oBAAoB,CAAC,KAA0B,EAAE,CAAY;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAA6C,CAAC;QAE9D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,sDAAsD;YACtD,KAAK,oCAAoC,CAAC,CAAC,CAAC;gBAC1C,eAAe,CAAC,GAAG,EAAE,oCAAoC,EAAE;oBACzD,+BAA+B,EAAE,aAAa;oBAC9C,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBACxD,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,gCAAgC,EAAE,CAAC,CAAC,SAAS;qBAC9C,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,gEAAgE;YAChE,KAAK,0CAA0C,CAAC,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAuC;oBAChD,+BAA+B,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;oBACvD,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBACxD,CAAC;iBACH,CAAC;gBACF,IAAI,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxD,eAAe,CAAC,GAAG,EAAE,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACxE,MAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,kEAAkE;YAClE,oDAAoD;YACpD,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,CAAC,CAAC,OASL,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,MAAM,CAAC,6CAA6C;gBACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,eAAe,CAAC,GAAG,EAAE,8BAA8B,EAAE;wBACnD,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;wBACzD,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9E,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;4BAC3B,2BAA2B,EAAE,SAAS,CACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CACR,CAAC,IAAyC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAChF,CACF;yBACF,CAAC;wBACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;4BAC5B,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBAC7D,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,eAAe,CAAC,GAAG,EAAE,gCAAgC,EAAE;oBACrD,yBAAyB,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;wBACpC,4BAA4B,EAAE,SAAS,CAAE,CAAC,CAAC,aAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBACpF,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,oEAAoE;YACpE,wEAAwE;YACxE,qEAAqE;YACrE,+DAA+D;YAC/D,6BAA6B;YAC7B,KAAK,wCAAwC,CAAC,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAI5B,CAAC;gBACH,eAAe,CAAC,GAAG,EAAE,wCAAwC,EAAE;oBAC7D,qCAAqC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxD,wCAAwC,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC7D,oCAAoC,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;oBACzD,uCAAuC,EAAE,MAAM,CAAC,MAAM;oBACtD,kCAAkC,EAAE,SAAS,CAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CACrE;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,eAAe,CAAC,GAAG,EAAE,iCAAiC,EAAE;oBACtD,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC3D,iCAAiC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtF,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI;wBAClC,0CAA0C,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;qBAClE,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,qCAAqC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC1D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI;wBAClC,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;qBACpD,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,eAAe,CAAC,GAAG,EAAE,gCAAgC,EAAE;oBACrD,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,gCAAgC,EAAE,CAAC,CAAC,SAAS;qBAC9C,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,iEAAiE;YACjE,8DAA8D;YAC9D,KAAK,qCAAqC,CAAC;YAC3C,KAAK,oCAAoC,CAAC;YAC1C,KAAK,kDAAkD,CAAC;YACxD,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;oBAC/B,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI;wBAC/B,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC3D,CAAC;oBACF,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACvF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,sEAAsE;IAEtE,SAAS,WAAW,CAAC,KAA0B;QAC7C,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,uCAAuC;QAE3D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;gBAC9D,MAAM,SAAS,GAAc,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC1E,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAI,KAAK,CAAC,OAAkC,CAAC,SAAS,CAAC;oBACtE,4DAA4D;oBAC5D,iEAAiE;oBACjE,mEAAmE;oBACnE,kDAAkD;oBAClD,kEAAkE;oBAClE,iEAAiE;oBACjE,8DAA8D;oBAC9D,8BAA8B;oBAC9B,kEAAkE;oBAClE,+DAA+D;oBAC/D,mDAAmD;oBACnD,qEAAqE;oBACrE,oEAAoE;oBACpE,sEAAsE;oBACtE,kEAAkE;oBAClE,0DAA0D;oBAC1D,MAAM,KAAK,GAAI,KAA4D,CAAC,IAAI,CAAC;oBACjF,SAAS,CAAC,IAAI,GAAG,QAAQ,CACvB,SAAS,EACT,UAAU,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAClE;wBACE,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,uBAAuB,EAAE,cAAc;wBACvC,mBAAmB,EAAE,IAAI,CAAC,WAAW;wBACrC,uBAAuB,EAAE,KAAK;wBAC9B,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,CAAC;wBAChF,0DAA0D;wBAC1D,yCAAyC;wBACzC,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI;4BACpC,6BAA6B,EAAE,KAAK,CAAC,SAAS;yBAC/C,CAAC;wBACF,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;qBACjF,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC;oBAAE,MAAM;gBACd,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,4DAA4D;oBAC5D,qDAAqD;oBACrD,MAAM,CAAC,GAAG,KAAK,CAAC,OAIf,CAAC;oBACF,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE;wBACf,GAAG,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,IAAI;4BAC5C,2BAA2B,EAAE,CAAC,CAAC,gBAAgB;yBAChD,CAAC;wBACF,GAAG,CAAC,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,IAAI;4BAC7C,4BAA4B,EAAE,CAAC,CAAC,iBAAiB;yBAClD,CAAC;wBACF,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI;4BAC1C,gCAAgC,EAAE,CAAC,CAAC,cAAc;yBACnD,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,gDAAgD;gBAChD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,KAAK,sCAAsC,CAAC,CAAC,CAAC;gBAC5C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;oBACf,MAAM,SAAS,GACZ,KAAK,CAAC,OAAsD,CAAC,SAAS;wBACtE,KAAK,CAAC,OAAkC,CAAC,SAAS,CAAC;oBACtD,QAAQ,CAAC,CAAC,EAAE,aAAa,SAAS,IAAI,GAAG,EAAE,EAAE;wBAC3C,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;qBACxE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oCAAoC,CAAC,CAAC,CAAC;gBAC1C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjE,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,aAAa,GAAI,KAAK,CAAC,OAAsC,CAAC,aAAa,CAAC;wBAClF,IAAI,OAAO,aAAa,KAAK,QAAQ;4BACnC,QAAQ,CAAC,IAAI,EAAE,EAAE,gCAAgC,EAAE,aAAa,EAAE,CAAC,CAAC;wBACtE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAsE,CAAC;gBACvF,sDAAsD;gBACtD,kEAAkE;gBAClE,4DAA4D;gBAC5D,+DAA+D;gBAC/D,sBAAsB;gBACtB,QAAQ,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;oBAC7D,uBAAuB,EAAE,MAAM;oBAC/B,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;oBACjE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACvE,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI;wBACvC,4BAA4B,EAAE,CAAC,CAAC,WAAW;qBAC5C,CAAC;iBACH,CAAC,CAAC;gBACH,iEAAiE;gBACjE,qDAAqD;gBACrD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBACtC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;oBACtB,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE;wBACf,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACvE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;qBAClE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAIf,CAAC;gBACF,6DAA6D;gBAC7D,4DAA4D;gBAC5D,yCAAyC;gBACzC,QAAQ,CAAC,IAAI,EAAE;oBACb,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI;wBACxC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;qBAC3C,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI;wBACzC,4BAA4B,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;qBAC7C,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,IAAI;wBAC5C,sCAAsC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;qBAC1D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,IAAI;wBAC7C,0CAA0C,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU;qBAC/D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI;wBACtC,gCAAgC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAsB;qBACtE,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,mBAAmB,KAAK,QAAQ,IAAI;wBAC/C,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;qBAC5C,CAAC;iBACH,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;YAED,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAKf,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;gBACtC,0DAA0D;gBAC1D,gEAAgE;gBAChE,8DAA8D;gBAC9D,4DAA4D;gBAC5D,MAAM,OAAO,GACX,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,EAAE;oBACrF,WAAW,EAAE,QAAQ;oBACrB,uBAAuB,EAAE,cAAc;oBACvC,kBAAkB,EAAE,QAAQ;oBAC5B,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC1E,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/E,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,+BAA+B,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;iBACnF,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;oBAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAKf,CAAC;gBACF,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC3D,4DAA4D;gBAC5D,gEAAgE;gBAChE,4DAA4D;gBAC5D,mDAAmD;gBACnD,IAAI,IAA8B,CAAC;gBACnC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACjC,oEAAoE;oBACpE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBAC9D,IAAI,GAAG,IAAI,CAAC;wBAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,OAAO,CACZ,CAAC,EACD,CAAC,CAAC,QAAQ,KAAK,SAAS;wBACtB,CAAC,CAAC,CAAC,IAAI,EAAW,EAAE,CAChB,IAAI,KAAK,QAAQ,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,QAAQ,EAAE;wBAC1E,CAAC,CAAC,CAAC,IAAI,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CACpF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,+DAA+D;gBAC/D,kEAAkE;gBAClE,QAAQ,CAAC,IAAI,EAAE;oBACb,iCAAiC,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;oBAC/E,GAAG,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,qCAAqC;iBAClF,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;YAED,gEAAgE;YAChE,iEAAiE;YACjE,4DAA4D;YAC5D,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC;oBAAE,MAAM;gBACd,MAAM,CAAC,GAAG,KAAK,CAAC,OAA6C,CAAC;gBAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,EAAE;wBACpD,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9E,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;qBAC/E,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,IAAI;oBAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,+DAA+D;YAC/D,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,sDAAsD;gBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,GAAG;wBAAE,MAAM;oBAChB,8DAA8D;oBAC9D,4DAA4D;oBAC5D,gDAAgD;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,OAGf,CAAC;oBACF,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC;oBAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3E,MAAM;gBACR,CAAC;gBACD,IAAI,cAAc;oBAAE,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5C,WAAW,EAAE,WAAW;QACxB,KAAK;YACH,+DAA+D;YAC/D,gEAAgE;YAChE,2DAA2D;YAC3D,wDAAwD;QAC1D,CAAC;QACD,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,wDAAwD;YACxD,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;gBAChC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD;;;WAGG;QACH,QAAQ,CAAC,GAAU,EAAE,KAA2B;YAC9C,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,wBAAwB;YACtB,iEAAiE;YACjE,+DAA+D;YAC/D,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,OAAO,GAAG,CACd,OAAe,EACf,MAAc,EACd,QAA0C,EACpC,EAAE;gBACR,IAAI,OAAO,IAAI,CAAC,cAAc;oBAAE,OAAO;gBACvC,0DAA0D;gBAC1D,wDAAwD;gBACxD,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO;gBACnC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,OAAO;gBACxB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,eAAe,CAAC,GAAG,EAAE,kCAAkC,EAAE;oBACvD,+BAA+B,EAAE,KAAK,CAAC,OAAO,CAAC;oBAC/C,gCAAgC,EAAE,KAAK,CAAC,MAAM,CAAC;oBAC/C,GAAG,mBAAmB,CAAC,QAAQ,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO;gBACL,EAAE,EAAE,wBAAwB;gBAC5B,UAAU,CAAC,KAAwB;oBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACjE,0DAA0D;oBAC1D,4DAA4D;oBAC5D,yDAAyD;oBACzD,IACE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAChD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAEpC,OAAO;oBACT,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,EACf,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,EACjC,KAAK,CAAC,QAA4C,CACnD,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,KAAwB;oBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;oBAChE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAAE,OAAO;oBACjD,8DAA8D;oBAC9D,IACE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;wBACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAEhD,OAAO;oBACT,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,EACf,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,KAAK,CAAC,QAA4C,CACnD,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAltBD,8CAktBC"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/adapters/observability/otel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;;;AAIH,6DAAuD;AAGvD,2DAA6D;AA0M7D,wEAAwE;AAExE;0EAC0E;AAC1E,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc;QAClC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,KAAK,CAAC,MAAM,GAAG,cAAc,OAAO,CAAC;QACxD,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAmCD;;wEAEwE;AACxE,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CACd,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,MAAM,GAAG,CACnF,CACF,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qEAAqE;AACrE,SAAS,mBAAmB,CAAC,QAA8B;IACzD,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAC/B,KAAK,CAAC,gCAAgC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS;QAChC,KAAK,CAAC,iCAAiC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;QACjC,KAAK,CAAC,kCAAkC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,yCAAyC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACtF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAC7B,KAAK,CAAC,oCAAoC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YACjC,KAAK,CAAC,oCAAoC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAC9B,KAAK,CAAC,qCAAqC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,oCAAoC,CAAC,GAAG,UAAU,CAAC;IACtF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,OAAO,CAAE,KAA8B,CAAC,KAAK,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,SAAgB,iBAAiB,CAAC,IAA8B;IAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CACjB,mDAAmD;YACjD,sFAAsF,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IAEpD,kEAAkE;IAClE,oEAAoE;IACpE,gDAAgD;IAChD,IAAI,MAAM,GAA+B,IAAI,CAAC,MAAM,CAAC;IACrD,IAAI,OAAO,GAA8B,IAAI,CAAC,QAAQ,CAAC;IACvD,SAAS,YAAY;QACnB,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,OAAO,GAAG,IAAA,4BAAW,EAAgB,oBAAoB,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,wEAAwE;oBACtE,8CAA8C;oBAC9C,yDAAyD;oBACzD,mFAAmF;oBACnF,wCAAwC,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAmBD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,gEAAgE;IAChE,0EAA0E;IAC1E,wEAAwE;IACxE,qEAAqE;IACrE,MAAM,WAAW,GAAG,IAAA,0CAAsB,EAAC,MAAM,CAAC,CAAC;IAEnD;;;;;;;;;OASG;IACH,SAAS,WAAW,CAAC,KAA0B;QAC7C,MAAM,IAAI,GAAI,KAAuC,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,EAAE,KAAK,IAAK,KAAK,CAAC,OAA0C,EAAE,KAAK,CAAC;IACjF,CAAC;IAED,SAAS,QAAQ,CACf,SAAoB,EACpB,IAAY,EACZ,KAA0C;QAE1C,iEAAiE;QACjE,4DAA4D;QAC5D,6DAA6D;QAC7D,4DAA4D;QAC5D,qBAAqB;QACrB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;QACjE,IAAI,GAAY,CAAC;QACjB,IAAI,MAAM,IAAI,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAClE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5F,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,OAAO,CACd,SAAoB,EACpB,KAA4C;QAE5C,IAAI,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9F,+CAA+C;YAC/C,oEAAoE;YACpE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;gBAAE,GAAG,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9B,mEAAmE;QACnE,oEAAoE;QACpE,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;IACjD,CAAC;IAED,SAAS,OAAO,CAAC,IAAkB,EAAE,OAA6B;QAChE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAED,SAAS,QAAQ,CAAC,IAAkB,EAAE,KAAyC;QAC7E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED;4DACwD;IACxD,SAAS,eAAe,CACtB,IAAkB,EAClB,IAAY,EACZ,KAAyC;QAEzC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAuC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;QACtF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,OAAO,CAAC,CAAwB;QACvC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;IAC5C,CAAC;IAED;;;uEAGmE;IACnE,SAAS,cAAc;QACrB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sEAAsE;IAEtE,SAAS,oBAAoB,CAAC,KAA0B,EAAE,CAAY;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAA6C,CAAC;QAE9D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,sDAAsD;YACtD,KAAK,oCAAoC,CAAC,CAAC,CAAC;gBAC1C,eAAe,CAAC,GAAG,EAAE,oCAAoC,EAAE;oBACzD,+BAA+B,EAAE,aAAa;oBAC9C,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBACxD,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,gCAAgC,EAAE,CAAC,CAAC,SAAS;qBAC9C,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,gEAAgE;YAChE,KAAK,0CAA0C,CAAC,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAuC;oBAChD,+BAA+B,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;oBACvD,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACjD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBACxD,CAAC;iBACH,CAAC;gBACF,IAAI,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxD,eAAe,CAAC,GAAG,EAAE,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACxE,MAAM;YACR,CAAC;YAED,6DAA6D;YAC7D,kEAAkE;YAClE,oDAAoD;YACpD,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,CAAC,CAAC,OASL,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,MAAM,CAAC,6CAA6C;gBACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,eAAe,CAAC,GAAG,EAAE,8BAA8B,EAAE;wBACnD,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;wBACzD,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9E,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,2BAA2B,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3E,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;4BAC3B,2BAA2B,EAAE,SAAS,CACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CACR,CAAC,IAAyC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAChF,CACF;yBACF,CAAC;wBACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;4BAC5B,4BAA4B,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;yBAC7D,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,eAAe,CAAC,GAAG,EAAE,gCAAgC,EAAE;oBACrD,yBAAyB,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC3C,6BAA6B,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;wBACpC,4BAA4B,EAAE,SAAS,CAAE,CAAC,CAAC,aAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;qBACpF,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,oEAAoE;YACpE,wEAAwE;YACxE,qEAAqE;YACrE,+DAA+D;YAC/D,6BAA6B;YAC7B,KAAK,wCAAwC,CAAC,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAI5B,CAAC;gBACH,eAAe,CAAC,GAAG,EAAE,wCAAwC,EAAE;oBAC7D,qCAAqC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxD,wCAAwC,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC7D,oCAAoC,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;oBACzD,uCAAuC,EAAE,MAAM,CAAC,MAAM;oBACtD,kCAAkC,EAAE,SAAS,CAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,CACrE;iBACF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,eAAe,CAAC,GAAG,EAAE,iCAAiC,EAAE;oBACtD,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC3D,iCAAiC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjD,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtF,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,GAAG,CAAC,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI;wBAClC,0CAA0C,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;qBAClE,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,qCAAqC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC1D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI;wBAClC,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;qBACpD,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,eAAe,CAAC,GAAG,EAAE,gCAAgC,EAAE;oBACrD,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACnD,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI;wBACrC,gCAAgC,EAAE,CAAC,CAAC,SAAS;qBAC9C,CAAC;iBACH,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,iEAAiE;YACjE,8DAA8D;YAC9D,KAAK,qCAAqC,CAAC;YAC3C,KAAK,oCAAoC,CAAC;YAC1C,KAAK,kDAAkD,CAAC;YACxD,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;oBAC/B,mCAAmC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;oBACrD,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChF,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI;wBAC/B,sCAAsC,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC3D,CAAC;oBACF,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACvF,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,sEAAsE;IAEtE,SAAS,WAAW,CAAC,KAA0B;QAC7C,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,uCAAuC;QAE3D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;gBAC9D,MAAM,SAAS,GAAc,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;gBAC1E,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAClC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAI,KAAK,CAAC,OAAkC,CAAC,SAAS,CAAC;oBACtE,4DAA4D;oBAC5D,iEAAiE;oBACjE,mEAAmE;oBACnE,kEAAkE;oBAClE,qEAAqE;oBACrE,kEAAkE;oBAClE,iEAAiE;oBACjE,8DAA8D;oBAC9D,8BAA8B;oBAC9B,kEAAkE;oBAClE,+DAA+D;oBAC/D,mDAAmD;oBACnD,qEAAqE;oBACrE,oEAAoE;oBACpE,sEAAsE;oBACtE,kEAAkE;oBAClE,0DAA0D;oBAC1D,MAAM,KAAK,GAAI,KAA4D,CAAC,IAAI,CAAC;oBACjF,SAAS,CAAC,IAAI,GAAG,QAAQ,CACvB,SAAS,EACT,UAAU,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAClE;wBACE,cAAc,EAAE,IAAI,CAAC,WAAW;wBAChC,uBAAuB,EAAE,cAAc;wBACvC,mBAAmB,EAAE,IAAI,CAAC,WAAW;wBACrC,uBAAuB,EAAE,KAAK;wBAC9B,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,CAAC;wBAChF,0DAA0D;wBAC1D,yCAAyC;wBACzC,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI;4BACpC,6BAA6B,EAAE,KAAK,CAAC,SAAS;yBAC/C,CAAC;wBACF,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,0BAA0B,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;wBAChF,GAAG,CAAC,cAAc;4BAChB,OAAQ,KAAK,CAAC,OAAoC,CAAC,UAAU,KAAK,QAAQ,IAAI;4BAC5E,mBAAmB,EAAG,KAAK,CAAC,OAAkC,CAAC,UAAU;yBAC1E,CAAC;qBACL,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC;oBAAE,MAAM;gBACd,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,4DAA4D;oBAC5D,qDAAqD;oBACrD,MAAM,CAAC,GAAG,KAAK,CAAC,OAKf,CAAC;oBACF,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE;wBACf,GAAG,CAAC,cAAc;4BAChB,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;wBACjF,GAAG,CAAC,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,IAAI;4BAC5C,2BAA2B,EAAE,CAAC,CAAC,gBAAgB;yBAChD,CAAC;wBACF,GAAG,CAAC,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,IAAI;4BAC7C,4BAA4B,EAAE,CAAC,CAAC,iBAAiB;yBAClD,CAAC;wBACF,GAAG,CAAC,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI;4BAC1C,gCAAgC,EAAE,CAAC,CAAC,cAAc;yBACnD,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;gBACD,gDAAgD;gBAChD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,KAAK,sCAAsC,CAAC,CAAC,CAAC;gBAC5C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;oBACf,MAAM,SAAS,GACZ,KAAK,CAAC,OAAsD,CAAC,SAAS;wBACtE,KAAK,CAAC,OAAkC,CAAC,SAAS,CAAC;oBACtD,QAAQ,CAAC,CAAC,EAAE,aAAa,SAAS,IAAI,GAAG,EAAE,EAAE;wBAC3C,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;qBACxE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oCAAoC,CAAC,CAAC,CAAC;gBAC1C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjE,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,aAAa,GAAI,KAAK,CAAC,OAAsC,CAAC,aAAa,CAAC;wBAClF,IAAI,OAAO,aAAa,KAAK,QAAQ;4BACnC,QAAQ,CAAC,IAAI,EAAE,EAAE,gCAAgC,EAAE,aAAa,EAAE,CAAC,CAAC;wBACtE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iCAAiC,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAsE,CAAC;gBACvF,sDAAsD;gBACtD,kEAAkE;gBAClE,4DAA4D;gBAC5D,+DAA+D;gBAC/D,sBAAsB;gBACtB,QAAQ,CAAC,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE;oBAC7D,uBAAuB,EAAE,MAAM;oBAC/B,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;oBACjE,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACvE,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI;wBACvC,4BAA4B,EAAE,CAAC,CAAC,WAAW;qBAC5C,CAAC;iBACH,CAAC,CAAC;gBACH,iEAAiE;gBACjE,qDAAqD;gBACrD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBACtC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;oBACtB,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE;wBACf,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACvE,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;qBAClE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,+BAA+B,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,MAAM,CAAC,GAAG,KAAK,CAAC,OAIf,CAAC;gBACF,6DAA6D;gBAC7D,4DAA4D;gBAC5D,yCAAyC;gBACzC,QAAQ,CAAC,IAAI,EAAE;oBACb,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI;wBACxC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;qBAC3C,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ,IAAI;wBACzC,4BAA4B,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;qBAC7C,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,QAAQ,IAAI;wBAC5C,sCAAsC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS;qBAC1D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,IAAI;wBAC7C,0CAA0C,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU;qBAC/D,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI;wBACtC,gCAAgC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAsB;qBACtE,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,CAAC,mBAAmB,KAAK,QAAQ,IAAI;wBAC/C,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;qBAC5C,CAAC;iBACH,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;YAED,KAAK,kCAAkC,CAAC,CAAC,CAAC;gBACxC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAKf,CAAC;gBACF,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;gBACtC,0DAA0D;gBAC1D,gEAAgE;gBAChE,8DAA8D;gBAC9D,4DAA4D;gBAC5D,MAAM,OAAO,GACX,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,QAAQ,EAAE,EAAE;oBACrF,WAAW,EAAE,QAAQ;oBACrB,uBAAuB,EAAE,cAAc;oBACvC,kBAAkB,EAAE,QAAQ;oBAC5B,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC1E,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/E,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,+BAA+B,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;iBACnF,CAAC,CAAC;gBACH,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;oBAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;YAED,KAAK,gCAAgC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,MAAM,CAAC,GAAG,KAAK,CAAC,OAKf,CAAC;gBACF,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC3D,4DAA4D;gBAC5D,gEAAgE;gBAChE,4DAA4D;gBAC5D,mDAAmD;gBACnD,IAAI,IAA8B,CAAC;gBACnC,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBACjC,oEAAoE;oBACpE,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oBAC9D,IAAI,GAAG,IAAI,CAAC;wBAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,OAAO,CACZ,CAAC,EACD,CAAC,CAAC,QAAQ,KAAK,SAAS;wBACtB,CAAC,CAAC,CAAC,IAAI,EAAW,EAAE,CAChB,IAAI,KAAK,QAAQ,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,QAAQ,EAAE;wBAC1E,CAAC,CAAC,CAAC,IAAI,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CACpF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,+DAA+D;gBAC/D,kEAAkE;gBAClE,QAAQ,CAAC,IAAI,EAAE;oBACb,iCAAiC,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;oBAC/E,GAAG,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,qCAAqC;iBAClF,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClC,MAAM;YACR,CAAC;YAED,gEAAgE;YAChE,iEAAiE;YACjE,4DAA4D;YAC5D,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC;oBAAE,MAAM;gBACd,MAAM,CAAC,GAAG,KAAK,CAAC,OAA6C,CAAC;gBAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACX,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,EAAE;wBACpD,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9E,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;qBAC/E,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,IAAI;oBAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;YAED,+DAA+D;YAC/D,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,MAAM;gBACvB,sDAAsD;gBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,GAAG;wBAAE,MAAM;oBAChB,8DAA8D;oBAC9D,4DAA4D;oBAC5D,gDAAgD;oBAChD,MAAM,CAAC,GAAG,KAAK,CAAC,OAGf,CAAC;oBACF,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,IAAI,CAAC,CAAC,iBAAiB,CAAC;oBAC9D,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3E,MAAM;gBACR,CAAC;gBACD,IAAI,cAAc;oBAAE,oBAAoB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAC5C,WAAW,EAAE,WAAW;QACxB,KAAK;YACH,+DAA+D;YAC/D,gEAAgE;YAChE,2DAA2D;YAC3D,wDAAwD;QAC1D,CAAC;QACD,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,wDAAwD;YACxD,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;gBAChC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;YACD,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD;;;WAGG;QACH,QAAQ,CAAC,GAAU,EAAE,KAA2B;YAC9C,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,wBAAwB;YACtB,iEAAiE;YACjE,+DAA+D;YAC/D,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,OAAO,GAAG,CACd,OAAe,EACf,MAAc,EACd,QAA0C,EACpC,EAAE;gBACR,IAAI,OAAO,IAAI,CAAC,cAAc;oBAAE,OAAO;gBACvC,0DAA0D;gBAC1D,wDAAwD;gBACxD,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO;gBACnC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,EAAE,OAAO;oBAAE,OAAO;gBACxB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,eAAe,CAAC,GAAG,EAAE,kCAAkC,EAAE;oBACvD,+BAA+B,EAAE,KAAK,CAAC,OAAO,CAAC;oBAC/C,gCAAgC,EAAE,KAAK,CAAC,MAAM,CAAC;oBAC/C,GAAG,mBAAmB,CAAC,QAAQ,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO;gBACL,EAAE,EAAE,wBAAwB;gBAC5B,UAAU,CAAC,KAAwB;oBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACjE,0DAA0D;oBAC1D,4DAA4D;oBAC5D,yDAAyD;oBACzD,IACE,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;wBAChD,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAEpC,OAAO;oBACT,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,EACf,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,EACjC,KAAK,CAAC,QAA4C,CACnD,CAAC;gBACJ,CAAC;gBACD,UAAU,CAAC,KAAwB;oBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;oBAChE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAAE,OAAO;oBACjD,8DAA8D;oBAC9D,IACE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;wBACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAEhD,OAAO;oBACT,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,EACf,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,KAAK,CAAC,QAA4C,CACnD,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA5tBD,8CA4tBC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * adapters/hosting/foundryResponses — an agent behind Microsoft Foundry's
3
+ * hosted-agent contract.
4
+ *
5
+ * ── The split, and why it is here ────────────────────────────────────────────
6
+ * Two different things are needed to serve a Foundry hosted agent, and only one
7
+ * of them is Microsoft's:
8
+ *
9
+ * • The **Responses protocol** — `input` items, a `response` object, the
10
+ * named streaming lifecycle. That is a protocol several runtimes speak, so
11
+ * it lives in `responsesWire.ts` with no vendor in it.
12
+ * • The **hosting contract** — port 8088, `POST /responses`, a `HEAD` probe
13
+ * on the same path, `GET /readiness` answering `{"status":"healthy"}`, and
14
+ * `agent_session_id` as a session alias. That IS this runtime's contract,
15
+ * the same way `/invocations` and `X-Amzn-…` are another's, and it is what
16
+ * this file supplies.
17
+ *
18
+ * So this file is a configuration, not an implementation. Everything hard —
19
+ * draining on close, aborting when the caller hangs up, failing a handler that
20
+ * throws or answers nothing — is `httpHost`'s, shared with every other adapter
21
+ * rather than reimplemented here where the two would drift.
22
+ *
23
+ * ── What it does NOT do ──────────────────────────────────────────────────────
24
+ * **Workflow Visualizer topology is not provided.** The Inspector can invoke
25
+ * this host and render its answer; it does not learn that the answer came from
26
+ * four composed agents, because nothing in the Responses protocol carries that
27
+ * and inventing a channel for it would be claiming a compatibility this has
28
+ * never demonstrated. An agent's internal structure is readable from
29
+ * agentfootprint's own recorders.
30
+ *
31
+ * Everything the protocol does not carry — tool calls, image and file input,
32
+ * function-call output, structured output — is refused by name. See
33
+ * `responsesWire.ts`.
34
+ *
35
+ * This is an **inbound hosting adapter**: it is the door callers arrive at. It
36
+ * is not a model provider, and it has nothing to do with which model the agent
37
+ * calls — for Foundry models, that is `openai()` with the endpoint's base URL.
38
+ *
39
+ * @example An agent behind the Inspector
40
+ * import { foundryResponsesHost, memorySessions, standingAgent } from 'agentfootprint/hosting';
41
+ *
42
+ * const handle = await standingAgent({
43
+ * agent,
44
+ * sessions: memorySessions(),
45
+ * host: foundryResponsesHost(),
46
+ * });
47
+ * process.on('SIGTERM', () => void handle.close());
48
+ */
49
+ /// <reference types="node" />
50
+ import type { IncomingMessage, Server, ServerResponse } from 'node:http';
51
+ import { type HttpHost } from '../../hosting/httpHost.js';
52
+ /** The port a Foundry hosted agent is expected on. */
53
+ export declare const DEFAULT_FOUNDRY_PORT = 8088;
54
+ /** The path that takes a turn. */
55
+ export declare const FOUNDRY_INVOKE_PATH = "/responses";
56
+ /** The path a Foundry hosted agent answers a readiness probe on. */
57
+ export declare const FOUNDRY_READINESS_PATH = "/readiness";
58
+ /**
59
+ * Session aliases this contract accepts, in precedence order.
60
+ *
61
+ * `conversation` is the protocol's own; `agent_session_id` is this runtime's;
62
+ * `session_id` is the spelling several clients send anyway. First one present
63
+ * wins, so a caller using any of the three reaches the same session.
64
+ */
65
+ export declare const FOUNDRY_SESSION_FIELDS: readonly string[];
66
+ export interface FoundryResponsesHostOptions {
67
+ /** Port to bind. Default {@link DEFAULT_FOUNDRY_PORT}. Pass `0` for an ephemeral test port. */
68
+ readonly port?: number;
69
+ /** Interface to bind. Default `'0.0.0.0'` — a container's door has to be reachable from outside it. */
70
+ readonly hostname?: string;
71
+ /** Model label echoed in `response` objects when the request names none. */
72
+ readonly model?: string;
73
+ /** Ceiling on a request body. Default one mebibyte. */
74
+ readonly maxBodyBytes?: number;
75
+ /**
76
+ * A `node:http` server you own, to ATTACH these routes to rather than binding
77
+ * one. Refused together with `port`/`hostname`, which would name a socket
78
+ * this host does not bind.
79
+ */
80
+ readonly server?: Server;
81
+ /** Answer a path this host does not own. Private-server mode only. */
82
+ readonly onUnhandled?: (req: IncomingMessage, res: ServerResponse) => void;
83
+ }
84
+ /**
85
+ * An {@link HttpHost} speaking Foundry's hosted-agent contract.
86
+ *
87
+ * @param options - Port, interface, model label and body ceiling.
88
+ */
89
+ export declare function foundryResponsesHost(options?: FoundryResponsesHostOptions): HttpHost;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * adapters/hosting/foundryResponses — an agent behind Microsoft Foundry's
3
+ * hosted-agent contract.
4
+ *
5
+ * ── The split, and why it is here ────────────────────────────────────────────
6
+ * Two different things are needed to serve a Foundry hosted agent, and only one
7
+ * of them is Microsoft's:
8
+ *
9
+ * • The **Responses protocol** — `input` items, a `response` object, the
10
+ * named streaming lifecycle. That is a protocol several runtimes speak, so
11
+ * it lives in `responsesWire.ts` with no vendor in it.
12
+ * • The **hosting contract** — port 8088, `POST /responses`, a `HEAD` probe
13
+ * on the same path, `GET /readiness` answering `{"status":"healthy"}`, and
14
+ * `agent_session_id` as a session alias. That IS this runtime's contract,
15
+ * the same way `/invocations` and `X-Amzn-…` are another's, and it is what
16
+ * this file supplies.
17
+ *
18
+ * So this file is a configuration, not an implementation. Everything hard —
19
+ * draining on close, aborting when the caller hangs up, failing a handler that
20
+ * throws or answers nothing — is `httpHost`'s, shared with every other adapter
21
+ * rather than reimplemented here where the two would drift.
22
+ *
23
+ * ── What it does NOT do ──────────────────────────────────────────────────────
24
+ * **Workflow Visualizer topology is not provided.** The Inspector can invoke
25
+ * this host and render its answer; it does not learn that the answer came from
26
+ * four composed agents, because nothing in the Responses protocol carries that
27
+ * and inventing a channel for it would be claiming a compatibility this has
28
+ * never demonstrated. An agent's internal structure is readable from
29
+ * agentfootprint's own recorders.
30
+ *
31
+ * Everything the protocol does not carry — tool calls, image and file input,
32
+ * function-call output, structured output — is refused by name. See
33
+ * `responsesWire.ts`.
34
+ *
35
+ * This is an **inbound hosting adapter**: it is the door callers arrive at. It
36
+ * is not a model provider, and it has nothing to do with which model the agent
37
+ * calls — for Foundry models, that is `openai()` with the endpoint's base URL.
38
+ *
39
+ * @example An agent behind the Inspector
40
+ * import { foundryResponsesHost, memorySessions, standingAgent } from 'agentfootprint/hosting';
41
+ *
42
+ * const handle = await standingAgent({
43
+ * agent,
44
+ * sessions: memorySessions(),
45
+ * host: foundryResponsesHost(),
46
+ * });
47
+ * process.on('SIGTERM', () => void handle.close());
48
+ */
49
+ import { httpHost } from '../../hosting/httpHost.js';
50
+ import { responsesWire } from './responsesWire.js';
51
+ /** The port a Foundry hosted agent is expected on. */
52
+ export const DEFAULT_FOUNDRY_PORT = 8088;
53
+ /** The path that takes a turn. */
54
+ export const FOUNDRY_INVOKE_PATH = '/responses';
55
+ /** The path a Foundry hosted agent answers a readiness probe on. */
56
+ export const FOUNDRY_READINESS_PATH = '/readiness';
57
+ /**
58
+ * Session aliases this contract accepts, in precedence order.
59
+ *
60
+ * `conversation` is the protocol's own; `agent_session_id` is this runtime's;
61
+ * `session_id` is the spelling several clients send anyway. First one present
62
+ * wins, so a caller using any of the three reaches the same session.
63
+ */
64
+ export const FOUNDRY_SESSION_FIELDS = [
65
+ 'conversation',
66
+ 'agent_session_id',
67
+ 'session_id',
68
+ ];
69
+ /**
70
+ * One mebibyte: large enough for any resume or job description this door was
71
+ * built to carry, small enough that a hostile caller cannot spend the heap.
72
+ */
73
+ const DEFAULT_MAX_BODY_BYTES = 1_048_576;
74
+ /**
75
+ * An {@link HttpHost} speaking Foundry's hosted-agent contract.
76
+ *
77
+ * @param options - Port, interface, model label and body ceiling.
78
+ */
79
+ export function foundryResponsesHost(options = {}) {
80
+ const { server, onUnhandled, model, hostname } = options;
81
+ // `port` and `hostname` name a socket a caller-owned server already bound, so
82
+ // they are passed only when this host is the one binding. Defaulting the port
83
+ // unconditionally would turn "attach to my server" into a refusal.
84
+ const socket = server
85
+ ? { server }
86
+ : {
87
+ port: options.port ?? DEFAULT_FOUNDRY_PORT,
88
+ ...(hostname === undefined ? {} : { hostname }),
89
+ ...(onUnhandled === undefined ? {} : { onUnhandled }),
90
+ };
91
+ return httpHost({
92
+ name: 'foundryResponsesHost',
93
+ wire: responsesWire({
94
+ ...(model === undefined ? {} : { defaultModel: model }),
95
+ sessionFields: FOUNDRY_SESSION_FIELDS,
96
+ health: { status: 'healthy' },
97
+ }),
98
+ invokePath: FOUNDRY_INVOKE_PATH,
99
+ healthPath: FOUNDRY_READINESS_PATH,
100
+ // The Inspector asks whether the door is there before it uses it.
101
+ invokeHeadProbe: true,
102
+ maxBodyBytes: options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES,
103
+ ...socket,
104
+ });
105
+ }
106
+ //# sourceMappingURL=foundryResponses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundryResponses.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/foundryResponses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAIH,OAAO,EAAE,QAAQ,EAAiB,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,kCAAkC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEhD,oEAAoE;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,cAAc;IACd,kBAAkB;IAClB,YAAY;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAqBzC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACzD,8EAA8E;IAC9E,8EAA8E;IAC9E,mEAAmE;IACnE,MAAM,MAAM,GAAG,MAAM;QACnB,CAAC,CAAC,EAAE,MAAM,EAAE;QACZ,CAAC,CAAC;YACE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,oBAAoB;YAC1C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC;IAEN,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,aAAa,CAAC;YAClB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;YACvD,aAAa,EAAE,sBAAsB;YACrC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC9B,CAAC;QACF,UAAU,EAAE,mBAAmB;QAC/B,UAAU,EAAE,sBAAsB;QAClC,kEAAkE;QAClE,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,sBAAsB;QAC5D,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * adapters/hosting/responsesWire — the Responses protocol, as an `HttpWire`.
3
+ *
4
+ * ── What this is, and what it deliberately is not ────────────────────────────
5
+ * This file speaks the **Responses** wire protocol: a request carries `input`
6
+ * as text or as message items, a reply is a `response` object with an id and a
7
+ * status, and a stream is a LIFECYCLE of named events that open the response,
8
+ * announce output, carry deltas, and close each part before closing the
9
+ * response itself.
10
+ *
11
+ * That protocol is nobody's product. It is the shape a Responses-speaking
12
+ * client sends and expects, and several hosted runtimes speak it. So it lives
13
+ * here as a dialect on its own, and the runtimes that CONFIGURE it — their
14
+ * paths, their ports, their probe bodies, their session aliases — live in their
15
+ * own files beside this one. Keeping the split means the next runtime that
16
+ * speaks Responses is a configuration rather than a copy, and it means no
17
+ * vendor's spelling ends up in the protocol.
18
+ *
19
+ * ── The subset ───────────────────────────────────────────────────────────────
20
+ * A text turn, streamed or not, with a session. Deliberately not the whole
21
+ * Responses API: tool calls, reasoning items, image/file input, structured
22
+ * output and function-call output are NOT carried, and each is REFUSED by name
23
+ * rather than dropped — a request whose content this dialect cannot represent
24
+ * is answered 400 before a turn is paid for, never answered 200 with the parts
25
+ * it happened to understand.
26
+ *
27
+ * @example A host that speaks Responses on paths of its own choosing
28
+ * httpHost({
29
+ * name: 'myResponsesHost',
30
+ * wire: responsesWire({ defaultModel: 'my-agent' }),
31
+ * invokePath: '/responses',
32
+ * healthPath: '/health',
33
+ * });
34
+ */
35
+ import type { HttpWire } from '../../hosting/httpHost.js';
36
+ /** Body fields that may carry a session id, in the order they are consulted. */
37
+ export declare const DEFAULT_SESSION_FIELDS: readonly string[];
38
+ /**
39
+ * What a caller is told when a handler THREW.
40
+ *
41
+ * A thrown error's message is the author's note to their own logs — a query, a
42
+ * path, a token in a connection string — and none of it is the caller's. A
43
+ * handler that CHOSE to fail chose its words for the caller, so those travel
44
+ * unchanged. The host tells this dialect which happened; it never guesses from
45
+ * the message.
46
+ */
47
+ export declare const PUBLIC_FAILURE_MESSAGE = "The agent could not complete this request.";
48
+ export interface ResponsesWireOptions {
49
+ /** Model label echoed in `response` objects when the request names none. */
50
+ readonly defaultModel?: string;
51
+ /**
52
+ * Body fields that carry a session id, in precedence order. The first one
53
+ * present and non-empty wins. Default `['conversation', 'session_id']`.
54
+ *
55
+ * A runtime with its own spelling passes its own list — that is the seam a
56
+ * hosting contract configures rather than forks this file for.
57
+ */
58
+ readonly sessionFields?: readonly string[];
59
+ /** Body for the health probe. Default `{ status: 'ok' }`. */
60
+ readonly health?: unknown;
61
+ }
62
+ type JsonObject = Readonly<Record<string, unknown>>;
63
+ /** The turn's text: a bare string, or the user message items that carry it. */
64
+ export declare function readResponsesInput(input: unknown): string;
65
+ /** The session this request claims, by whichever of its aliases it used. */
66
+ export declare function readResponsesSession(body: JsonObject, fields: readonly string[]): string | undefined;
67
+ /**
68
+ * An `HttpWire` speaking the Responses protocol.
69
+ *
70
+ * Pair it with `httpHost` and the paths your deployment contract names. The
71
+ * host keeps its own promises — draining, aborting on disconnect, failing a
72
+ * handler that throws or answers nothing — and this supplies only the dialect.
73
+ */
74
+ export declare function responsesWire(options?: ResponsesWireOptions): HttpWire;
75
+ export {};