@sixb/core 0.1.4 → 0.1.5

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 (74) hide show
  1. package/dist/actions/index.d.ts +2 -2
  2. package/dist/actions/index.d.ts.map +1 -1
  3. package/dist/actions/index.js +4 -4
  4. package/dist/actions/read-facade.d.ts +10 -2
  5. package/dist/actions/read-facade.d.ts.map +1 -1
  6. package/dist/actions/types/context.d.ts +45 -2
  7. package/dist/actions/types/context.d.ts.map +1 -1
  8. package/dist/agents/index.js +9 -9
  9. package/dist/agents/types.d.ts +2 -0
  10. package/dist/agents/types.d.ts.map +1 -1
  11. package/dist/agents/validation.d.ts.map +1 -1
  12. package/dist/bootstrap/index.js +13 -13
  13. package/dist/{chunk-tek1qwgm.js → chunk-1q02e95s.js} +8 -3
  14. package/dist/{chunk-tek1qwgm.js.map → chunk-1q02e95s.js.map} +4 -3
  15. package/dist/{chunk-sxwk41qa.js → chunk-4h947jd8.js} +1 -1
  16. package/dist/{chunk-7gw7mepb.js → chunk-6d5xdj1q.js} +1 -1
  17. package/dist/{chunk-tycbzedm.js → chunk-78c6xvyr.js} +68 -3
  18. package/dist/chunk-78c6xvyr.js.map +15 -0
  19. package/dist/{chunk-c43qr6s0.js → chunk-84h6qhmp.js} +12 -8
  20. package/dist/{chunk-c43qr6s0.js.map → chunk-84h6qhmp.js.map} +4 -4
  21. package/dist/{chunk-s31d0qmq.js → chunk-am6eczah.js} +10 -10
  22. package/dist/{chunk-s31d0qmq.js.map → chunk-am6eczah.js.map} +1 -1
  23. package/dist/{chunk-rs1wbvy6.js → chunk-ea73pzk7.js} +1 -1
  24. package/dist/{chunk-hbeh8j9w.js → chunk-gadsm794.js} +2 -2
  25. package/dist/{chunk-1yz3x65y.js → chunk-h6h91mfy.js} +6 -8
  26. package/dist/{chunk-1yz3x65y.js.map → chunk-h6h91mfy.js.map} +2 -2
  27. package/dist/{chunk-cbkm2vam.js → chunk-r0rry8dn.js} +1 -1
  28. package/dist/{chunk-afjpa2hs.js → chunk-tbv03sx2.js} +1 -1
  29. package/dist/{chunk-1wk20wn3.js → chunk-v0egge8b.js} +14 -18
  30. package/dist/{chunk-1wk20wn3.js.map → chunk-v0egge8b.js.map} +3 -3
  31. package/dist/{chunk-pn8n8sba.js → chunk-z3ga9q5m.js} +7 -11
  32. package/dist/{chunk-pn8n8sba.js.map → chunk-z3ga9q5m.js.map} +3 -4
  33. package/dist/{chunk-g13869yf.js → chunk-zp2v2rv6.js} +1 -1
  34. package/dist/execution/agent.js +9 -9
  35. package/dist/execution/primitive.js +9 -9
  36. package/dist/execution/request.js +9 -9
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +17 -17
  40. package/dist/index.js.map +1 -1
  41. package/dist/materializer/index.js +2 -2
  42. package/dist/objects/index.js +5 -5
  43. package/dist/objects/query/index.js +2 -2
  44. package/dist/ontology/internal.d.ts +1 -1
  45. package/dist/ontology/internal.d.ts.map +1 -1
  46. package/dist/ontology/internal.js +14 -6
  47. package/dist/ontology/internal.js.map +3 -3
  48. package/dist/ontology/json-schema.d.ts +10 -0
  49. package/dist/ontology/json-schema.d.ts.map +1 -1
  50. package/dist/pipelines/index.js +3 -3
  51. package/dist/projections/internal.js +1 -1
  52. package/dist/storage/index.js +1 -1
  53. package/dist/syncs/index.js +3 -3
  54. package/dist/testing/index.js +14 -14
  55. package/dist/webhooks/internal.js +1 -1
  56. package/dist/workflows/index.js +10 -10
  57. package/package.json +1 -1
  58. package/src/actions/index.ts +10 -1
  59. package/src/actions/read-facade.ts +125 -3
  60. package/src/actions/types/context.ts +69 -2
  61. package/src/agents/types.ts +2 -0
  62. package/src/agents/validation.ts +4 -0
  63. package/src/index.ts +5 -0
  64. package/src/ontology/internal.ts +1 -1
  65. package/src/ontology/json-schema.ts +27 -5
  66. package/src/storage/timeseries/store.ts +6 -6
  67. package/dist/chunk-tycbzedm.js.map +0 -15
  68. /package/dist/{chunk-sxwk41qa.js.map → chunk-4h947jd8.js.map} +0 -0
  69. /package/dist/{chunk-7gw7mepb.js.map → chunk-6d5xdj1q.js.map} +0 -0
  70. /package/dist/{chunk-rs1wbvy6.js.map → chunk-ea73pzk7.js.map} +0 -0
  71. /package/dist/{chunk-hbeh8j9w.js.map → chunk-gadsm794.js.map} +0 -0
  72. /package/dist/{chunk-cbkm2vam.js.map → chunk-r0rry8dn.js.map} +0 -0
  73. /package/dist/{chunk-afjpa2hs.js.map → chunk-tbv03sx2.js.map} +0 -0
  74. /package/dist/{chunk-g13869yf.js.map → chunk-zp2v2rv6.js.map} +0 -0
@@ -27,8 +27,8 @@
27
27
  "import { isFileRef } from \"../blob-storage/validation\"\nimport { isPlainRecord } from \"../json\"\nimport type { AgentToolResult } from \"./types\"\n\n/** Narrow a durable JSON tool output to Sixb's file-aware result envelope. */\nexport function isAgentToolResult(value: unknown): value is AgentToolResult {\n return (\n isPlainRecord(value) &&\n value.kind === \"agentToolResult\" &&\n getInvalidAgentToolResultReason(value) === undefined\n )\n}\n\n/** Return a precise path when a tagged result does not satisfy the public rich-result contract. */\nexport function getInvalidAgentToolResultReason(value: unknown): string | undefined {\n if (!isPlainRecord(value) || value.kind !== \"agentToolResult\") {\n return undefined\n }\n\n if (!Array.isArray(value.content)) {\n return \"result.content must be an array\"\n }\n const unsupportedKey = Object.keys(value).find((key) => key !== \"kind\" && key !== \"content\")\n if (unsupportedKey) {\n return `result.${unsupportedKey} is not supported`\n }\n if (value.content.length === 0) {\n return \"result.content must contain at least one content part\"\n }\n\n for (let index = 0; index < value.content.length; index += 1) {\n const part = value.content[index]\n const path = `result.content[${index}]`\n if (!isPlainRecord(part)) {\n return `${path} must be a text or file content part`\n }\n if (part.type === \"text\") {\n if (typeof part.text !== \"string\") {\n return `${path}.text must be a string`\n }\n const unsupportedKey = Object.keys(part).find((key) => key !== \"type\" && key !== \"text\")\n if (unsupportedKey) {\n return `${path}.${unsupportedKey} is not supported`\n }\n continue\n }\n if (part.type === \"file\") {\n if (!isFileRef(part.fileRef)) {\n return `${path}.fileRef must be a valid FileRef`\n }\n const unsupportedKey = Object.keys(part).find((key) => key !== \"type\" && key !== \"fileRef\")\n if (unsupportedKey) {\n return `${path}.${unsupportedKey} is not supported`\n }\n continue\n }\n return `${path}.type must be 'text' or 'file'`\n }\n\n return undefined\n}\n",
28
28
  "import { type FileRef, isFileRef } from \"../blob-storage\"\nimport { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from \"../json\"\nimport {\n type AgentContextEntryInput,\n type AgentContextInput,\n type AgentContextOrigin,\n normalizeAgentContextEntries,\n} from \"./context\"\nimport { serializeAgentContextForModel } from \"./context-model\"\nimport { AgentMessageAdapterError } from \"./errors\"\nimport type { AgentMessage, AgentMessagePart, AgentMessageRole, AgentToolCallPart } from \"./message\"\nimport { isAgentToolResult } from \"./tool-result\"\nimport type { AgentToolFileContent } from \"./types\"\n\n// ── Inbound (write) — deliberately WIDE ────────────────────────────────────────────────────────\n//\n// `fromAiSdk` is the safety net at the SDK boundary, so its input is intentionally permissive: any\n// `{ type: string }` part is accepted at the type level and narrowed at runtime. This is a\n// structural supertype of the AI SDK's `UIMessage`, so a real SDK message can be passed without a\n// cast (verified by a compat test in the consumer package, where `ai` lives — core stays SDK-free).\n\nexport interface AgentInboundUiMessagePart {\n readonly type: string\n readonly text?: string\n readonly state?: string\n // Provider metadata stays `unknown` here, exactly like `input` / `output` / `rawInput`: the SDK\n // types it as provider metadata (a nested record), which is not structurally a Sixb\n // `JsonValue`, so constraining it would break the \"real SDK message assigns without a cast\"\n // contract (locked by the consumer's compat test). `fromAiSdk` validates it to JSON at runtime.\n readonly providerMetadata?: unknown\n readonly toolName?: string\n readonly toolCallId?: string\n readonly providerExecuted?: boolean\n readonly input?: unknown\n readonly rawInput?: unknown\n readonly output?: unknown\n readonly errorText?: string\n readonly callProviderMetadata?: unknown\n readonly fileRef?: unknown\n readonly context?: unknown\n readonly origin?: unknown\n}\n\nexport interface AgentInboundUiMessage {\n readonly role: string\n readonly id?: string\n readonly metadata?: unknown\n readonly parts: readonly AgentInboundUiMessagePart[]\n}\n\n// ── Outbound (read) — PRECISE, aligned with the AI SDK message surface ──────────────────────────\n\ninterface AgentUiToolPartBody {\n readonly toolCallId: string\n readonly providerExecuted?: boolean\n readonly callProviderMetadata?: JsonValue\n}\n\nexport type AgentUiToolPart =\n | ({ readonly type: `tool-${string}` } & AgentUiToolPartBody &\n (\n | {\n readonly state: \"output-available\"\n readonly input: JsonValue\n readonly output: JsonValue\n }\n | { readonly state: \"output-error\"; readonly input: JsonValue; readonly errorText: string }\n ))\n | ({ readonly type: \"dynamic-tool\"; readonly toolName: string } & AgentUiToolPartBody &\n (\n | {\n readonly state: \"output-available\"\n readonly input: JsonValue\n readonly output: JsonValue\n }\n | { readonly state: \"output-error\"; readonly input: JsonValue; readonly errorText: string }\n ))\n\nexport type AgentUiMessagePart =\n | { readonly type: \"text\"; readonly text: string; readonly providerMetadata?: JsonValue }\n | { readonly type: \"reasoning\"; readonly text: string; readonly providerMetadata?: JsonValue }\n | { readonly type: \"step-start\" }\n | { readonly type: \"file\"; readonly fileRef: FileRef; readonly providerMetadata?: JsonValue }\n | {\n readonly type: \"context\"\n readonly context: AgentContextInput\n readonly origin: AgentContextOrigin\n }\n | AgentUiToolPart\n\nexport interface AgentUiMessage {\n readonly role: AgentMessageRole\n readonly id?: string\n readonly metadata?: JsonValue\n readonly parts: readonly AgentUiMessagePart[]\n}\n\nexport type AgentModelToolOutput =\n | { readonly type: \"text\"; readonly value: string }\n | { readonly type: \"json\"; readonly value: JsonValue }\n | { readonly type: \"error-text\"; readonly value: string }\n | { readonly type: \"error-json\"; readonly value: JsonValue }\n\nexport interface AgentModelTextPart {\n readonly type: \"text\"\n readonly text: string\n readonly providerOptions?: JsonValue\n}\nexport interface AgentModelFilePart {\n readonly type: \"file\"\n readonly data: URL\n readonly filename?: string\n readonly mediaType: string\n readonly providerOptions?: JsonValue\n}\nexport interface AgentModelReasoningPart {\n readonly type: \"reasoning\"\n readonly text: string\n readonly providerOptions?: JsonValue\n}\nexport interface AgentModelToolCallPart {\n readonly type: \"tool-call\"\n readonly toolCallId: string\n readonly toolName: string\n readonly input: JsonValue\n readonly providerExecuted?: boolean\n readonly providerOptions?: JsonValue\n}\nexport interface AgentModelToolResultPart {\n readonly type: \"tool-result\"\n readonly toolCallId: string\n readonly toolName: string\n readonly output: AgentModelToolOutput\n readonly providerOptions?: JsonValue\n}\n\nexport type AgentModelAssistantPart =\n | AgentModelTextPart\n | AgentModelReasoningPart\n | AgentModelToolCallPart\n | AgentModelToolResultPart\n\nexport type AgentModelMessage =\n | { readonly role: \"system\"; readonly content: string; readonly providerOptions?: JsonValue }\n | {\n readonly role: \"user\"\n readonly content: readonly (AgentModelTextPart | AgentModelFilePart)[]\n }\n | { readonly role: \"assistant\"; readonly content: readonly AgentModelAssistantPart[] }\n | { readonly role: \"tool\"; readonly content: readonly AgentModelToolResultPart[] }\n\nexport interface AgentFileDataResolverInput<TMessage extends AgentMessage = AgentMessage> {\n readonly message: TMessage\n readonly part: Extract<AgentMessagePart, { type: \"file\" }>\n readonly partIndex: number\n}\n\nexport interface AgentFileDataProjection {\n readonly data: URL\n readonly mediaType?: string\n readonly filename?: string\n}\n\nexport interface AgentToolResultFileResolverInput<TMessage extends AgentMessage = AgentMessage> {\n readonly message: TMessage\n readonly part: AgentToolCallPart\n readonly partIndex: number\n readonly contentPart: AgentToolFileContent\n readonly contentIndex: number\n}\n\nexport interface ToModelMessagesOptions<TMessage extends AgentMessage = AgentMessage> {\n /**\n * Convert a stored file reference into model-readable data. When omitted, file parts are skipped\n * rather than leaking blob ids or passing an unsupported Sixb-only shape to model providers.\n */\n readonly fileData?:\n | ((input: AgentFileDataResolverInput<TMessage>) => URL | AgentFileDataProjection | undefined)\n | undefined\n /**\n * Convert a stored file reference into model-readable text context. This is appended before any\n * file data part so metadata, truncation notes, and sandbox/API access hints stay visible even for\n * models that cannot consume inline files.\n */\n readonly fileText?: (input: AgentFileDataResolverInput<TMessage>) => string | undefined\n /** Add current metadata, sandbox paths, and projection notes for a tool-result file. */\n readonly toolResultFileText?: (\n input: AgentToolResultFileResolverInput<TMessage>\n ) => string | undefined\n}\n\n// ── Helpers ─────────────────────────────────────────────────────────────────────────────────────\n\nconst TOOL_TYPE_PREFIX = \"tool-\"\n\nfunction assertAdapter(condition: unknown, message: string): asserts condition {\n if (!condition) {\n throw new AgentMessageAdapterError(`[Sixb] ${message}`)\n }\n}\n\n/**\n * Validate that `value` is a JSON-canonical value and return it as {@link JsonValue}. Out-of-contract\n * inputs (`undefined` inside objects, `Date`, `bigint`, `Map`/`Set`, non-finite numbers) throw rather\n * than being silently coerced by `JSON.stringify` downstream.\n */\nfunction requireJson(value: unknown, label: string): JsonValue {\n const reason = getInvalidJsonValueReason(value, label)\n assertAdapter(reason === undefined, `agent message ${label} must be a JSON value; ${reason}`)\n return value as JsonValue\n}\n\nfunction optionalJson(value: unknown, label: string): JsonValue | undefined {\n if (value === undefined) return undefined\n return requireJson(omitUndefinedObjectProperties(value), label)\n}\n\n/**\n * Provider metadata is opaque SDK-owned data that can contain optional object keys with\n * `undefined` values. `undefined` is not JSON, but on an object property it means the same thing as\n * \"field absent\", so omit those properties before validating/persisting the metadata.\n *\n * Keep the scope deliberately narrow: arrays, tool inputs/outputs, Dates, functions, bigint, cycles,\n * and every other non-JSON shape are left for `requireJson` to accept or reject. This helper only\n * turns `{ key: undefined }` into `{}` for metadata compatibility with SDK output.\n */\nexport function omitUndefinedObjectProperties(value: unknown): unknown {\n return omitUndefinedObjectPropertiesInternal(value, new Set())\n}\n\nfunction omitUndefinedObjectPropertiesInternal(value: unknown, seen: Set<object>): unknown {\n if (typeof value !== \"object\" || value === null) return value\n\n // Avoid recursing forever on a malformed/cyclic metadata object. Leaving the cycle in place lets\n // `requireJson` below report the canonical JSON-contract error.\n if (seen.has(value)) return value\n\n seen.add(value)\n try {\n if (Array.isArray(value)) {\n return value.map((entry) => omitUndefinedObjectPropertiesInternal(entry, seen))\n }\n\n if (!isPlainRecord(value)) return value\n\n return Object.fromEntries(\n Object.entries(value)\n .filter(([, entry]) => entry !== undefined)\n .map(([key, entry]) => [key, omitUndefinedObjectPropertiesInternal(entry, seen)])\n )\n } finally {\n seen.delete(value)\n }\n}\n\nfunction isToolType(type: string): boolean {\n return type === \"dynamic-tool\" || type.startsWith(TOOL_TYPE_PREFIX)\n}\n\nfunction toolNameFromInbound(part: AgentInboundUiMessagePart): string {\n if (part.type === \"dynamic-tool\") {\n assertAdapter(\n typeof part.toolName === \"string\" && part.toolName.length > 0,\n \"dynamic-tool part is missing a tool name\"\n )\n return part.toolName\n }\n const name = part.type.slice(TOOL_TYPE_PREFIX.length)\n assertAdapter(name.length > 0, `tool part type '${part.type}' is missing a tool name`)\n return name\n}\n\n// ── fromAiSdk (write) ─────────────────────────────────────────────────────────────────────────\n\n/**\n * Convert an SDK-shaped UI message into a durable {@link AgentMessage}. Total: throws\n * {@link AgentMessageAdapterError} on any part kind, tool state, or text/reasoning state that V1 does\n * not model, and on a role outside `system | user | assistant`. Transient states are rejected\n * because messages are only ever persisted once a run has finished.\n */\nexport function fromAiSdk(message: AgentInboundUiMessage): AgentMessage {\n const { role } = message\n assertAdapter(\n role === \"system\" || role === \"user\" || role === \"assistant\",\n `unsupported message role '${role}'`\n )\n\n const parts: AgentMessagePart[] = message.parts.map((part) => fromAiSdkPart(part))\n assertAdapter(\n role === \"user\" || !parts.some((part) => part.type === \"context\"),\n \"context parts are only valid on user messages\"\n )\n const metadata = optionalJson(message.metadata, \"metadata\")\n\n return {\n role,\n parts,\n ...(metadata === undefined ? {} : { metadata }),\n }\n}\n\nfunction fromAiSdkPart(part: AgentInboundUiMessagePart): AgentMessagePart {\n switch (part.type) {\n case \"text\":\n case \"reasoning\": {\n assertAdapter(typeof part.text === \"string\", `${part.type} part is missing text`)\n assertAdapter(\n part.state !== \"streaming\",\n `cannot persist a streaming ${part.type} part; messages are written only once finalized`\n )\n const providerMetadata = optionalJson(part.providerMetadata, `${part.type}.providerMetadata`)\n return {\n type: part.type,\n text: part.text,\n ...(providerMetadata === undefined ? {} : { providerMetadata }),\n }\n }\n case \"step-start\":\n return { type: \"step-start\" }\n case \"file\": {\n assertAdapter(isFileRef(part.fileRef), \"file part is missing a valid fileRef\")\n const providerMetadata = optionalJson(part.providerMetadata, \"file.providerMetadata\")\n return {\n type: \"file\",\n fileRef: part.fileRef,\n ...(providerMetadata === undefined ? {} : { providerMetadata }),\n }\n }\n case \"context\":\n return fromUiContextPart(part)\n default: {\n assertAdapter(\n isToolType(part.type),\n `unsupported message part type '${part.type}'; extend the Sixb message part union to support it`\n )\n return fromAiSdkToolPart(part)\n }\n }\n}\n\nfunction fromUiContextPart(part: AgentInboundUiMessagePart): AgentMessagePart {\n try {\n const [entry] = normalizeAgentContextEntries([\n { context: part.context, origin: part.origin } as AgentContextEntryInput,\n ])\n return { type: \"context\", ...entry }\n } catch (error) {\n throw new AgentMessageAdapterError(\n error instanceof Error ? error.message : \"[Sixb] Invalid agent context part.\"\n )\n }\n}\n\nfunction fromAiSdkToolPart(part: AgentInboundUiMessagePart): AgentToolCallPart {\n const dynamic = part.type === \"dynamic-tool\"\n const toolName = toolNameFromInbound(part)\n assertAdapter(\n typeof part.toolCallId === \"string\" && part.toolCallId.length > 0,\n `tool part '${part.type}' is missing a toolCallId`\n )\n assertAdapter(\n part.state === \"output-available\" || part.state === \"output-error\",\n `cannot persist tool part '${part.toolCallId}' in transient state '${part.state}'; only terminal states are stored`\n )\n\n // For output-error the SDK input may be `undefined`; coerce to `null` to stay JSON-canonical.\n const input = part.input === undefined ? null : requireJson(part.input, \"tool input\")\n const providerMetadata = optionalJson(part.callProviderMetadata, \"tool callProviderMetadata\")\n\n const base = {\n type: \"tool-call\" as const,\n toolCallId: part.toolCallId,\n toolName,\n input,\n ...(dynamic ? { dynamic: true } : {}),\n ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),\n ...(providerMetadata === undefined ? {} : { providerMetadata }),\n }\n\n if (part.state === \"output-available\") {\n return { ...base, state: \"output-available\", output: requireJson(part.output, \"tool output\") }\n }\n assertAdapter(\n typeof part.errorText === \"string\",\n `tool part '${part.toolCallId}' is missing errorText`\n )\n return { ...base, state: \"output-error\", errorText: part.errorText }\n}\n\n// ── toUiMessage (read) ────────────────────────────────────────────────────────────────────────\n\n/** Reconstruct an SDK-shaped UI message from a stored message. Exact inverse of {@link fromAiSdk}. */\nexport function toUiMessage(message: AgentMessage): AgentUiMessage {\n return {\n role: message.role,\n parts: message.parts.map((part) => toUiPart(part)),\n ...(message.metadata === undefined ? {} : { metadata: message.metadata }),\n }\n}\n\nfunction toUiPart(part: AgentMessagePart): AgentUiMessagePart {\n switch (part.type) {\n case \"text\":\n case \"reasoning\":\n return {\n type: part.type,\n text: part.text,\n ...(part.providerMetadata === undefined ? {} : { providerMetadata: part.providerMetadata }),\n }\n case \"step-start\":\n return { type: \"step-start\" }\n case \"file\":\n return {\n type: \"file\",\n fileRef: part.fileRef,\n ...(part.providerMetadata === undefined ? {} : { providerMetadata: part.providerMetadata }),\n }\n case \"context\":\n return { type: \"context\", context: part.context, origin: part.origin }\n case \"tool-call\":\n return toUiToolPart(part)\n }\n}\n\nfunction toUiToolPart(part: AgentToolCallPart): AgentUiToolPart {\n const body = {\n toolCallId: part.toolCallId,\n ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),\n ...(part.providerMetadata === undefined ? {} : { callProviderMetadata: part.providerMetadata }),\n }\n const state =\n part.state === \"output-available\"\n ? { state: \"output-available\" as const, input: part.input, output: part.output }\n : { state: \"output-error\" as const, input: part.input, errorText: part.errorText }\n\n if (part.dynamic) {\n return { type: \"dynamic-tool\", toolName: part.toolName, ...body, ...state }\n }\n return { type: `tool-${part.toolName}`, ...body, ...state }\n}\n\n// ── toModelMessages (read) ──────────────────────────────────────────────────────────────────────\n\n/**\n * Project messages into AI SDK `ModelMessage`s for replay into a model. The assistant/tool split\n * is hand-rolled to mirror `convertToModelMessages` (no `ai` import): assistant parts are grouped\n * into blocks at each `step-start`; each block yields one `assistant` message plus, for any\n * non-provider-executed tool calls, one `tool` message. Provider-executed tool results stay inline\n * in the assistant message. Without a tool registry, a string output maps to `text` and anything\n * else to `json`; this is the documented V1 fidelity scope (a tool's custom `toModelOutput` is not\n * reproduced).\n */\nexport function toModelMessages<TMessage extends AgentMessage>(\n messages: readonly TMessage[],\n options: ToModelMessagesOptions<TMessage> = {}\n): AgentModelMessage[] {\n const result: AgentModelMessage[] = []\n for (const message of messages) {\n switch (message.role) {\n case \"system\":\n result.push(systemModelMessage(message))\n break\n case \"user\":\n result.push(userModelMessage(message, options))\n break\n case \"assistant\":\n appendAssistantModelMessages(result, message, options)\n break\n }\n }\n return result\n}\n\nfunction systemModelMessage(message: AgentMessage): AgentModelMessage {\n const textParts = message.parts.filter(isTextPart)\n // Mirror convertToModelMessages: merge providerMetadata across all system text parts (carries e.g.\n // a provider's prompt-cache directive) and forward it as providerOptions when non-empty.\n const providerOptions = mergeProviderMetadata(textParts)\n return {\n role: \"system\",\n content: textParts.map((part) => part.text).join(\"\"),\n ...(providerOptions === undefined ? {} : { providerOptions }),\n }\n}\n\nfunction mergeProviderMetadata(\n parts: readonly Extract<AgentMessagePart, { type: \"text\" }>[]\n): JsonValue | undefined {\n let merged: Record<string, JsonValue> | undefined\n for (const part of parts) {\n const meta = part.providerMetadata\n if (meta !== undefined && typeof meta === \"object\" && meta !== null && !Array.isArray(meta)) {\n merged = { ...(merged ?? {}), ...meta }\n }\n }\n return merged\n}\n\nfunction userModelMessage<TMessage extends AgentMessage>(\n message: TMessage,\n options: ToModelMessagesOptions<TMessage>\n): AgentModelMessage {\n const content: (AgentModelTextPart | AgentModelFilePart)[] = []\n const serializedContext = serializeAgentContextForModel(\n message.parts.filter((part) => part.type === \"context\")\n )\n if (serializedContext) {\n content.push({ type: \"text\", text: `${serializedContext}\\n\\n` })\n }\n message.parts.forEach((part, partIndex) => {\n if (part.type === \"text\") {\n content.push({\n type: \"text\",\n text: part.text,\n ...(part.providerMetadata === undefined ? {} : { providerOptions: part.providerMetadata }),\n })\n return\n }\n if (part.type === \"file\") {\n const fileContext = options.fileText?.({ message, part, partIndex })\n if (fileContext) {\n content.push({ type: \"text\", text: fileContext })\n }\n const resolved = options.fileData?.({ message, part, partIndex })\n if (resolved) {\n const projection = resolved instanceof URL ? { data: resolved } : resolved\n content.push({\n type: \"file\",\n data: projection.data,\n mediaType: projection.mediaType ?? part.fileRef.mediaType ?? \"application/octet-stream\",\n ...(projection.filename !== undefined\n ? { filename: projection.filename }\n : part.fileRef.fileName === undefined\n ? {}\n : { filename: part.fileRef.fileName }),\n ...(part.providerMetadata === undefined\n ? {}\n : { providerOptions: part.providerMetadata }),\n })\n }\n }\n })\n return { role: \"user\", content }\n}\n\nfunction appendAssistantModelMessages<TMessage extends AgentMessage>(\n result: AgentModelMessage[],\n message: TMessage,\n options: ToModelMessagesOptions<TMessage>\n): void {\n let block: Array<{ readonly part: AgentMessagePart; readonly partIndex: number }> = []\n const flush = (): void => {\n if (block.length === 0) {\n return\n }\n const current = block\n block = []\n\n const content: AgentModelAssistantPart[] = []\n for (const { part, partIndex } of current) {\n if (part.type === \"text\") {\n content.push({\n type: \"text\",\n text: part.text,\n ...(part.providerMetadata === undefined\n ? {}\n : { providerOptions: part.providerMetadata }),\n })\n } else if (part.type === \"reasoning\") {\n content.push({\n type: \"reasoning\",\n text: part.text,\n ...(part.providerMetadata === undefined\n ? {}\n : { providerOptions: part.providerMetadata }),\n })\n } else if (part.type === \"file\") {\n const fileContext = options.fileText?.({ message, part, partIndex })\n if (fileContext) {\n content.push({ type: \"text\", text: fileContext })\n }\n } else if (part.type === \"tool-call\") {\n content.push(toolCallModelPart(part))\n if (part.providerExecuted === true) {\n content.push(toolResultModelPart(message, part, partIndex, \"json\", options))\n }\n }\n }\n result.push({ role: \"assistant\", content })\n\n const toolResults = current.flatMap(({ part, partIndex }) =>\n part.type === \"tool-call\" && part.providerExecuted !== true\n ? [toolResultModelPart(message, part, partIndex, \"text\", options)]\n : []\n )\n if (toolResults.length > 0) {\n result.push({ role: \"tool\", content: toolResults })\n }\n }\n\n message.parts.forEach((part, partIndex) => {\n if (part.type === \"step-start\") {\n flush()\n } else {\n block.push({ part, partIndex })\n }\n })\n flush()\n}\n\nfunction toolCallModelPart(part: AgentToolCallPart): AgentModelToolCallPart {\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n input: part.input,\n ...(part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted }),\n ...(part.providerMetadata === undefined ? {} : { providerOptions: part.providerMetadata }),\n }\n}\n\nfunction toolResultModelPart<TMessage extends AgentMessage>(\n message: TMessage,\n part: AgentToolCallPart,\n partIndex: number,\n errorMode: \"text\" | \"json\",\n options: ToModelMessagesOptions<TMessage>\n): AgentModelToolResultPart {\n return {\n type: \"tool-result\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n output: toolResultOutput(message, part, partIndex, errorMode, options),\n ...(part.providerMetadata === undefined ? {} : { providerOptions: part.providerMetadata }),\n }\n}\n\nfunction toolResultOutput<TMessage extends AgentMessage>(\n message: TMessage,\n part: AgentToolCallPart,\n partIndex: number,\n errorMode: \"text\" | \"json\",\n options: ToModelMessagesOptions<TMessage>\n): AgentModelToolOutput {\n if (part.state === \"output-error\") {\n return errorMode === \"json\"\n ? { type: \"error-json\", value: part.errorText }\n : { type: \"error-text\", value: part.errorText }\n }\n if (isAgentToolResult(part.output)) {\n const value: string[] = []\n part.output.content.forEach((contentPart, contentIndex) => {\n if (contentPart.type === \"text\") {\n value.push(contentPart.text)\n return\n }\n\n const resolverInput = { message, part, partIndex, contentPart, contentIndex }\n const fileContext = options.toolResultFileText?.(resolverInput)\n if (fileContext) {\n value.push(fileContext)\n } else {\n value.push(toolResultFileFallbackText(contentPart))\n }\n })\n return { type: \"text\", value: value.join(\"\\n\") }\n }\n return typeof part.output === \"string\"\n ? { type: \"text\", value: part.output }\n : { type: \"json\", value: part.output }\n}\n\nfunction toolResultFileFallbackText(part: AgentToolFileContent): string {\n const attributes = [\n part.fileRef.fileName ? `name=${JSON.stringify(part.fileRef.fileName)}` : undefined,\n part.fileRef.mediaType ? `mediaType=${JSON.stringify(part.fileRef.mediaType)}` : undefined,\n `sizeBytes=${part.fileRef.sizeBytes}`,\n ].filter((value): value is string => value !== undefined)\n return `[Tool-created file: ${attributes.join(\" \")}. Contents are not available inline.]`\n}\n\nfunction isTextPart(part: AgentMessagePart): part is Extract<AgentMessagePart, { type: \"text\" }> {\n return part.type === \"text\"\n}\n",
29
29
  "import { createHmac, timingSafeEqual } from \"node:crypto\"\nimport { SIXB_API_ROUTES } from \"../http/api-routes\"\nimport { matchesPathPattern, normalizeRoutePath } from \"../http/route-pattern\"\n\nexport const AGENT_API_GATEWAY_PREFIX = \"/__sixb/agent-api\"\n\nconst AGENT_API_GATEWAY_CAPABILITY_PREFIX = \"sixb_agw_v1_\"\n\nexport interface AgentApiGatewayCapabilityInput {\n readonly projectId: string\n readonly runId: string\n readonly executionToken: string\n}\n\nexport interface AgentApiRoute {\n readonly method: string\n readonly path: string\n}\n\n/**\n * The routes the agent API gateway may proxy — the `agentApi` projection of the canonical\n * {@link SIXB_API_ROUTES} table, so this list can never drift from (nor exceed) the bearer boundary.\n */\nexport const AGENT_API_ROUTES: readonly AgentApiRoute[] = SIXB_API_ROUTES.filter(\n (route) => route.agentApi\n).map((route) => ({ method: route.method, path: route.path }))\n\nexport function createAgentApiGatewayCapability(input: AgentApiGatewayCapabilityInput): string {\n return `${AGENT_API_GATEWAY_CAPABILITY_PREFIX}${capabilityDigest(input)}`\n}\n\nexport function isValidAgentApiGatewayCapability(\n input: AgentApiGatewayCapabilityInput & { readonly capability: string }\n): boolean {\n const expected = createAgentApiGatewayCapability(input)\n const actual = input.capability\n const expectedBuffer = Buffer.from(expected)\n const actualBuffer = Buffer.from(actual)\n return (\n expectedBuffer.byteLength === actualBuffer.byteLength &&\n timingSafeEqual(expectedBuffer, actualBuffer)\n )\n}\n\nexport function isAllowedAgentApiRequest(method: string, pathname: string): boolean {\n const normalizedMethod = method.toUpperCase()\n const normalizedPath = normalizeRoutePath(pathname)\n return AGENT_API_ROUTES.some(\n (route) => route.method === normalizedMethod && matchesPathPattern(normalizedPath, route.path)\n )\n}\n\nfunction capabilityDigest(input: AgentApiGatewayCapabilityInput): string {\n return createHmac(\"sha256\", input.executionToken)\n .update(`agent-api-gateway:${input.projectId}:${input.runId}`)\n .digest(\"base64url\")\n}\n",
30
- "import type { LanguageModelV4, LanguageModelV4CallOptions } from \"@ai-sdk/provider\"\nimport type { BlobBody, FileRef } from \"../blob-storage\"\nimport type { ConnectorRuntime } from \"../connectors\"\nimport type { JsonPrimitive, JsonValue, ReadonlyJsonValue } from \"../json\"\nimport type { Logger } from \"../logging\"\nimport type { InferSchema } from \"../ontology/inference\"\nimport type { Schema } from \"../ontology/types\"\nimport type { GroupDefinition } from \"../security\"\n\nexport type {\n AgentContextEntryInput,\n AgentContextInput,\n AgentContextOrigin,\n AgentContextPart,\n} from \"./context\"\n\nexport type AgentReasoningLevel = NonNullable<LanguageModelV4CallOptions[\"reasoning\"]>\n\nexport const AGENT_REASONING_LEVELS = [\n \"provider-default\",\n \"none\",\n \"minimal\",\n \"low\",\n \"medium\",\n \"high\",\n \"xhigh\",\n] as const satisfies readonly AgentReasoningLevel[]\n\nexport interface AgentContextConfig {\n /** Override the provider context-window size inferred by the agent worker. */\n readonly windowTokens?: number\n /** Tokens reserved for the next response and compaction work. */\n readonly reserveTokens?: number\n /** Approximate recent-message budget retained verbatim after compaction. */\n readonly keepRecentTokens?: number\n}\n\n/**\n * Loop / stop controls for an agent run.\n *\n * Consumed by the agent worker when it executes a run.\n */\nexport interface AgentLoopConfig {\n readonly stopWhen?: {\n readonly maxSteps?: number\n }\n readonly context?: AgentContextConfig\n}\n\ntype Simplify<T> = { [K in keyof T]: T[K] } & {}\ntype JsonifyAgentToolInput<T> = unknown extends T\n ? ReadonlyJsonValue\n : T extends Date\n ? string\n : T extends readonly (infer TItem)[]\n ? readonly JsonifyAgentToolInput<TItem>[]\n : T extends JsonPrimitive\n ? T\n : T extends object\n ? { readonly [K in keyof T]: JsonifyAgentToolInput<T[K]> }\n : never\n\n/** A model-facing object shape expressed with Sixb's schema DSL. */\nexport type AgentToolInputSchema = Readonly<Record<string, Schema>>\n\n/** Infer the handler input represented by an agent tool schema. */\nexport type InferAgentToolInputSchema<TInput extends AgentToolInputSchema> =\n string extends keyof TInput\n ? Readonly<Record<string, unknown>>\n : Simplify<{\n readonly [K in keyof TInput]: JsonifyAgentToolInput<InferSchema<TInput[K]>>\n }>\n\n/** Identifies the agent execution that invoked a tool. */\nexport interface AgentToolRunInfo {\n readonly id: string\n readonly agentId: string\n readonly threadId?: string\n}\n\n/** Input accepted by the run-scoped artifact publisher exposed to agent tools. */\nexport interface AgentToolArtifactPutInput {\n readonly body: BlobBody\n readonly fileName: string\n readonly mediaType?: string\n}\n\n/** A durable artifact and its path inside the current run sandbox. */\nexport interface AgentToolArtifact {\n readonly fileRef: FileRef\n readonly sandboxPath: string\n}\n\n/** The narrow artifact-writing surface available to an agent tool call. */\nexport interface AgentToolArtifacts {\n put(input: AgentToolArtifactPutInput): Promise<AgentToolArtifact>\n}\n\nexport type AgentToolTextContent = {\n readonly type: \"text\"\n readonly text: string\n}\n\nexport type AgentToolFileContent = {\n readonly type: \"file\"\n readonly fileRef: FileRef\n}\n\n/** Durable model-facing content returned by a file-aware tool. */\nexport type AgentToolContent = AgentToolTextContent | AgentToolFileContent\n\n/**\n * A file-aware tool result. The tag distinguishes this envelope from an ordinary JSON result while\n * keeping the whole value safe to persist in the durable tool-call trace.\n */\nexport type AgentToolResult = {\n readonly kind: \"agentToolResult\"\n readonly content: readonly AgentToolContent[]\n}\n\n/** The narrow, run-scoped surface passed to an agent tool handler. */\nexport interface AgentToolRunContext<\n TInput extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>,\n> {\n readonly input: TInput\n readonly toolCallId: string\n readonly signal: AbortSignal\n readonly run: AgentToolRunInfo\n readonly connector: ConnectorRuntime\n readonly logger: Logger\n readonly artifacts: AgentToolArtifacts\n}\n\n/** Agent tool handlers may return only values safe to persist in agent messages. */\nexport type AgentToolHandlerResult =\n | ReadonlyJsonValue\n | AgentToolResult\n | Promise<ReadonlyJsonValue | AgentToolResult>\n\nexport type AgentToolHandler<TInput extends Readonly<Record<string, unknown>>> = (\n context: AgentToolRunContext<TInput>\n) => AgentToolHandlerResult\n\n/**\n * Runtime definitions are stored heterogeneously. Keep variance erasure at this\n * boundary only; authoring through `run()` remains strictly contravariant.\n */\ntype StoredAgentToolHandler<TInput extends Readonly<Record<string, unknown>>> = {\n bivarianceHack(context: AgentToolRunContext<TInput>): JsonValue | Promise<JsonValue>\n}[\"bivarianceHack\"]\n\n/** A reusable, inert model tool definition selected explicitly by an agent. */\nexport interface AgentToolDefinition<\n TName extends string = string,\n TInput extends AgentToolInputSchema = AgentToolInputSchema,\n> {\n readonly kind: \"agentTool\"\n readonly name: TName\n readonly description: string\n readonly input: TInput\n readonly handler: StoredAgentToolHandler<InferAgentToolInputSchema<TInput>>\n}\n\n/** Infer the input received by a tool definition's handler. */\nexport type InferAgentToolInput<TTool extends AgentToolDefinition> = InferAgentToolInputSchema<\n TTool[\"input\"]\n>\n\nexport interface AgentToolRunBuilder<TName extends string, TInput extends AgentToolInputSchema> {\n run(\n handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n ): AgentToolDefinition<TName, TInput>\n}\n\nexport interface AgentToolInputBuilder<TName extends string> {\n input<const TInput extends AgentToolInputSchema>(\n input: TInput\n ): AgentToolRunBuilder<TName, TInput>\n}\n\nexport interface AgentToolDescriptionBuilder<TName extends string> {\n description(description: string): AgentToolInputBuilder<TName>\n}\n\n/**\n * Declarative config accepted by {@link defineAgent}.\n *\n * Every field is a static value. `instructions` is a plain string; widening it to\n * `string | (ctx) => string` later would be backwards-compatible.\n */\nexport interface DefineAgentConfig {\n readonly name: string\n readonly description?: string\n readonly model: LanguageModelV4\n readonly reasoning?: AgentReasoningLevel\n readonly providerOptions?: LanguageModelV4CallOptions[\"providerOptions\"]\n readonly instructions: string\n readonly groups?: readonly GroupDefinition[]\n /** Reusable tools this agent is explicitly allowed to call. */\n readonly tools?: readonly AgentToolDefinition[]\n readonly loop?: AgentLoopConfig\n}\n\n/**\n * Agent definition registered with Sixb.\n *\n * Definitions are safe to export from `agents/` modules; the runtime loads and\n * registers them. The agent worker runs them as streaming turns. The `model` is an\n * AI SDK language model instance and is therefore not serialisable — the worker\n * resolves a definition from its own discovery rather than over the wire.\n */\nexport interface AgentDefinition<TId extends string = string> {\n readonly kind: \"agent\"\n readonly id: TId\n readonly name: string\n readonly description?: string\n readonly model: LanguageModelV4\n readonly reasoning?: AgentReasoningLevel\n readonly providerOptions?: LanguageModelV4CallOptions[\"providerOptions\"]\n readonly instructions: string\n readonly groupIds: readonly string[]\n /** Selected tool definitions, normalized to an empty array when omitted. */\n readonly tools: readonly AgentToolDefinition[]\n readonly loop?: AgentLoopConfig\n}\n",
31
- "import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from \"../json\"\nimport {\n normalizeSchemaValue,\n type ObjectSchema,\n OntologyValidationError,\n type ValueType,\n validateSchemaValue,\n} from \"../ontology\"\nimport type { GroupDefinition, SecurityDefinitionCatalog } from \"../security\"\nimport { AgentDefinitionError } from \"./errors\"\nimport {\n AGENT_REASONING_LEVELS,\n type AgentContextConfig,\n type AgentDefinition,\n type AgentLoopConfig,\n type AgentReasoningLevel,\n type AgentToolDefinition,\n type AgentToolInputSchema,\n type DefineAgentConfig,\n} from \"./types\"\n\nconst AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/\nconst AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([\n \"string\",\n \"integer\",\n \"double\",\n \"decimal\",\n \"boolean\",\n \"date\",\n \"timestamp\",\n \"uuid\",\n \"fileRef\",\n])\n\nexport const AGENT_RESERVED_TOOL_NAMES = [\"bash\", \"read\", \"view_file\"] as const\n\nexport function assertNonEmpty(value: string, field: string): void {\n if (!value.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent ${field} must not be empty.`)\n }\n}\n\nexport function isAgentDefinition(value: unknown): value is AgentDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agent\" &&\n typeof value.id === \"string\" &&\n typeof value.name === \"string\" &&\n typeof value.instructions === \"string\" &&\n (value.reasoning === undefined || isAgentReasoningLevel(value.reasoning)) &&\n (value.providerOptions === undefined || isProviderOptions(value.providerOptions)) &&\n Array.isArray(value.groupIds) &&\n isAgentToolDefinitionArray(value.tools)\n )\n}\n\nexport function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agentTool\" &&\n typeof value.name === \"string\" &&\n typeof value.description === \"string\" &&\n isPlainRecord(value.input) &&\n typeof value.handler === \"function\"\n )\n}\n\nexport function assertValidAgentToolName(name: unknown): asserts name is string {\n if (typeof name !== \"string\" || !AGENT_TOOL_NAME_PATTERN.test(name)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent tool name must be 1-64 characters, start with a letter or underscore, and contain only letters, numbers, underscores, or hyphens.\"\n )\n }\n if ((AGENT_RESERVED_TOOL_NAMES as readonly string[]).includes(name)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool name '${name}' is reserved by the framework.`)\n }\n}\n\nexport function assertValidAgentToolDescription(name: string, description: unknown): void {\n if (typeof description !== \"string\" || !description.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' description must not be empty.`)\n }\n}\n\nexport function assertValidAgentToolInput(name: string, input: unknown): void {\n if (!isPlainRecord(input)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' input must be a schema object.`)\n }\n\n for (const [field, schema] of Object.entries(input)) {\n if (!field.trim()) {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${name}' input field names must not be empty.`\n )\n }\n assertValidAgentToolSchema(name, schema, `input.${field}`, new Set())\n }\n}\n\nexport function validateAndSnapshotAgentToolInput<TInput extends AgentToolInputSchema>(\n toolName: string,\n input: TInput\n): TInput {\n assertValidAgentToolInput(toolName, input)\n try {\n return deepFreeze(structuredClone(input))\n } catch {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' input must be safely snapshot-compatible.`\n )\n }\n}\n\n/** Validate model input against a tool schema, normalize it to JSON, and lock the snapshot. */\nexport function validateAndNormalizeAgentToolInput(\n toolName: string,\n shape: AgentToolInputSchema,\n value: unknown,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Record<string, JsonValue> {\n const label = `Agent tool '${toolName}' input`\n if (!isPlainRecord(value)) {\n throw new OntologyValidationError(`[Sixb] ${label} must be a JSON object.`)\n }\n\n const reason = getInvalidJsonValueReason(value, label)\n if (reason) {\n throw new OntologyValidationError(`[Sixb] ${label} must be JSON-compatible; ${reason}.`)\n }\n\n const schema: ObjectSchema = {\n type: \"object\",\n properties: Object.fromEntries(\n Object.entries(shape).map(([field, fieldSchema]) => [\n field,\n { schema: fieldSchema, required: true },\n ])\n ),\n }\n validateSchemaValue(schema, value, label, valueTypesById)\n return deepFreeze(\n normalizeSchemaValue(schema, value, label, valueTypesById) as Record<string, JsonValue>\n )\n}\n\n/** Revalidate and lock tool definitions supplied directly to the runtime. */\nexport function validateAgentToolsAtStartup(agents: readonly AgentDefinition[]): void {\n for (const agent of agents) {\n if (!isAgentDefinition(agent)) {\n throw new AgentDefinitionError(\"[Sixb] Agents must contain only valid agent definitions.\")\n }\n\n assertValidAgentToolDefinitions(agent.id, agent.tools)\n for (const tool of agent.tools) {\n deepFreeze(tool.input)\n Object.freeze(tool)\n }\n Object.freeze(agent.tools)\n Object.freeze(agent)\n }\n}\n\nexport function resolveAgentLoopConfig(\n loop: AgentLoopConfig | undefined\n): AgentLoopConfig | undefined {\n if (loop === undefined) return undefined\n\n const maxSteps = loop?.stopWhen?.maxSteps\n if (maxSteps !== undefined && (!Number.isSafeInteger(maxSteps) || maxSteps <= 0)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent loop.stopWhen.maxSteps must be a positive safe integer.\"\n )\n }\n\n const context = loop.context ? snapshotAgentContextConfig(loop.context) : undefined\n return Object.freeze({\n ...(loop.stopWhen === undefined\n ? {}\n : { stopWhen: Object.freeze({ ...(maxSteps === undefined ? {} : { maxSteps }) }) }),\n ...(context === undefined ? {} : { context }),\n })\n}\n\nfunction snapshotAgentContextConfig(context: AgentContextConfig): AgentContextConfig {\n const snapshot: Record<string, number> = {}\n for (const field of [\"windowTokens\", \"reserveTokens\", \"keepRecentTokens\"] as const) {\n const value = context[field]\n if (value === undefined) continue\n assertPositiveSafeInteger(value, field)\n snapshot[field] = value\n }\n\n return Object.freeze(snapshot)\n}\n\nfunction assertPositiveSafeInteger(value: unknown, field: string): asserts value is number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value <= 0) {\n throw new AgentDefinitionError(\n `[Sixb] Agent loop.context.${field} must be a positive safe integer.`\n )\n }\n}\n\nexport function assertValidReasoningLevel(reasoning: AgentReasoningLevel | undefined): void {\n if (reasoning === undefined) {\n return\n }\n if (!isAgentReasoningLevel(reasoning)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(\", \")}.`\n )\n }\n}\n\nexport function assertValidProviderOptions(\n providerOptions: DefineAgentConfig[\"providerOptions\"]\n): void {\n if (providerOptions === undefined) {\n return\n }\n\n const reason = getInvalidJsonValueReason(providerOptions, \"providerOptions\")\n if (!isRecord(providerOptions) || reason) {\n throw new AgentDefinitionError(\n `[Sixb] Agent providerOptions must be a provider-keyed JSON object${reason ? `; ${reason}` : \".\"}`\n )\n }\n\n for (const [provider, options] of Object.entries(providerOptions)) {\n if (!provider.trim()) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent providerOptions provider names must not be empty.\"\n )\n }\n const optionsReason = getInvalidJsonValueReason(options, `providerOptions.${provider}`)\n if (!isRecord(options) || optionsReason) {\n throw new AgentDefinitionError(\n `[Sixb] Agent providerOptions.${provider} must be a JSON object${optionsReason ? `; ${optionsReason}` : \".\"}`\n )\n }\n }\n}\n\nexport function groupIdsFromDefinitions(\n agentId: string,\n groups: readonly GroupDefinition[] | undefined\n): readonly string[] {\n const groupIds = (groups ?? []).map((group) => {\n if (!isRecord(group) || group.kind !== \"group\") {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' groups must contain only group definitions.`\n )\n }\n\n assertNonEmpty(group.id, `Agent '${agentId}' group id`)\n return group.id\n })\n\n assertNoDuplicateGroupIds(agentId, groupIds)\n return Object.freeze(groupIds)\n}\n\nexport function validateAgentGroupReferences(\n agents: readonly AgentDefinition[],\n security: SecurityDefinitionCatalog\n): void {\n for (const agent of agents) {\n assertNoDuplicateGroupIds(agent.id, agent.groupIds)\n for (const groupId of agent.groupIds) {\n if (!security.getGroupById(groupId)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agent.id}' groups references unknown group '${groupId}'. Add it to 'security/groups/' or pass it to createSixb({ groups }).`\n )\n }\n }\n }\n}\n\nfunction assertNoDuplicateGroupIds(agentId: string, groupIds: readonly string[]): void {\n const seen = new Set<string>()\n for (const groupId of groupIds) {\n assertNonEmpty(groupId, `Agent '${agentId}' group id`)\n if (seen.has(groupId)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' groups contains duplicate group id '${groupId}'.`\n )\n }\n seen.add(groupId)\n }\n}\n\nfunction isAgentReasoningLevel(value: unknown): value is AgentReasoningLevel {\n return typeof value === \"string\" && (AGENT_REASONING_LEVELS as readonly string[]).includes(value)\n}\n\nfunction isProviderOptions(\n value: unknown\n): value is NonNullable<DefineAgentConfig[\"providerOptions\"]> {\n if (!isRecord(value) || getInvalidJsonValueReason(value) !== undefined) {\n return false\n }\n return Object.entries(value).every(\n ([provider, options]) =>\n provider.trim().length > 0 &&\n isRecord(options) &&\n getInvalidJsonValueReason(options) === undefined\n )\n}\n\nfunction assertValidAgentToolSchema(\n toolName: string,\n schema: unknown,\n path: string,\n visiting: Set<object>\n): void {\n if (typeof schema === \"string\") {\n if (AGENT_TOOL_PRIMITIVE_SCHEMAS.has(schema)) {\n return\n }\n throw invalidAgentToolSchema(toolName, path)\n }\n if (!isPlainRecord(schema) || typeof schema.type !== \"string\" || visiting.has(schema)) {\n throw invalidAgentToolSchema(toolName, path)\n }\n\n visiting.add(schema)\n switch (schema.type) {\n case \"enum\": {\n const values = schema.values\n const validValues = isValidAgentToolEnumValues(values, schema.valueType)\n if (!validValues || new Set(values).size !== values.length) {\n throw invalidAgentToolSchema(toolName, path)\n }\n break\n }\n case \"array\":\n assertValidAgentToolSchema(toolName, schema.items, `${path}.items`, visiting)\n break\n case \"map\":\n if (schema.keySchema !== \"string\") {\n throw invalidAgentToolSchema(toolName, path)\n }\n assertValidAgentToolSchema(toolName, schema.valueSchema, `${path}.valueSchema`, visiting)\n break\n case \"object\": {\n if (!isPlainRecord(schema.properties)) {\n throw invalidAgentToolSchema(toolName, path)\n }\n for (const [fieldId, field] of Object.entries(schema.properties)) {\n if (!fieldId.trim() || !isPlainRecord(field) || !(\"schema\" in field)) {\n throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)\n }\n if (\n (field.required !== undefined && typeof field.required !== \"boolean\") ||\n (field.nullable !== undefined && typeof field.nullable !== \"boolean\") ||\n (field.description !== undefined &&\n (typeof field.description !== \"string\" || !field.description.trim()))\n ) {\n throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)\n }\n assertValidAgentToolSchema(\n toolName,\n field.schema,\n `${path}.properties.${fieldId}.schema`,\n visiting\n )\n }\n break\n }\n case \"valueTypeRef\":\n if (typeof schema.valueTypeId !== \"string\" || !schema.valueTypeId.trim()) {\n throw invalidAgentToolSchema(toolName, path)\n }\n if (schema._resolved !== undefined) {\n assertValidAgentToolSchema(toolName, schema._resolved, `${path}._resolved`, visiting)\n }\n break\n default:\n throw invalidAgentToolSchema(toolName, path)\n }\n visiting.delete(schema)\n}\n\nfunction invalidAgentToolSchema(toolName: string, path: string): AgentDefinitionError {\n return new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`\n )\n}\n\nfunction isAgentToolDefinitionArray(value: unknown): value is readonly AgentToolDefinition[] {\n if (!Array.isArray(value)) {\n return false\n }\n for (let index = 0; index < value.length; index += 1) {\n if (!Object.hasOwn(value, index) || !isAgentToolDefinition(value[index])) {\n return false\n }\n }\n return true\n}\n\nexport function assertValidAgentToolDefinitions(\n agentId: string,\n tools: readonly AgentToolDefinition[]\n): void {\n const seen = new Set<string>()\n for (let index = 0; index < tools.length; index += 1) {\n const tool = tools[index]\n if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' tools must contain only agent tool definitions.`\n )\n }\n\n assertValidAgentToolName(tool.name)\n assertValidAgentToolDescription(tool.name, tool.description)\n assertValidAgentToolInput(tool.name, tool.input)\n if (seen.has(tool.name)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' tools contains duplicate tool name '${tool.name}'.`\n )\n }\n seen.add(tool.name)\n }\n}\n\nfunction isValidAgentToolEnumValues(values: unknown, valueType: unknown): values is unknown[] {\n if (!Array.isArray(values) || values.length === 0) {\n return false\n }\n\n for (let index = 0; index < values.length; index += 1) {\n if (!Object.hasOwn(values, index)) {\n return false\n }\n const value = values[index]\n if (\n valueType === \"string\"\n ? typeof value !== \"string\"\n : valueType !== \"integer\" || typeof value !== \"number\" || !Number.isInteger(value)\n ) {\n return false\n }\n }\n return true\n}\n\nfunction deepFreeze<T>(value: T, seen: Set<object> = new Set()): T {\n if (value === null || typeof value !== \"object\" || seen.has(value)) {\n return value\n }\n\n seen.add(value)\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n if (descriptor && \"value\" in descriptor) {\n deepFreeze(descriptor.value, seen)\n }\n }\n return Object.freeze(value)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
30
+ "import type { LanguageModelV4, LanguageModelV4CallOptions } from \"@ai-sdk/provider\"\nimport type { BlobBody, FileRef } from \"../blob-storage\"\nimport type { ConnectorRuntime } from \"../connectors\"\nimport type { JsonPrimitive, JsonValue, ReadonlyJsonValue } from \"../json\"\nimport type { Logger } from \"../logging\"\nimport type { InferSchema } from \"../ontology/inference\"\nimport type { Schema } from \"../ontology/types\"\nimport type { GroupDefinition } from \"../security\"\n\nexport type {\n AgentContextEntryInput,\n AgentContextInput,\n AgentContextOrigin,\n AgentContextPart,\n} from \"./context\"\n\nexport type AgentReasoningLevel = NonNullable<LanguageModelV4CallOptions[\"reasoning\"]>\n\nexport const AGENT_REASONING_LEVELS = [\n \"provider-default\",\n \"none\",\n \"minimal\",\n \"low\",\n \"medium\",\n \"high\",\n \"xhigh\",\n] as const satisfies readonly AgentReasoningLevel[]\n\nexport interface AgentContextConfig {\n /** Override the provider context-window size inferred by the agent worker. */\n readonly windowTokens?: number\n /** Tokens reserved for the next response and compaction work. */\n readonly reserveTokens?: number\n /** Approximate recent-message budget retained verbatim after compaction. */\n readonly keepRecentTokens?: number\n}\n\n/**\n * Loop / stop controls for an agent run.\n *\n * Consumed by the agent worker when it executes a run.\n */\nexport interface AgentLoopConfig {\n readonly stopWhen?: {\n readonly maxSteps?: number\n }\n readonly context?: AgentContextConfig\n /** Automatic provider prompt caching. Defaults to `auto`; use `off` to opt out. */\n readonly caching?: \"auto\" | \"off\"\n}\n\ntype Simplify<T> = { [K in keyof T]: T[K] } & {}\ntype JsonifyAgentToolInput<T> = unknown extends T\n ? ReadonlyJsonValue\n : T extends Date\n ? string\n : T extends readonly (infer TItem)[]\n ? readonly JsonifyAgentToolInput<TItem>[]\n : T extends JsonPrimitive\n ? T\n : T extends object\n ? { readonly [K in keyof T]: JsonifyAgentToolInput<T[K]> }\n : never\n\n/** A model-facing object shape expressed with Sixb's schema DSL. */\nexport type AgentToolInputSchema = Readonly<Record<string, Schema>>\n\n/** Infer the handler input represented by an agent tool schema. */\nexport type InferAgentToolInputSchema<TInput extends AgentToolInputSchema> =\n string extends keyof TInput\n ? Readonly<Record<string, unknown>>\n : Simplify<{\n readonly [K in keyof TInput]: JsonifyAgentToolInput<InferSchema<TInput[K]>>\n }>\n\n/** Identifies the agent execution that invoked a tool. */\nexport interface AgentToolRunInfo {\n readonly id: string\n readonly agentId: string\n readonly threadId?: string\n}\n\n/** Input accepted by the run-scoped artifact publisher exposed to agent tools. */\nexport interface AgentToolArtifactPutInput {\n readonly body: BlobBody\n readonly fileName: string\n readonly mediaType?: string\n}\n\n/** A durable artifact and its path inside the current run sandbox. */\nexport interface AgentToolArtifact {\n readonly fileRef: FileRef\n readonly sandboxPath: string\n}\n\n/** The narrow artifact-writing surface available to an agent tool call. */\nexport interface AgentToolArtifacts {\n put(input: AgentToolArtifactPutInput): Promise<AgentToolArtifact>\n}\n\nexport type AgentToolTextContent = {\n readonly type: \"text\"\n readonly text: string\n}\n\nexport type AgentToolFileContent = {\n readonly type: \"file\"\n readonly fileRef: FileRef\n}\n\n/** Durable model-facing content returned by a file-aware tool. */\nexport type AgentToolContent = AgentToolTextContent | AgentToolFileContent\n\n/**\n * A file-aware tool result. The tag distinguishes this envelope from an ordinary JSON result while\n * keeping the whole value safe to persist in the durable tool-call trace.\n */\nexport type AgentToolResult = {\n readonly kind: \"agentToolResult\"\n readonly content: readonly AgentToolContent[]\n}\n\n/** The narrow, run-scoped surface passed to an agent tool handler. */\nexport interface AgentToolRunContext<\n TInput extends Readonly<Record<string, unknown>> = Readonly<Record<string, unknown>>,\n> {\n readonly input: TInput\n readonly toolCallId: string\n readonly signal: AbortSignal\n readonly run: AgentToolRunInfo\n readonly connector: ConnectorRuntime\n readonly logger: Logger\n readonly artifacts: AgentToolArtifacts\n}\n\n/** Agent tool handlers may return only values safe to persist in agent messages. */\nexport type AgentToolHandlerResult =\n | ReadonlyJsonValue\n | AgentToolResult\n | Promise<ReadonlyJsonValue | AgentToolResult>\n\nexport type AgentToolHandler<TInput extends Readonly<Record<string, unknown>>> = (\n context: AgentToolRunContext<TInput>\n) => AgentToolHandlerResult\n\n/**\n * Runtime definitions are stored heterogeneously. Keep variance erasure at this\n * boundary only; authoring through `run()` remains strictly contravariant.\n */\ntype StoredAgentToolHandler<TInput extends Readonly<Record<string, unknown>>> = {\n bivarianceHack(context: AgentToolRunContext<TInput>): JsonValue | Promise<JsonValue>\n}[\"bivarianceHack\"]\n\n/** A reusable, inert model tool definition selected explicitly by an agent. */\nexport interface AgentToolDefinition<\n TName extends string = string,\n TInput extends AgentToolInputSchema = AgentToolInputSchema,\n> {\n readonly kind: \"agentTool\"\n readonly name: TName\n readonly description: string\n readonly input: TInput\n readonly handler: StoredAgentToolHandler<InferAgentToolInputSchema<TInput>>\n}\n\n/** Infer the input received by a tool definition's handler. */\nexport type InferAgentToolInput<TTool extends AgentToolDefinition> = InferAgentToolInputSchema<\n TTool[\"input\"]\n>\n\nexport interface AgentToolRunBuilder<TName extends string, TInput extends AgentToolInputSchema> {\n run(\n handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n ): AgentToolDefinition<TName, TInput>\n}\n\nexport interface AgentToolInputBuilder<TName extends string> {\n input<const TInput extends AgentToolInputSchema>(\n input: TInput\n ): AgentToolRunBuilder<TName, TInput>\n}\n\nexport interface AgentToolDescriptionBuilder<TName extends string> {\n description(description: string): AgentToolInputBuilder<TName>\n}\n\n/**\n * Declarative config accepted by {@link defineAgent}.\n *\n * Every field is a static value. `instructions` is a plain string; widening it to\n * `string | (ctx) => string` later would be backwards-compatible.\n */\nexport interface DefineAgentConfig {\n readonly name: string\n readonly description?: string\n readonly model: LanguageModelV4\n readonly reasoning?: AgentReasoningLevel\n readonly providerOptions?: LanguageModelV4CallOptions[\"providerOptions\"]\n readonly instructions: string\n readonly groups?: readonly GroupDefinition[]\n /** Reusable tools this agent is explicitly allowed to call. */\n readonly tools?: readonly AgentToolDefinition[]\n readonly loop?: AgentLoopConfig\n}\n\n/**\n * Agent definition registered with Sixb.\n *\n * Definitions are safe to export from `agents/` modules; the runtime loads and\n * registers them. The agent worker runs them as streaming turns. The `model` is an\n * AI SDK language model instance and is therefore not serialisable — the worker\n * resolves a definition from its own discovery rather than over the wire.\n */\nexport interface AgentDefinition<TId extends string = string> {\n readonly kind: \"agent\"\n readonly id: TId\n readonly name: string\n readonly description?: string\n readonly model: LanguageModelV4\n readonly reasoning?: AgentReasoningLevel\n readonly providerOptions?: LanguageModelV4CallOptions[\"providerOptions\"]\n readonly instructions: string\n readonly groupIds: readonly string[]\n /** Selected tool definitions, normalized to an empty array when omitted. */\n readonly tools: readonly AgentToolDefinition[]\n readonly loop?: AgentLoopConfig\n}\n",
31
+ "import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from \"../json\"\nimport {\n normalizeSchemaValue,\n type ObjectSchema,\n OntologyValidationError,\n type ValueType,\n validateSchemaValue,\n} from \"../ontology\"\nimport type { GroupDefinition, SecurityDefinitionCatalog } from \"../security\"\nimport { AgentDefinitionError } from \"./errors\"\nimport {\n AGENT_REASONING_LEVELS,\n type AgentContextConfig,\n type AgentDefinition,\n type AgentLoopConfig,\n type AgentReasoningLevel,\n type AgentToolDefinition,\n type AgentToolInputSchema,\n type DefineAgentConfig,\n} from \"./types\"\n\nconst AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/\nconst AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([\n \"string\",\n \"integer\",\n \"double\",\n \"decimal\",\n \"boolean\",\n \"date\",\n \"timestamp\",\n \"uuid\",\n \"fileRef\",\n])\n\nexport const AGENT_RESERVED_TOOL_NAMES = [\"bash\", \"read\", \"view_file\"] as const\n\nexport function assertNonEmpty(value: string, field: string): void {\n if (!value.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent ${field} must not be empty.`)\n }\n}\n\nexport function isAgentDefinition(value: unknown): value is AgentDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agent\" &&\n typeof value.id === \"string\" &&\n typeof value.name === \"string\" &&\n typeof value.instructions === \"string\" &&\n (value.reasoning === undefined || isAgentReasoningLevel(value.reasoning)) &&\n (value.providerOptions === undefined || isProviderOptions(value.providerOptions)) &&\n Array.isArray(value.groupIds) &&\n isAgentToolDefinitionArray(value.tools)\n )\n}\n\nexport function isAgentToolDefinition(value: unknown): value is AgentToolDefinition {\n return (\n isRecord(value) &&\n value.kind === \"agentTool\" &&\n typeof value.name === \"string\" &&\n typeof value.description === \"string\" &&\n isPlainRecord(value.input) &&\n typeof value.handler === \"function\"\n )\n}\n\nexport function assertValidAgentToolName(name: unknown): asserts name is string {\n if (typeof name !== \"string\" || !AGENT_TOOL_NAME_PATTERN.test(name)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent tool name must be 1-64 characters, start with a letter or underscore, and contain only letters, numbers, underscores, or hyphens.\"\n )\n }\n if ((AGENT_RESERVED_TOOL_NAMES as readonly string[]).includes(name)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool name '${name}' is reserved by the framework.`)\n }\n}\n\nexport function assertValidAgentToolDescription(name: string, description: unknown): void {\n if (typeof description !== \"string\" || !description.trim()) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' description must not be empty.`)\n }\n}\n\nexport function assertValidAgentToolInput(name: string, input: unknown): void {\n if (!isPlainRecord(input)) {\n throw new AgentDefinitionError(`[Sixb] Agent tool '${name}' input must be a schema object.`)\n }\n\n for (const [field, schema] of Object.entries(input)) {\n if (!field.trim()) {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${name}' input field names must not be empty.`\n )\n }\n assertValidAgentToolSchema(name, schema, `input.${field}`, new Set())\n }\n}\n\nexport function validateAndSnapshotAgentToolInput<TInput extends AgentToolInputSchema>(\n toolName: string,\n input: TInput\n): TInput {\n assertValidAgentToolInput(toolName, input)\n try {\n return deepFreeze(structuredClone(input))\n } catch {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' input must be safely snapshot-compatible.`\n )\n }\n}\n\n/** Validate model input against a tool schema, normalize it to JSON, and lock the snapshot. */\nexport function validateAndNormalizeAgentToolInput(\n toolName: string,\n shape: AgentToolInputSchema,\n value: unknown,\n valueTypesById: ReadonlyMap<string, ValueType>\n): Record<string, JsonValue> {\n const label = `Agent tool '${toolName}' input`\n if (!isPlainRecord(value)) {\n throw new OntologyValidationError(`[Sixb] ${label} must be a JSON object.`)\n }\n\n const reason = getInvalidJsonValueReason(value, label)\n if (reason) {\n throw new OntologyValidationError(`[Sixb] ${label} must be JSON-compatible; ${reason}.`)\n }\n\n const schema: ObjectSchema = {\n type: \"object\",\n properties: Object.fromEntries(\n Object.entries(shape).map(([field, fieldSchema]) => [\n field,\n { schema: fieldSchema, required: true },\n ])\n ),\n }\n validateSchemaValue(schema, value, label, valueTypesById)\n return deepFreeze(\n normalizeSchemaValue(schema, value, label, valueTypesById) as Record<string, JsonValue>\n )\n}\n\n/** Revalidate and lock tool definitions supplied directly to the runtime. */\nexport function validateAgentToolsAtStartup(agents: readonly AgentDefinition[]): void {\n for (const agent of agents) {\n if (!isAgentDefinition(agent)) {\n throw new AgentDefinitionError(\"[Sixb] Agents must contain only valid agent definitions.\")\n }\n\n assertValidAgentToolDefinitions(agent.id, agent.tools)\n for (const tool of agent.tools) {\n deepFreeze(tool.input)\n Object.freeze(tool)\n }\n Object.freeze(agent.tools)\n Object.freeze(agent)\n }\n}\n\nexport function resolveAgentLoopConfig(\n loop: AgentLoopConfig | undefined\n): AgentLoopConfig | undefined {\n if (loop === undefined) return undefined\n\n const maxSteps = loop?.stopWhen?.maxSteps\n if (maxSteps !== undefined && (!Number.isSafeInteger(maxSteps) || maxSteps <= 0)) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent loop.stopWhen.maxSteps must be a positive safe integer.\"\n )\n }\n if (loop.caching !== undefined && loop.caching !== \"auto\" && loop.caching !== \"off\") {\n throw new AgentDefinitionError(\"[Sixb] Agent loop.caching must be 'auto' or 'off'.\")\n }\n\n const context = loop.context ? snapshotAgentContextConfig(loop.context) : undefined\n return Object.freeze({\n ...(loop.stopWhen === undefined\n ? {}\n : { stopWhen: Object.freeze({ ...(maxSteps === undefined ? {} : { maxSteps }) }) }),\n ...(context === undefined ? {} : { context }),\n ...(loop.caching === undefined ? {} : { caching: loop.caching }),\n })\n}\n\nfunction snapshotAgentContextConfig(context: AgentContextConfig): AgentContextConfig {\n const snapshot: Record<string, number> = {}\n for (const field of [\"windowTokens\", \"reserveTokens\", \"keepRecentTokens\"] as const) {\n const value = context[field]\n if (value === undefined) continue\n assertPositiveSafeInteger(value, field)\n snapshot[field] = value\n }\n\n return Object.freeze(snapshot)\n}\n\nfunction assertPositiveSafeInteger(value: unknown, field: string): asserts value is number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value <= 0) {\n throw new AgentDefinitionError(\n `[Sixb] Agent loop.context.${field} must be a positive safe integer.`\n )\n }\n}\n\nexport function assertValidReasoningLevel(reasoning: AgentReasoningLevel | undefined): void {\n if (reasoning === undefined) {\n return\n }\n if (!isAgentReasoningLevel(reasoning)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent reasoning must be one of: ${AGENT_REASONING_LEVELS.join(\", \")}.`\n )\n }\n}\n\nexport function assertValidProviderOptions(\n providerOptions: DefineAgentConfig[\"providerOptions\"]\n): void {\n if (providerOptions === undefined) {\n return\n }\n\n const reason = getInvalidJsonValueReason(providerOptions, \"providerOptions\")\n if (!isRecord(providerOptions) || reason) {\n throw new AgentDefinitionError(\n `[Sixb] Agent providerOptions must be a provider-keyed JSON object${reason ? `; ${reason}` : \".\"}`\n )\n }\n\n for (const [provider, options] of Object.entries(providerOptions)) {\n if (!provider.trim()) {\n throw new AgentDefinitionError(\n \"[Sixb] Agent providerOptions provider names must not be empty.\"\n )\n }\n const optionsReason = getInvalidJsonValueReason(options, `providerOptions.${provider}`)\n if (!isRecord(options) || optionsReason) {\n throw new AgentDefinitionError(\n `[Sixb] Agent providerOptions.${provider} must be a JSON object${optionsReason ? `; ${optionsReason}` : \".\"}`\n )\n }\n }\n}\n\nexport function groupIdsFromDefinitions(\n agentId: string,\n groups: readonly GroupDefinition[] | undefined\n): readonly string[] {\n const groupIds = (groups ?? []).map((group) => {\n if (!isRecord(group) || group.kind !== \"group\") {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' groups must contain only group definitions.`\n )\n }\n\n assertNonEmpty(group.id, `Agent '${agentId}' group id`)\n return group.id\n })\n\n assertNoDuplicateGroupIds(agentId, groupIds)\n return Object.freeze(groupIds)\n}\n\nexport function validateAgentGroupReferences(\n agents: readonly AgentDefinition[],\n security: SecurityDefinitionCatalog\n): void {\n for (const agent of agents) {\n assertNoDuplicateGroupIds(agent.id, agent.groupIds)\n for (const groupId of agent.groupIds) {\n if (!security.getGroupById(groupId)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agent.id}' groups references unknown group '${groupId}'. Add it to 'security/groups/' or pass it to createSixb({ groups }).`\n )\n }\n }\n }\n}\n\nfunction assertNoDuplicateGroupIds(agentId: string, groupIds: readonly string[]): void {\n const seen = new Set<string>()\n for (const groupId of groupIds) {\n assertNonEmpty(groupId, `Agent '${agentId}' group id`)\n if (seen.has(groupId)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' groups contains duplicate group id '${groupId}'.`\n )\n }\n seen.add(groupId)\n }\n}\n\nfunction isAgentReasoningLevel(value: unknown): value is AgentReasoningLevel {\n return typeof value === \"string\" && (AGENT_REASONING_LEVELS as readonly string[]).includes(value)\n}\n\nfunction isProviderOptions(\n value: unknown\n): value is NonNullable<DefineAgentConfig[\"providerOptions\"]> {\n if (!isRecord(value) || getInvalidJsonValueReason(value) !== undefined) {\n return false\n }\n return Object.entries(value).every(\n ([provider, options]) =>\n provider.trim().length > 0 &&\n isRecord(options) &&\n getInvalidJsonValueReason(options) === undefined\n )\n}\n\nfunction assertValidAgentToolSchema(\n toolName: string,\n schema: unknown,\n path: string,\n visiting: Set<object>\n): void {\n if (typeof schema === \"string\") {\n if (AGENT_TOOL_PRIMITIVE_SCHEMAS.has(schema)) {\n return\n }\n throw invalidAgentToolSchema(toolName, path)\n }\n if (!isPlainRecord(schema) || typeof schema.type !== \"string\" || visiting.has(schema)) {\n throw invalidAgentToolSchema(toolName, path)\n }\n\n visiting.add(schema)\n switch (schema.type) {\n case \"enum\": {\n const values = schema.values\n const validValues = isValidAgentToolEnumValues(values, schema.valueType)\n if (!validValues || new Set(values).size !== values.length) {\n throw invalidAgentToolSchema(toolName, path)\n }\n break\n }\n case \"array\":\n assertValidAgentToolSchema(toolName, schema.items, `${path}.items`, visiting)\n break\n case \"map\":\n if (schema.keySchema !== \"string\") {\n throw invalidAgentToolSchema(toolName, path)\n }\n assertValidAgentToolSchema(toolName, schema.valueSchema, `${path}.valueSchema`, visiting)\n break\n case \"object\": {\n if (!isPlainRecord(schema.properties)) {\n throw invalidAgentToolSchema(toolName, path)\n }\n for (const [fieldId, field] of Object.entries(schema.properties)) {\n if (!fieldId.trim() || !isPlainRecord(field) || !(\"schema\" in field)) {\n throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)\n }\n if (\n (field.required !== undefined && typeof field.required !== \"boolean\") ||\n (field.nullable !== undefined && typeof field.nullable !== \"boolean\") ||\n (field.description !== undefined &&\n (typeof field.description !== \"string\" || !field.description.trim()))\n ) {\n throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)\n }\n assertValidAgentToolSchema(\n toolName,\n field.schema,\n `${path}.properties.${fieldId}.schema`,\n visiting\n )\n }\n break\n }\n case \"valueTypeRef\":\n if (typeof schema.valueTypeId !== \"string\" || !schema.valueTypeId.trim()) {\n throw invalidAgentToolSchema(toolName, path)\n }\n if (schema._resolved !== undefined) {\n assertValidAgentToolSchema(toolName, schema._resolved, `${path}._resolved`, visiting)\n }\n break\n default:\n throw invalidAgentToolSchema(toolName, path)\n }\n visiting.delete(schema)\n}\n\nfunction invalidAgentToolSchema(toolName: string, path: string): AgentDefinitionError {\n return new AgentDefinitionError(\n `[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`\n )\n}\n\nfunction isAgentToolDefinitionArray(value: unknown): value is readonly AgentToolDefinition[] {\n if (!Array.isArray(value)) {\n return false\n }\n for (let index = 0; index < value.length; index += 1) {\n if (!Object.hasOwn(value, index) || !isAgentToolDefinition(value[index])) {\n return false\n }\n }\n return true\n}\n\nexport function assertValidAgentToolDefinitions(\n agentId: string,\n tools: readonly AgentToolDefinition[]\n): void {\n const seen = new Set<string>()\n for (let index = 0; index < tools.length; index += 1) {\n const tool = tools[index]\n if (!Object.hasOwn(tools, index) || !isAgentToolDefinition(tool)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' tools must contain only agent tool definitions.`\n )\n }\n\n assertValidAgentToolName(tool.name)\n assertValidAgentToolDescription(tool.name, tool.description)\n assertValidAgentToolInput(tool.name, tool.input)\n if (seen.has(tool.name)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' tools contains duplicate tool name '${tool.name}'.`\n )\n }\n seen.add(tool.name)\n }\n}\n\nfunction isValidAgentToolEnumValues(values: unknown, valueType: unknown): values is unknown[] {\n if (!Array.isArray(values) || values.length === 0) {\n return false\n }\n\n for (let index = 0; index < values.length; index += 1) {\n if (!Object.hasOwn(values, index)) {\n return false\n }\n const value = values[index]\n if (\n valueType === \"string\"\n ? typeof value !== \"string\"\n : valueType !== \"integer\" || typeof value !== \"number\" || !Number.isInteger(value)\n ) {\n return false\n }\n }\n return true\n}\n\nfunction deepFreeze<T>(value: T, seen: Set<object> = new Set()): T {\n if (value === null || typeof value !== \"object\" || seen.has(value)) {\n return value\n }\n\n seen.add(value)\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key)\n if (descriptor && \"value\" in descriptor) {\n deepFreeze(descriptor.value, seen)\n }\n }\n return Object.freeze(value)\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n",
32
32
  "import {\n cloneJsonValue,\n getInvalidJsonValueReason,\n type JsonValue,\n type ReadonlyJsonValue,\n} from \"../json\"\nimport { AgentDefinitionError, AgentToolResultValidationError } from \"./errors\"\nimport { getInvalidAgentToolResultReason } from \"./tool-result\"\nimport type {\n AgentToolDefinition,\n AgentToolHandler,\n AgentToolInputSchema,\n InferAgentToolInputSchema,\n} from \"./types\"\nimport {\n assertValidAgentToolDefinitions,\n assertValidAgentToolDescription,\n assertValidAgentToolName,\n validateAndSnapshotAgentToolInput,\n} from \"./validation\"\n\nconst EMPTY_AGENT_TOOLS: readonly AgentToolDefinition[] = Object.freeze([])\nconst normalizedAgentTools = new WeakSet<AgentToolDefinition>()\n\nexport function createAgentToolDefinition<\n const TName extends string,\n const TInput extends AgentToolInputSchema,\n>(definition: {\n readonly name: TName\n readonly description: string\n readonly input: TInput\n readonly handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n}): AgentToolDefinition<TName, TInput> {\n assertValidAgentToolName(definition.name)\n assertValidAgentToolDescription(definition.name, definition.description)\n if (typeof definition.handler !== \"function\") {\n throw new AgentDefinitionError(\n `[Sixb] Agent tool '${definition.name}' handler must be a function.`\n )\n }\n\n const input = validateAndSnapshotAgentToolInput(definition.name, definition.input)\n const tool: AgentToolDefinition<TName, TInput> = {\n kind: \"agentTool\",\n name: definition.name,\n description: definition.description,\n input,\n handler: async (context) => {\n const result = await definition.handler(context)\n let snapshot: JsonValue\n try {\n // AgentToolResult is intentionally expressed with FileRef instead of a duplicate JSON-only\n // shape. Runtime validation below proves that the complete envelope crosses the same JSON\n // boundary as legacy results.\n snapshot = cloneJsonValue(result as ReadonlyJsonValue, \"result\")\n } catch (cause) {\n throw new AgentToolResultValidationError(\n definition.name,\n getInvalidJsonValueReason(result, \"result\") ?? \"result could not be cloned safely\",\n { cause }\n )\n }\n const richResultReason = getInvalidAgentToolResultReason(snapshot)\n if (richResultReason) {\n throw new AgentToolResultValidationError(definition.name, richResultReason)\n }\n return snapshot\n },\n }\n\n normalizedAgentTools.add(tool)\n return Object.freeze(tool)\n}\n\nexport function toolsFromDefinitions(\n agentId: string,\n tools: readonly AgentToolDefinition[] | undefined\n): readonly AgentToolDefinition[] {\n if (tools === undefined) {\n return EMPTY_AGENT_TOOLS\n }\n if (!Array.isArray(tools)) {\n throw new AgentDefinitionError(\n `[Sixb] Agent '${agentId}' tools must be an array of agent tool definitions.`\n )\n }\n\n assertValidAgentToolDefinitions(agentId, tools)\n\n const normalized: AgentToolDefinition[] = []\n for (const tool of tools) {\n normalized.push(normalizeAgentToolDefinition(tool))\n }\n return Object.freeze(normalized)\n}\n\nfunction normalizeAgentToolDefinition(tool: AgentToolDefinition): AgentToolDefinition {\n if (normalizedAgentTools.has(tool)) {\n return tool\n }\n\n return createAgentToolDefinition({\n name: tool.name,\n description: tool.description,\n input: tool.input,\n handler: (context) => tool.handler(context),\n })\n}\n",
33
33
  "import { AgentDefinitionError } from \"./errors\"\nimport { createAgentToolDefinition, toolsFromDefinitions } from \"./tool-definition\"\nimport type {\n AgentDefinition,\n AgentToolDefinition,\n AgentToolDescriptionBuilder,\n AgentToolHandler,\n AgentToolInputBuilder,\n AgentToolInputSchema,\n AgentToolRunBuilder,\n DefineAgentConfig,\n InferAgentToolInputSchema,\n} from \"./types\"\nimport {\n assertNonEmpty,\n assertValidAgentToolDescription,\n assertValidAgentToolInput,\n assertValidAgentToolName,\n assertValidProviderOptions,\n assertValidReasoningLevel,\n groupIdsFromDefinitions,\n resolveAgentLoopConfig,\n} from \"./validation\"\n\n/**\n * Define a reusable tool that can be selected explicitly by one or more agents.\n *\n * The returned definition is inert. The agent worker supplies its run-scoped\n * context and executes the handler only when a selected agent calls the tool.\n */\nexport function defineAgentTool<const TName extends string>(\n name: TName\n): AgentToolDescriptionBuilder<TName> {\n assertValidAgentToolName(name)\n\n return {\n description(description: string): AgentToolInputBuilder<TName> {\n assertValidAgentToolDescription(name, description)\n\n return {\n input<const TInput extends AgentToolInputSchema>(\n input: TInput\n ): AgentToolRunBuilder<TName, TInput> {\n assertValidAgentToolInput(name, input)\n\n return {\n run(\n handler: AgentToolHandler<InferAgentToolInputSchema<TInput>>\n ): AgentToolDefinition<TName, TInput> {\n return createAgentToolDefinition({ name, description, input, handler })\n },\n }\n },\n }\n },\n }\n}\n\n/**\n * Define an agent: a conversational, looping actor auto-discovered from `agents/`.\n *\n * The returned definition is declarative and can be exported from a project-level\n * `agents/` module. The runtime loads and registers it (`sixb.agents`); the agent\n * worker executes it as a running, streaming agent.\n */\nexport function defineAgent<const TId extends string>(\n id: TId,\n config: DefineAgentConfig\n): AgentDefinition<TId> {\n assertNonEmpty(id, \"id\")\n assertNonEmpty(config.name, \"name\")\n assertNonEmpty(config.instructions, \"instructions\")\n\n if (config.model === undefined || config.model === null) {\n throw new AgentDefinitionError(\"[Sixb] Agent model is required.\")\n }\n assertValidReasoningLevel(config.reasoning)\n assertValidProviderOptions(config.providerOptions)\n const loop = resolveAgentLoopConfig(config.loop)\n const groupIds = groupIdsFromDefinitions(id, config.groups)\n const tools = toolsFromDefinitions(id, config.tools)\n\n return Object.freeze({\n kind: \"agent\",\n id,\n name: config.name,\n model: config.model,\n ...(config.reasoning !== undefined ? { reasoning: config.reasoning } : {}),\n ...(config.providerOptions !== undefined ? { providerOptions: config.providerOptions } : {}),\n instructions: config.instructions,\n groupIds,\n tools,\n ...(config.description !== undefined ? { description: config.description } : {}),\n ...(loop !== undefined ? { loop } : {}),\n })\n}\n",
34
34
  "import { stableJsonStringify } from \"../json\"\nimport type { AgentMessageRecord } from \"../storage/agents/types\"\nimport type { AgentMessage, AgentMessagePart } from \"./message\"\n\nexport const AGENT_CONTEXT_ESTIMATOR_VERSION = 1 as const\n\nconst CHARS_PER_TOKEN = 4\nconst REQUEST_OVERHEAD_TOKENS = 8\nconst MESSAGE_OVERHEAD_TOKENS = 8\nconst TOOL_OVERHEAD_TOKENS = 16\nconst STEP_OVERHEAD_TOKENS = 2\nconst IMAGE_ALLOWANCE_TOKENS = 1_200\nconst FILE_TEXT_INLINE_MAX_BYTES = 50 * 1024\nconst FILE_TEXT_INLINE_TOTAL_MAX_BYTES = 200 * 1024\nconst TOOL_RESULT_SUMMARY_MAX_CHARS = 2_000\n\nexport interface AgentContextEstimateTool {\n readonly name: string\n readonly description: string\n /** Deterministic JSON-schema serialization sent for this tool. */\n readonly inputSchema: string\n}\n\nexport interface EstimateAgentContextRequestTokensInput {\n readonly systemPrompt: string\n readonly tools: readonly AgentContextEstimateTool[]\n readonly messages: readonly AgentMessage[]\n}\n\nexport interface AgentContextTokenEstimate {\n readonly tokens: number\n readonly estimatorVersion: typeof AGENT_CONTEXT_ESTIMATOR_VERSION\n}\n\nexport interface AgentContextCompactionBoundary {\n readonly messagesToSummarize: readonly AgentMessageRecord[]\n readonly retainedMessages: readonly AgentMessageRecord[]\n readonly summarizedThroughSeq: number\n}\n\n/** Compaction begins only once the estimated request crosses the reserved input budget. */\nexport function shouldCompactAgentContext(input: {\n readonly estimatedInputTokens: number\n readonly inputBudgetTokens: number\n}): boolean {\n return input.estimatedInputTokens > input.inputBudgetTokens\n}\n\n/** Estimate the provider request shape with one stable, conservative character heuristic. */\nexport function estimateAgentContextRequestTokens(\n input: EstimateAgentContextRequestTokensInput\n): AgentContextTokenEstimate {\n const toolTokens = input.tools.reduce(\n (total, tool) =>\n total +\n TOOL_OVERHEAD_TOKENS +\n textTokens(tool.name) +\n textTokens(tool.description) +\n textTokens(tool.inputSchema),\n 0\n )\n return {\n tokens:\n REQUEST_OVERHEAD_TOKENS +\n textTokens(input.systemPrompt) +\n toolTokens +\n estimateAgentContextMessagesTokens(input.messages).tokens,\n estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION,\n }\n}\n\n/** Estimate message-only growth after a provider-usage anchor. */\nexport function estimateAgentContextMessagesTokens(\n messages: readonly AgentMessage[]\n): AgentContextTokenEstimate {\n const attachments = { textBytesRemaining: FILE_TEXT_INLINE_TOTAL_MAX_BYTES }\n let tokens = 0\n for (const message of messages) {\n tokens += estimateMessageTokens(message, attachments)\n }\n return { tokens, estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION }\n}\n\n/** Select the safe user boundary whose retained tail is closest to the configured recent budget. */\nexport function selectAgentContextCompactionBoundary(input: {\n readonly messages: readonly AgentMessageRecord[]\n readonly keepRecentTokens: number\n}): AgentContextCompactionBoundary | null {\n if (input.messages.length < 2) return null\n\n let retainedTokens = 0\n let boundaryIndex: number | null = null\n let closestDistance = Number.POSITIVE_INFINITY\n for (let index = input.messages.length - 1; index > 0; index -= 1) {\n retainedTokens += estimateAgentContextMessagesTokens([input.messages[index]!]).tokens\n if (input.messages[index]?.role !== \"user\") continue\n\n const distance = Math.abs(input.keepRecentTokens - retainedTokens)\n if (distance <= closestDistance) {\n boundaryIndex = index\n closestDistance = distance\n }\n if (retainedTokens >= input.keepRecentTokens) break\n }\n\n if (boundaryIndex === null) return null\n\n const summarizedThroughSeq = input.messages[boundaryIndex - 1]?.seq\n if (summarizedThroughSeq === undefined) return null\n return {\n messagesToSummarize: input.messages.slice(0, boundaryIndex),\n retainedMessages: input.messages.slice(boundaryIndex),\n summarizedThroughSeq,\n }\n}\n\n/** Serialize durable conversation content as escaped quoted data for the summary model. */\nexport function serializeAgentMessagesForSummary(messages: readonly AgentMessageRecord[]): string {\n const lines = [\"<sixb_conversation_history>\"]\n for (const message of messages) {\n lines.push(\n ` <message id=\"${escapeXml(message.id)}\" seq=\"${message.seq}\" role=\"${message.role}\">`\n )\n message.parts.forEach((part, partIndex) => {\n lines.push(...serializeSummaryPart(message, part, partIndex))\n })\n lines.push(\" </message>\")\n }\n lines.push(\"</sixb_conversation_history>\")\n return lines.join(\"\\n\")\n}\n\nfunction estimateMessageTokens(\n message: AgentMessage,\n attachments: { textBytesRemaining: number }\n): number {\n let tokens = MESSAGE_OVERHEAD_TOKENS\n for (const part of message.parts) {\n switch (part.type) {\n case \"text\":\n case \"reasoning\":\n tokens += textTokens(part.text)\n break\n case \"step-start\":\n tokens += STEP_OVERHEAD_TOKENS\n break\n case \"context\":\n tokens += textTokens(stableJsonStringify(part.context))\n break\n case \"tool-call\":\n tokens +=\n TOOL_OVERHEAD_TOKENS +\n textTokens(part.toolName) +\n textTokens(stableJsonStringify(part.input)) +\n (part.state === \"output-available\"\n ? textTokens(stableJsonStringify(part.output))\n : textTokens(part.errorText))\n break\n case \"file\": {\n const file = part.fileRef\n tokens += textTokens(\n [file.blobId, file.digest, file.fileName, file.mediaType, file.logicalPath]\n .filter((value): value is string => value !== undefined)\n .join(\" \")\n )\n if (message.role !== \"assistant\") {\n if (looksLikeImage(file.mediaType, file.fileName)) {\n tokens += IMAGE_ALLOWANCE_TOKENS\n } else {\n const inlineBytes = Math.min(\n file.sizeBytes,\n FILE_TEXT_INLINE_MAX_BYTES,\n attachments.textBytesRemaining\n )\n attachments.textBytesRemaining -= inlineBytes\n tokens += Math.ceil(inlineBytes / CHARS_PER_TOKEN)\n }\n }\n break\n }\n }\n }\n return tokens\n}\n\nfunction serializeSummaryPart(\n message: AgentMessageRecord,\n part: AgentMessagePart,\n partIndex: number\n): string[] {\n const indent = \" \"\n switch (part.type) {\n case \"text\":\n return [`${indent}<text>${escapeXml(part.text)}</text>`]\n case \"reasoning\":\n case \"step-start\":\n return []\n case \"context\":\n return part.context.kind === \"object\"\n ? [\n `${indent}<object_context origin=\"${part.origin}\" object_type_id=\"${escapeXml(part.context.ref.objectTypeId)}\" primary_id=\"${escapeXml(part.context.ref.primaryId)}\" />`,\n ]\n : [\n `${indent}<app_context origin=\"${part.origin}\" id=\"${escapeXml(part.context.id)}\" label=\"${escapeXml(part.context.label)}\">`,\n `${indent} <description>${escapeXml(part.context.description)}</description>`,\n `${indent} <value format=\"json\">${escapeXml(stableJsonStringify(part.context.value))}</value>`,\n `${indent}</app_context>`,\n ]\n case \"file\": {\n const file = part.fileRef\n const attributes = [\n `message_id=\"${escapeXml(message.id)}\"`,\n `part_index=\"${partIndex}\"`,\n `blob_id=\"${escapeXml(file.blobId)}\"`,\n `digest=\"${escapeXml(file.digest)}\"`,\n `size_bytes=\"${file.sizeBytes}\"`,\n ...(file.fileName === undefined ? [] : [`file_name=\"${escapeXml(file.fileName)}\"`]),\n ...(file.mediaType === undefined ? [] : [`media_type=\"${escapeXml(file.mediaType)}\"`]),\n ...(file.logicalPath === undefined\n ? []\n : [`logical_path=\"${escapeXml(file.logicalPath)}\"`]),\n ]\n return [`${indent}<file ${attributes.join(\" \")} />`]\n }\n case \"tool-call\": {\n const output =\n part.state === \"output-available\"\n ? truncateToolResult(stableJsonStringify(part.output))\n : truncateToolResult(part.errorText)\n return [\n `${indent}<tool_call id=\"${escapeXml(part.toolCallId)}\" name=\"${escapeXml(part.toolName)}\" state=\"${part.state}\">`,\n `${indent} <input format=\"json\">${escapeXml(stableJsonStringify(part.input))}</input>`,\n `${indent} <result>${escapeXml(output)}</result>`,\n `${indent}</tool_call>`,\n ]\n }\n }\n}\n\nfunction truncateToolResult(value: string): string {\n if (value.length <= TOOL_RESULT_SUMMARY_MAX_CHARS) return value\n return `${value.slice(0, TOOL_RESULT_SUMMARY_MAX_CHARS)}\\n[truncated ${value.length - TOOL_RESULT_SUMMARY_MAX_CHARS} characters]`\n}\n\nfunction looksLikeImage(mediaType: string | undefined, fileName: string | undefined): boolean {\n if (mediaType?.toLowerCase().startsWith(\"image/\")) return true\n return /\\.(?:avif|gif|jpe?g|png|webp)$/i.test(fileName ?? \"\")\n}\n\nfunction textTokens(value: string): number {\n return Math.ceil(new TextEncoder().encode(value).byteLength / CHARS_PER_TOKEN)\n}\n\nfunction escapeXml(value: string): string {\n return value\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll('\"', \"&quot;\")\n .replaceAll(\"'\", \"&apos;\")\n}\n",
@@ -40,7 +40,7 @@
40
40
  "import { type ActionsRuntime, createActionsRuntime } from \"../actions/execution\"\nimport { type AgentsRuntime, createAgentsRuntime } from \"../agents/execution\"\nimport { type BlobsRuntime, createBlobsRuntime } from \"../blob-storage/execution\"\nimport type { BlobStorage } from \"../blob-storage/types\"\nimport { registerConnectorConnectionsRuntime } from \"../connectors/connections/capability\"\nimport type { ConnectorConnectionProcess } from \"../connectors/connections/contracts\"\nimport { createConnectorConnectionsRuntime } from \"../connectors/connections/execution\"\nimport { type ConnectorRuntime, createConnectorRuntime } from \"../connectors/execution\"\nimport type { ConnectorService } from \"../connectors/service\"\nimport { createDatasetsRuntime, type DatasetsRuntime } from \"../datasets/execution\"\nimport { createEventsRuntime, type EventsRuntime } from \"../events/execution\"\nimport type { ExecutionContext } from \"../execution\"\nimport { createLogsRuntime, type LogsRuntime } from \"../logging/execution\"\nimport type { LoggingService } from \"../logging/service\"\nimport { createObjectsRuntime, type ObjectsRuntime } from \"../objects/execution\"\nimport { createPipelinesRuntime, type PipelinesRuntime } from \"../pipelines/execution\"\nimport { createProjectionsRuntime, type ProjectionsRuntime } from \"../projections/execution\"\nimport { createRulesRuntime, type RulesRuntime } from \"../rules/execution\"\nimport { createSchedulesRuntime, type SchedulesRuntime } from \"../schedules/execution\"\nimport { createSyncsRuntime, type SyncsRuntime } from \"../syncs/execution\"\nimport { createWorkflowsRuntime, type WorkflowsRuntime } from \"../workflows/execution\"\nimport type { SixbDefinitions } from \"./definitions\"\nimport { shareOntologyMutationRuntime } from \"./ontology-mutations\"\nimport type { OntologySource, SixbRuntimeContext } from \"./types\"\n\n/** Domain SDK bound to one immutable execution and one registered runtime authority. */\nexport interface Sixb<\n TOntologySources extends readonly OntologySource[] = readonly OntologySource[],\n> {\n readonly execution: ExecutionContext\n readonly objects: ObjectsRuntime<TOntologySources>\n readonly actions: ActionsRuntime\n readonly datasets: DatasetsRuntime\n readonly workflows: WorkflowsRuntime\n readonly syncs: SyncsRuntime\n readonly pipelines: PipelinesRuntime\n readonly projections: ProjectionsRuntime\n readonly rules: RulesRuntime\n readonly agents: AgentsRuntime\n readonly events: EventsRuntime\n readonly logs: LogsRuntime\n readonly schedules: SchedulesRuntime\n readonly connector: ConnectorRuntime\n readonly blobs: BlobsRuntime\n}\n\nconst boundSixbInstances = new WeakSet<object>()\n\nexport interface SixbDependencies {\n readonly definitions: SixbDefinitions\n readonly logging: LoggingService\n readonly connectorService: ConnectorService\n readonly connectorConnections?: ConnectorConnectionProcess\n readonly blobStorage: BlobStorage\n}\n\nexport function createBoundSixb<TOntologySources extends readonly OntologySource[]>(\n runtime: SixbRuntimeContext,\n dependencies: SixbDependencies,\n execution: ExecutionContext\n): Sixb<TOntologySources> {\n const sixb: Sixb<TOntologySources> = {\n execution,\n ...createExecutionFacades<TOntologySources>(runtime, execution, dependencies),\n }\n shareOntologyMutationRuntime(runtime, sixb)\n if (dependencies.connectorConnections) {\n registerConnectorConnectionsRuntime(\n sixb,\n createConnectorConnectionsRuntime(runtime, execution, dependencies.connectorConnections)\n )\n }\n boundSixbInstances.add(sixb)\n return sixb\n}\n\n/** Internal nominal guard for execution boundaries that accept a narrow structural host. */\nexport function isBoundSixb<\n TOntologySources extends readonly OntologySource[] = readonly OntologySource[],\n>(value: unknown): value is Sixb<TOntologySources> {\n return typeof value === \"object\" && value !== null && boundSixbInstances.has(value)\n}\n\nfunction createExecutionFacades<TOntologySources extends readonly OntologySource[]>(\n runtime: SixbRuntimeContext,\n execution: ExecutionContext,\n dependencies: SixbDependencies\n): Omit<Sixb<TOntologySources>, \"execution\"> {\n return {\n objects: createObjectsRuntime<TOntologySources>(runtime, execution),\n actions: createActionsRuntime(runtime, execution),\n datasets: createDatasetsRuntime(runtime, dependencies.definitions.datasets),\n workflows: createWorkflowsRuntime(runtime, execution, dependencies.definitions.workflows),\n syncs: createSyncsRuntime(runtime, execution, dependencies.definitions.syncs),\n pipelines: createPipelinesRuntime(runtime, execution, dependencies.definitions.pipelines),\n projections: createProjectionsRuntime(runtime, dependencies.definitions.projections),\n rules: createRulesRuntime(runtime, dependencies.definitions.rules),\n agents: createAgentsRuntime(\n runtime,\n execution,\n dependencies.definitions.agents,\n dependencies.definitions.security\n ),\n events: createEventsRuntime(runtime),\n logs: createLogsRuntime(runtime, dependencies.logging),\n schedules: createSchedulesRuntime(dependencies.definitions.schedules),\n connector: createConnectorRuntime(runtime, execution, dependencies.connectorService),\n blobs: createBlobsRuntime(runtime, execution, dependencies.blobStorage),\n }\n}\n",
41
41
  "import { agentServiceAccountId } from \"../agents/authority\"\nimport type { AuthorizationContext } from \"../authorization\"\nimport type { OntologySource } from \"../ontology\"\nimport { isBoundSixb, type Sixb } from \"../runtime/sixb\"\nimport type { CreateExecutionInput, ExecutionRecord } from \"../storage/executions\"\nimport { ExecutionStorageError } from \"../storage/executions\"\nimport { createAgentRuntimeAuthorization } from \"./authorization\"\nimport type { AuthorizablePrincipal, ExecutionContext, ExecutionScope } from \"./types\"\n\n/** Minimal host boundary required by agent workers. */\nexport interface AgentExecutionHost {\n readonly id: string\n withScope(scope: ExecutionScope): object\n}\n\n/** Build the immutable child execution owned by one direct or Workflow Agent run. */\nexport function createAgentExecutionRecord(input: {\n readonly id: string\n readonly parent: ExecutionRecord\n readonly agentId: string\n readonly runId: string\n readonly principal: Extract<AuthorizablePrincipal, { readonly type: \"serviceAccount\" }>\n}): CreateExecutionInput {\n assertAgentPrincipal(input.agentId, input.principal)\n return {\n id: input.id,\n projectId: input.parent.projectId,\n ...(input.parent.requestedBy === undefined\n ? {}\n : { requestedBy: structuredClone(input.parent.requestedBy) }),\n executor: { type: \"agent\", runId: input.runId },\n source: { type: \"execution\", executionId: input.parent.id },\n correlationId: input.parent.correlationId,\n authorizationRef: {\n type: \"principal\",\n principal: structuredClone(input.principal),\n },\n }\n}\n\n/** Bind a worker to the immutable execution already owned by its durable Agent run. */\nexport function bindDurableAgentExecution(\n host: AgentExecutionHost,\n input: {\n readonly execution: ExecutionRecord\n readonly agentId: string\n readonly runId: string\n readonly authorization: AuthorizationContext\n }\n): Sixb<readonly OntologySource[]> {\n const scope = restoreAgentExecutionScope(input)\n const sixb = host.withScope(scope)\n if (!isBoundSixb(sixb)) {\n throw new Error(\"[Sixb] Agent execution host returned an invalid bound SDK.\")\n }\n return sixb\n}\n\n/** Restore one provider-validated Agent execution with its currently resolved grants. */\nexport function restoreAgentExecutionScope(input: {\n readonly execution: ExecutionRecord\n readonly agentId: string\n readonly runId: string\n readonly authorization: AuthorizationContext\n}): ExecutionScope {\n assertAgentExecutionRecord(input)\n const context: ExecutionContext = Object.freeze({\n id: input.execution.id,\n projectId: input.execution.projectId,\n ...(input.execution.requestedBy === undefined\n ? {}\n : { requestedBy: Object.freeze(structuredClone(input.execution.requestedBy)) }),\n executor: Object.freeze({ type: \"agent\", agentId: input.agentId, runId: input.runId }),\n source: Object.freeze(structuredClone(input.execution.source)),\n correlationId: input.execution.correlationId,\n })\n return Object.freeze({\n execution: context,\n authorization: createAgentRuntimeAuthorization({\n projectId: input.execution.projectId,\n context: input.authorization,\n executionId: input.execution.id,\n agentId: input.agentId,\n runId: input.runId,\n }),\n })\n}\n\n/** Validate that a durable record belongs to the exact resolved Agent execution. */\nexport function assertAgentExecutionRecord(input: {\n readonly execution: ExecutionRecord\n readonly agentId: string\n readonly runId: string\n readonly authorization: AuthorizationContext\n}): void {\n const authority = input.execution.authorizationRef\n if (\n input.execution.executor.type !== \"agent\" ||\n input.execution.executor.runId !== input.runId ||\n input.execution.source.type !== \"execution\" ||\n authority.type !== \"principal\" ||\n authority.principal.type !== \"serviceAccount\" ||\n input.authorization.principal.type !== \"serviceAccount\" ||\n authority.principal.id !== input.authorization.principal.id ||\n authority.credential !== undefined\n ) {\n invalidAgentExecution(input.execution.id, input.runId)\n }\n assertAgentPrincipal(input.agentId, authority.principal)\n}\n\nfunction assertAgentPrincipal(\n agentId: string,\n principal: Extract<AuthorizablePrincipal, { readonly type: \"serviceAccount\" }>\n): void {\n const expectedId = agentServiceAccountId(agentId)\n if (principal.id !== expectedId) {\n throw new ExecutionStorageError(\n \"invalid_input\",\n `[Sixb] Agent '${agentId}' execution authority must reference service account '${expectedId}'.`\n )\n }\n}\n\nfunction invalidAgentExecution(executionId: string, runId: string): never {\n throw new ExecutionStorageError(\n \"invalid_input\",\n `[Sixb] Execution '${executionId}' does not authorize Agent run '${runId}'.`\n )\n}\n"
42
42
  ],
43
- "mappings": "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",
44
- "debugId": "24F26D476A24059264756E2164756E21",
43
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,SAAS,oBAAoB,CAClC,SACA,WACgB;AAAA,EAChB,MAAM,UAAU,CAAC,WACf,UAAU,QAAQ,eAAe,EAAE,MAAM,gBAAgB,UAAU,OAAO,GAAG,CAAC,MAC7E,OAAO,QAAQ,SAAS,YACvB,UAAU,QAAQ,eAAe;AAAA,IAC/B,MAAM;AAAA,IACN,cAAc,OAAO,QAAQ,WAAW;AAAA,EAC1C,CAAC;AAAA,EAEL,OAAO;AAAA,IACL,MAAM,MAAM,QAAQ,eAAe,KAAK,EAAE,OAAO,OAAO;AAAA,IACxD,SAAS,CAAC,aAAa;AAAA,MACrB,MAAM,SAAS,QAAQ,eAAe,QAAQ,QAAQ;AAAA,MACtD,OAAO,UAAU,QAAQ,MAAM,IAAI,SAAS;AAAA;AAAA,IAE9C,YAAY,MAAM,QAAQ,eAAe,WAAW,EAAE,OAAO,OAAO;AAAA,IACpE,aAAa,CAAC,eAAe,QAAQ,eAAe,YAAY,UAAU,EAAE,OAAO,OAAO;AAAA,IAC1F,SAAS,CAAC,UAAU,cAAc,SAAS,WAAW,KAAK;AAAA,IAC3D,gBAAgB,CAAC,UAAU,qBAAqB,SAAS,WAAW,KAAK;AAAA,IACzE,MAAM;AAAA,MACJ,SAAS,OAAO,UAAU;AAAA,QACxB,MAAM,MACH,MAAM,QAAQ,QAAQ,YAAY,QAAQ;AAAA,UACzC,WAAW,QAAQ;AAAA,UACnB,IAAI;AAAA,QACN,CAAC,KAAM;AAAA,QACT,OAAO,OAAO,iBAAiB,QAAQ,eAAe,GAAG,IAAI,MAAM;AAAA;AAAA,MAErE,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC3E,OAAO,QAAQ,KAAK;AAAA,UAClB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,WAAW,QAAQ,gBACf,CAAC,GAAG,QAAQ,cAAc,OAAO,eAAe,IAChD;AAAA,UACJ,eAAe,QAAQ,gBACnB,CAAC,GAAG,QAAQ,cAAc,OAAO,cAAc,IAC/C;AAAA,QACN,CAAC;AAAA;AAAA,IAEL;AAAA,EACF;AAAA;;;AC9EF,eAAsB,qBAAqB,CAAC,OAIQ;AAAA,EAClD,IAAI,MAAM,aAAa,WAAW;AAAA,IAAG,OAAO,CAAC;AAAA,EAC7C,IAAI,CAAC,MAAM;AAAA,IAAS,OAAO,MAAM,aAAa,IAAI,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA,EACjE,OAAO,MAAM,QAAQ,oBAAoB;AAAA,IACvC,WAAW,MAAM;AAAA,IACjB,cAAc,MAAM;AAAA,EACtB,CAAC;AAAA;;;ACVH,eAAsB,qBAAqB,CAAC,OAIW;AAAA,EACrD,IAAI,MAAM,aAAa,WAAW;AAAA,IAAG,OAAO,CAAC;AAAA,EAC7C,IAAI,CAAC,MAAM;AAAA,IAAS,OAAO,MAAM,aAAa,IAAI,MAAG;AAAA,MAAG;AAAA,KAAS;AAAA,EAEjE,MAAM,YAAY,MAAM,MAAM,QAAQ,oBAAoB;AAAA,IACxD,WAAW,MAAM;AAAA,IACjB,cAAc,MAAM;AAAA,EACtB,CAAC;AAAA,EACD,OAAO,UAAU,IAAI,CAAC,YAAa,QAAQ,mBAAmB,IAAI,YAAY,QAAQ,KAAM;AAAA;;;ACf9F;AAQO,SAAS,mBAAmB,GAAW;AAAA,EAC5C,OAAO,WAAW,WAAW;AAAA;AAGxB,SAAS,gBAAgB,GAAW;AAAA,EACzC,OAAO,WAAW,WAAW;AAAA;AAGxB,SAAS,oBAAoB,GAAW;AAAA,EAC7C,OAAO,WAAW,WAAW;AAAA;AAIxB,SAAS,wBAAwB,CAAC,OAAuB;AAAA,EAC9D,OAAO,WAAW;AAAA;AAIb,SAAS,4BAA4B,GAAW;AAAA,EACrD,OAAO,YAAY,WAAW;AAAA;;;AC3BhC,uBAAS;;;ACUT,eAAsB,wBAAwB,CAC5C,SACA,OACsC;AAAA,EACtC,MAAM,UAAU,6BAA6B,KAAK;AAAA,EAElD,WAAW,SAAS,SAAS;AAAA,IAC3B,IAAI,MAAM,QAAQ,SAAS;AAAA,MAAU;AAAA,IACrC,QAAQ,cAAc,cAAc,MAAM,QAAQ;AAAA,IAElD,IAAI;AAAA,MACF,QAAQ,SAAS,kBAAkB,YAAY;AAAA,MAC/C,MAAM;AAAA,MACN,eAAe,8CAA8C,eAAe;AAAA;AAAA,IAG9E,iBAAiB,SAAS,EAAE,MAAM,eAAe,aAAa,CAAC;AAAA,IAC/D,MAAM,SAAS,MAAM,QAAQ,QAAQ,QAAQ,eAAe;AAAA,MAC1D,WAAW,QAAQ;AAAA,MACnB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD,IAAI,CAAC,QAAQ;AAAA,MACX,eAAe,yCAAyC,gBAAgB,YAAY;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,OAAO,QAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,cAAc,MAAM,EAAE;AAAA;AAG/D,SAAS,cAAc,CAAC,SAAwB;AAAA,EAC9C,MAAM,IAAI,kBAAkB,mBAAmB,iCAAiC,UAAU;AAAA;;;ACZrF,SAAS,kBAAkB,CAAC,OAAuB;AAAA,EACxD,OAAO,WAAW;AAAA;AAIb,SAAS,2BAA2B,CAAC,WAA2B;AAAA,EACrE,OAAO,WAAW;AAAA;AAUpB,eAAsB,uBAAuB,CAC3C,OACwC;AAAA,EACxC,MAAM,QAAQ,eAAe,MAAM,KAAK;AAAA,EACxC,MAAM,OAAO,MAAM,SACf,MAAM,MAAM,QAAQ,KAAK,SAAS;AAAA,IAChC,WAAW,MAAM;AAAA,IACjB,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK;AAAA,EAChD,CAAC,KAEC,MAAM,MAAM,QAAQ,KAAK,KAAK;AAAA,IAC5B,WAAW,MAAM;AAAA,IACjB,UAAU,CAAC,QAAQ;AAAA,IACnB,OAAO;AAAA,IACP;AAAA,EACF,CAAC,GACD;AAAA,EAEN,MAAM,SAAS,KAAK,OAAO,CAAC,QAAQ,IAAI,WAAW,QAAQ;AAAA,EAC3D,IAAI,OAAO,WAAW,GAAG;AAAA,IACvB,OAAO,EAAE,SAAS,GAAG,YAAY,CAAC,GAAG,UAAU,CAAC,EAAE;AAAA,EACpD;AAAA,EAEA,IAAI;AAAA,IACF,MAAM,OAAO,MAAM,MAAM,MAAM,QAAQ;AAAA,MACrC,WAAW,MAAM;AAAA,MACjB,MAAM,OAAO,IAAI,CAAC,SAAS;AAAA,QACzB,IAAI,mBAAmB,IAAI,EAAE;AAAA,QAC7B,MAAM;AAAA,QACN,SAAS,EAAE,OAAO,IAAI,GAAG;AAAA,MAC3B,EAAE;AAAA,IACJ,CAAC;AAAA,IACD,MAAM,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;AAAA,IACzD,MAAM,aAAa,OAAO,IAAI,CAAC,QAAQ;AAAA,MACrC,MAAM,QAAQ,mBAAmB,IAAI,EAAE;AAAA,MACvC,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG;AAAA,QACxB,MAAM,IAAI,MAAM,0CAA0C,SAAS;AAAA,MACrE;AAAA,MACA,OAAO,EAAE,OAAO,IAAI,IAAI,MAAM;AAAA,KAC/B;AAAA,IACD,OAAO,EAAE,SAAS,OAAO,QAAQ,YAAY,UAAU,CAAC,EAAE;AAAA,IAC1D,OAAO,OAAO;AAAA,IACd,OAAO;AAAA,MACL,SAAS,OAAO;AAAA,MAChB,YAAY,CAAC;AAAA,MACb,UAAU,OAAO,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,IAAI,MAAM,EAAE;AAAA,IAC1D;AAAA;AAAA;AAIJ,SAAS,cAAc,CAAC,OAAmC;AAAA,EACzD,IAAI,UAAU;AAAA,IAAW,OAAO;AAAA,EAChC,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAAG;AAAA,IACxC,MAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAAA,EACA,OAAO,KAAK,MAAM,KAAK;AAAA;;;AFrCzB,eAAsB,eAAe,CACnC,SACA,WACA,UACA,OACA,OACgC;AAAA,EAChC,iBAAiB,SAAS,EAAE,MAAM,aAAa,SAAS,MAAM,GAAG,CAAC;AAAA,EAIlE,MAAM,eAAe,MAAM,yBAAyB,SAAS,MAAM,OAAO;AAAA,EAE1E,MAAM,SAAS,oBAAoB,OAAO;AAAA,EAC1C,MAAM,YAAY,QAAQ;AAAA,EAG1B,MAAM,YAAY,QAAQ,eAAe,aAAa,MAAM,aAAa;AAAA,EACzE,QAAQ,QAAQ,kBAAkB,MAAM,cAAc,QAAQ;AAAA,IAC5D;AAAA,IACA,SAAS,MAAM;AAAA,IACf,UAAU,MAAM;AAAA,IAChB,OAAO,MAAM;AAAA,IACb;AAAA,EACF,CAAC;AAAA,EAGD,IAAI,OAAO,gBAAgB,MAAM;AAAA,IAC/B,MAAM,IAAI,kBACR,qBACA,wBAAwB,OAAO,kCAAkC,OAAO,eAC1E;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,iBAAiB;AAAA,EAC/B,MAAM,mBAAmB,MAAM,6BAC7B,SACA,WACA,UACA,OACA,KACF;AAAA,EACA,MAAM,oBAAoB,iBAAiB,cACvC,MAAM,0BAA0B;AAAA,IAC9B,MAAM,QAAQ,QAAQ;AAAA,IACtB;AAAA,IACA,WAAW,iBAAiB;AAAA,EAC9B,CAAC,IACD,CAAC;AAAA,EACL,MAAM,mBAAmB,MAAM,aAAa,qBAAqB;AAAA,EACjE,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,MAAM,QAAQ,QAAQ,YAAY,OAAO,OAAO;AAAA,MACpD,MAAM,UAAS,GAAG;AAAA,MAClB,IAAI,CAAC,SAAQ;AAAA,QACX,MAAM,IAAI,kBACR,uBACA,yCACF;AAAA,MACF;AAAA,MACA,MAAM,GAAG,WAAW,OAAO,gBAAgB;AAAA,MAC3C,MAAM,QAAO,SAAS,OAAO;AAAA,QAC3B,IAAI;AAAA,QACJ;AAAA,QACA,UAAU,OAAO;AAAA,QACjB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,UACL,GAAG;AAAA,UACH,EAAE,MAAM,QAAQ,MAAM,MAAM,KAAK;AAAA,UACjC,IAAI,MAAM,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,QAAiB,QAAQ,EAAE;AAAA,QACpF;AAAA,QACA,iBAAiB;AAAA,MACnB,CAAC;AAAA,MACD,OAAO,QAAO,KAAK,OAAO;AAAA,QACxB,IAAI;AAAA,QACJ;AAAA,QACA,aAAa,iBAAiB;AAAA,QAC9B,UAAU,OAAO;AAAA,QACjB,SAAS,MAAM;AAAA,QACf;AAAA,QACA;AAAA,MACF,CAAC;AAAA,KACF;AAAA,IACD,OAAO,OAAO;AAAA,IACd,IAAI,iBAAiB,qBAAqB,MAAM,SAAS,qBAAqB;AAAA,MAC5E,MAAM,IAAI,kBAAkB,qBAAqB,MAAM,OAAO;AAAA,IAChE;AAAA,IACA,MAAM;AAAA;AAAA,EAGR,MAAM,mBAAmB,SAAS,GAAG;AAAA,EACrC,MAAM,QAAQ,MAAM,iBAAiB,SAAS,QAAQ,KAAK;AAAA,EAE3D,OAAO;AAAA,IACL;AAAA,OACI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,IACzB;AAAA,EACF;AAAA;AAIF,eAAsB,aAAa,CACjC,SACA,WACA,UACA,OACA,WACgC;AAAA,EAChC,iBAAiB,SAAS,EAAE,MAAM,aAAa,SAAS,MAAM,GAAG,CAAC;AAAA,EAClE,IAAI,UAAU,YAAY,MAAM,IAAI;AAAA,IAClC,MAAM,IAAI,kBACR,mBACA,qBAAqB,UAAU,iCAAiC,MAAM,MACxE;AAAA,EACF;AAAA,EACA,IAAI,UAAU,WAAW,UAAU;AAAA,IACjC,MAAM,IAAI,kBACR,qBACA,+CACF;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,oBAAoB,OAAO;AAAA,EAC1C,MAAM,QAAQ,iBAAiB;AAAA,EAC/B,MAAM,mBAAmB,MAAM,6BAC7B,SACA,WACA,UACA,OACA,KACF;AAAA,EACA,MAAM,oBAAoB,iBAAiB,cACvC,MAAM,0BAA0B;AAAA,IAC9B,MAAM,QAAQ,QAAQ;AAAA,IACtB,WAAW,QAAQ;AAAA,IACnB,WAAW,iBAAiB;AAAA,EAC9B,CAAC,IACD,CAAC;AAAA,EACL,MAAM,MAAM,MAAM,QAAQ,QAAQ,YAAY,OAAO,OAAO;AAAA,IAC1D,MAAM,UAAS,GAAG;AAAA,IAClB,IAAI,CAAC,SAAQ;AAAA,MACX,MAAM,IAAI,kBAAkB,uBAAuB,yCAAyC;AAAA,IAC9F;AAAA,IACA,MAAM,QAAO,SAAS,cAAc;AAAA,MAClC,WAAW,QAAQ;AAAA,MACnB,UAAU,UAAU;AAAA,MACpB,OAAO,UAAU;AAAA,IACnB,CAAC;AAAA,IACD,MAAM,GAAG,WAAW,OAAO,gBAAgB;AAAA,IAC3C,OAAO,QAAO,KAAK,OAAO;AAAA,MACxB,IAAI;AAAA,MACJ,WAAW,QAAQ;AAAA,MACnB,aAAa,iBAAiB;AAAA,MAC9B,UAAU,UAAU;AAAA,MACpB,SAAS,MAAM;AAAA,MACf,kBAAkB,UAAU;AAAA,MAC5B;AAAA,IACF,CAAC;AAAA,GACF;AAAA,EACD,MAAM,mBAAmB,SAAS,GAAG;AAAA,EACrC,MAAM,QAAQ,MAAM,iBAAiB,SAAS,QAAQ,KAAK;AAAA,EAC3D,OAAO,EAAE,QAAS,QAAQ,EAAE,MAAM,IAAI,CAAC,GAAI,eAAe,MAAM;AAAA;AAGlE,eAAe,4BAA4B,CACzC,SACA,WACA,UACA,OACA,OAC+B;AAAA,EAC/B,MAAM,WAAW,MAAM,6BAA6B;AAAA,IAClD,MAAM,QAAQ,QAAQ;AAAA,IACtB,WAAW,QAAQ;AAAA,IACnB;AAAA,EACF,CAAC;AAAA,EACD,MAAM,WAAW,MAAM,mCAAmC;AAAA,IACxD,MAAM,QAAQ,QAAQ;AAAA,IACtB,WAAW,QAAQ;AAAA,IACnB,SAAS,MAAM;AAAA,IACf,kBAAkB,EAAE,MAAM,aAAa,WAAW,SAAS,UAAU;AAAA,IACrE;AAAA,EACF,CAAC;AAAA,EACD,MAAM,SAAS,MAAM,sBACnB,QAAQ,QAAQ,YAChB,gCAAgC;AAAA,IAC9B;AAAA,IACA,sBAAsB,QAAQ;AAAA,EAChC,CAAC,CACH;AAAA,EACA,OAAO,2BAA2B;AAAA,IAChC,IAAI,QAAQ,YAAW;AAAA,IACvB;AAAA,IACA,SAAS,MAAM;AAAA,IACf;AAAA,IACA,WAAW,SAAS,SAAS;AAAA,EAC/B,CAAC;AAAA;AAGH,eAAe,gBAAgB,CAC7B,SACA,QACA,OAC6B;AAAA,EAG7B,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,wBAAwB;AAAA,MAC7C,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,MACT,OAAO,QAAQ,OAAO;AAAA,MACtB,QAAQ,CAAC,KAAK;AAAA,IAChB,CAAC;AAAA,IACD,MAAM,UAAU,SAAS,SAAS;AAAA,IAClC,IAAI,SAAS;AAAA,MACX,QAAQ,MACN,+CAA+C,2BAC/C,QAAQ,KACV;AAAA,IACF;AAAA,IACA,OAAO,SAAS,WAAW,IAAI;AAAA,IAC/B,OAAO,OAAO;AAAA,IACd,QAAQ,MAAM,+CAA+C,2BAA2B,KAAK;AAAA,IAC7F;AAAA;AAAA;AAKJ,eAAe,kBAAkB,CAAC,SAA6B,KAAoC;AAAA,EACjG,IAAI;AAAA,IACF,MAAM,wBAAwB,QAAQ,QAAQ,GAAG;AAAA,IACjD,OAAO,OAAO;AAAA,IACd,QAAQ,MAAM,qBAAqB,IAAI,uCAAuC,KAAK;AAAA;AAAA;AAIvF,eAAe,aAAa,CAC1B,QACA,QAOgE;AAAA,EAChE,IAAI,OAAO,UAAU;AAAA,IACnB,MAAM,WAAW,MAAM,OAAO,QAAQ,QAAQ;AAAA,MAC5C,WAAW,OAAO;AAAA,MAClB,IAAI,OAAO;AAAA,IACb,CAAC;AAAA,IACD,IAAI,UAAU;AAAA,MACZ,IAAI,SAAS,YAAY,OAAO,SAAS;AAAA,QACvC,MAAM,IAAI,kBACR,yBACA,wBAAwB,SAAS,yBAAyB,SAAS,kBAAkB,OAAO,WAC9F;AAAA,MACF;AAAA,MACA,OAAO,EAAE,QAAQ,UAAU,eAAe,MAAM;AAAA,IAClD;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,MAAM,OAAO,QAAQ,OAAO;AAAA,IACzC,IAAI,OAAO,YAAY,oBAAoB;AAAA,IAC3C,WAAW,OAAO;AAAA,IAClB,SAAS,OAAO;AAAA,IAChB,gBAAgB,OAAO;AAAA,OACnB,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,OAAO,MAAM;AAAA,EAC9D,CAAC;AAAA,EACD,OAAO,EAAE,QAAQ,eAAe,KAAK;AAAA;AAGvC,SAAS,mBAAmB,CAAC,SAA2C;AAAA,EACtE,MAAM,SAAS,QAAQ,QAAQ;AAAA,EAC/B,IAAI,CAAC,QAAQ;AAAA,IACX,MAAM,IAAI,kBAAkB,uBAAuB,yCAAyC;AAAA,EAC9F;AAAA,EACA,OAAO;AAAA;;;AGtQF,SAAS,mBAAmB,CACjC,SACA,WACA,QACA,UACe;AAAA,EACf,MAAM,YAAY,QAAQ,eAAe,aAAa;AAAA,EACtD,MAAM,UAAU,CAAC,YACf,UAAU,QAAQ,eAAe,EAAE,MAAM,aAAa,QAAQ,CAAC;AAAA,EAEjE,MAAM,YAAY,OAAO,aAAqB;AAAA,IAC5C,MAAM,SACH,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,MAC7C,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,IACN,CAAC,KAAM;AAAA,IACT,IAAI,CAAC,UAAU,CAAC,QAAQ,OAAO,OAAO;AAAA,MAAG,OAAO;AAAA,IAChD,OAAO,QAAQ,iBAAiB,CAAC,gBAAgB,WAAW,OAAO,cAAc,IAC7E,OACA;AAAA;AAAA,EAGN,MAAM,WAAW,CAAC,YAAoB;AAAA,IACpC,MAAM,QAAQ,OAAO,QAAQ,OAAO;AAAA,IACpC,OAAO,SAAS,QAAQ,OAAO,IAAI,QAAQ;AAAA;AAAA,EAG7C,MAAM,sBAAsB,OAAO,UAAkD;AAAA,IACnF,MAAM,MACH,MAAM,QAAQ,QAAQ,QAAQ,KAAK,QAAQ;AAAA,MAC1C,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,IACN,CAAC,KAAM;AAAA,IACT,IAAI,CAAC;AAAA,MAAK,OAAO;AAAA,IACjB,MAAM,SAAS,MAAM,UAAU,IAAI,QAAQ;AAAA,IAC3C,OAAO,QAAQ,YAAY,IAAI,UAAU,MAAM;AAAA;AAAA,EAGjD,MAAM,SAAS,OAAO,UAAgD;AAAA,IACpE,MAAM,MAAM,MAAM,oBAAoB,KAAK;AAAA,IAC3C,OAAO,MAAM,cAAc,SAAS,GAAG,IAAI;AAAA;AAAA,EAG7C,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,CAAC,UAAU,QAAQ,MAAM,EAAE,CAAC;AAAA,IAC7D,SAAS;AAAA,IACT,SAAS;AAAA,MACP,QAAQ,OAAO,UAAU;AAAA,QACvB,MAAM,QAAQ,SAAS,MAAM,OAAO;AAAA,QACpC,IAAI,CAAC,OAAO;AAAA,UACV,MAAM,IAAI,kBAAkB,mBAAmB,yBAAyB,MAAM,WAAW;AAAA,QAC3F;AAAA,QACA,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,SAAS;AAAA,UACZ,MAAM,IAAI,kBACR,uBACA,yCACF;AAAA,QACF;AAAA,QACA,OAAO,QAAQ,QAAQ,OAAO;AAAA,UAC5B,IAAI,MAAM,MAAM,oBAAoB;AAAA,UACpC,WAAW,QAAQ;AAAA,UACnB,SAAS,MAAM;AAAA,UACf,gBAAgB;AAAA,aACZ,MAAM,UAAU,YAAY,CAAC,IAAI,EAAE,OAAO,MAAM,MAAM;AAAA,QAC5D,CAAC;AAAA;AAAA,MAEH,SAAS;AAAA,MACT,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,SAAS,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC9E,OAAO,QAAQ,QAAQ,KAAK;AAAA,UAC1B,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,UAAU,QAAQ,gBACd,CAAC,GAAG,QAAQ,cAAc,OAAO,YAAY,IAC7C;AAAA,UACJ,gBAAgB,QAAQ,gBAAgB,YAAY;AAAA,QACtD,CAAC;AAAA;AAAA,IAEL;AAAA,IACA,MAAM;AAAA,MACJ,SAAS,OAAO,UAAU;AAAA,QACxB,MAAM,QAAQ,OAAO,QAAQ,MAAM,OAAO;AAAA,QAC1C,IAAI,CAAC,OAAO;AAAA,UACV,MAAM,IAAI,kBAAkB,mBAAmB,yBAAyB,MAAM,WAAW;AAAA,QAC3F;AAAA,QACA,iBAAiB,SAAS,EAAE,MAAM,aAAa,SAAS,MAAM,GAAG,CAAC;AAAA,QAClE,IAAI,MAAM,YAAY,CAAE,MAAM,UAAU,MAAM,QAAQ,GAAI;AAAA,UACxD,MAAM,IAAI,kBACR,oBACA,wBAAwB,MAAM,sBAChC;AAAA,QACF;AAAA,QACA,MAAM,SAAS,MAAM,gBAAgB,SAAS,WAAW,UAAU,OAAO;AAAA,aACrE;AAAA,UACH;AAAA,QACF,CAAC;AAAA,QACD,OAAO,KAAK,QAAQ,KAAK,MAAM,cAAc,SAAS,OAAO,GAAG,EAAE;AAAA;AAAA,MAEpE,OAAO,OAAO,UAAU;AAAA,QACtB,MAAM,YAAY,MAAM,oBAAoB,KAAK;AAAA,QACjD,IAAI,CAAC,WAAW;AAAA,UACd,MAAM,IAAI,kBAAkB,iBAAiB,qBAAqB,uBAAuB;AAAA,QAC3F;AAAA,QACA,MAAM,QAAQ,SAAS,UAAU,OAAO;AAAA,QACxC,IAAI,CAAC,OAAO;AAAA,UACV,MAAM,IAAI,kBACR,mBACA,yBAAyB,UAAU,WACrC;AAAA,QACF;AAAA,QACA,MAAM,SAAS,MAAM,cAAc,SAAS,WAAW,UAAU,OAAO,SAAS;AAAA,QACjF,OAAO,KAAK,QAAQ,KAAK,MAAM,cAAc,SAAS,OAAO,GAAG,EAAE;AAAA;AAAA,MAEpE,SAAS;AAAA,MACT,eAAe,OAAO,UAAU,QAAQ,CAAC,MAAM;AAAA,QAC7C,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,CAAE,MAAM,UAAU,QAAQ;AAAA,UAAI,OAAO;AAAA,QACrD,MAAM,SAAS,MAAM,QAAQ,KAAK,KAAK;AAAA,UACrC,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH;AAAA,QACF,CAAC;AAAA,QACD,OAAO;AAAA,aACF;AAAA,UACH,MAAM,MAAM,eAAe,SAAS,OAAO,IAAI;AAAA,QACjD;AAAA;AAAA,IAEJ;AAAA,EACF;AAAA;AAGF,eAAe,aAAa,CAC1B,SACA,KACuB;AAAA,EACvB,OAAO,QAAQ,MAAM,eAAe,SAAS,CAAC,GAAG,CAAC;AAAA,EAClD,IAAI,CAAC;AAAA,IAAM,MAAM,IAAI,MAAM,qCAAqC,IAAI,WAAW;AAAA,EAC/E,OAAO;AAAA;AAGT,eAAe,cAAc,CAC3B,SACA,MACkC;AAAA,EAClC,MAAM,eAAe,KAAK,IAAI,CAAC,QAAQ,IAAI,WAAW;AAAA,EACtD,OAAO,YAAY,QAAQ,SAAS,MAAM,QAAQ,IAAI;AAAA,IACpD,QAAQ,IACN,KAAK,IAAI,CAAC,QACR,QAAQ,QAAQ,WAAW,QAAQ;AAAA,MACjC,WAAW,QAAQ;AAAA,MACnB,IAAI,IAAI;AAAA,IACV,CAAC,CACH,CACF;AAAA,IACA,sBAAsB;AAAA,MACpB,SAAS,QAAQ,QAAQ;AAAA,MACzB,WAAW,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,IACD,sBAAsB;AAAA,MACpB,SAAS,QAAQ,QAAQ;AAAA,MACzB,WAAW,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAAA,EAED,OAAO,KAAK,IAAI,CAAC,KAAK,UAAU;AAAA,IAC9B,MAAM,YAAY,WAAW;AAAA,IAC7B,IAAI,CAAC,WAAW;AAAA,MACd,MAAM,IAAI,MACR,qBAAqB,IAAI,qCAAqC,IAAI,eACpE;AAAA,IACF;AAAA,IACA,MAAM,QAAQ,OAAO;AAAA,IACrB,MAAM,OAAO,UAAU,YAAY,YAAY,MAAM;AAAA,IACrD,OAAO;AAAA,SACF;AAAA,SACC,UAAU,gBAAgB,YAC1B,CAAC,IACD,EAAE,aAAa,gBAAgB,UAAU,WAAW,EAAE;AAAA,SACtD,UAAU,YAAY,CAAC,IAAI,EAAE,MAAM;AAAA,SACnC,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK;AAAA,IACvC;AAAA,GACD;AAAA;;;AC1OI,SAAS,kBAAkB,CAChC,SACA,WACA,aACc;AAAA,EACd,MAAM,eAAe,MAAM,qBAAqB,SAAS,WAAW,cAAc;AAAA,EAClF,MAAM,iBAA+B;AAAA,IACnC,KAAK,CAAC,UAAU;AAAA,MACd,aAAa;AAAA,MACb,OAAO,YAAY,IAAI,KAAK;AAAA;AAAA,IAE9B,MAAM,CAAC,WAAW;AAAA,MAChB,aAAa;AAAA,MACb,OAAO,YAAY,KAAK,MAAM;AAAA;AAAA,IAEhC,MAAM,CAAC,WAAW;AAAA,MAChB,aAAa;AAAA,MACb,OAAO,YAAY,KAAK,MAAM;AAAA;AAAA,EAElC;AAAA,EAEA,IAAI,kBAAkB,WAAW,GAAG;AAAA,IAClC,eAAe,YAAY,CAAC,QAAQ,UAAU;AAAA,MAC5C,aAAa;AAAA,MACb,OAAO,YAAY,UAAU,QAAQ,KAAK;AAAA;AAAA,EAE9C;AAAA,EACA,IAAI,qBAAqB,WAAW,GAAG;AAAA,IACrC,eAAe,eAAe,CAAC,UAAU;AAAA,MACvC,aAAa;AAAA,MACb,OAAO,YAAY,aAAa,KAAK;AAAA;AAAA,IAEvC,eAAe,iBAAiB,CAAC,UAAU;AAAA,MACzC,aAAa;AAAA,MACb,OAAO,YAAY,eAAe,KAAK;AAAA;AAAA,IAEzC,eAAe,iBAAiB,CAAC,UAAU;AAAA,MACzC,aAAa;AAAA,MACb,OAAO,YAAY,eAAe,KAAK;AAAA;AAAA,IAEzC,eAAe,cAAc,CAAC,UAAU;AAAA,MACtC,aAAa;AAAA,MACb,OAAO,YAAY,YAAY,KAAK;AAAA;AAAA,EAExC;AAAA,EAEA,OAAO,OAAO,OAAO,cAAc;AAAA;;;ACV9B,SAAS,iCAAiC,CAC/C,SACA,WACA,SAC6B;AAAA,EAC7B,MAAM,aAAa,CAAC,gBAAwB,eAAe,SAAS,WAAW,WAAW;AAAA,EAE1F,MAAM,cAA2C;AAAA,IAC/C,iBAAiB,CAAC,gBAAgB,QAAQ,gBAAgB,WAAW,WAAW,GAAG,WAAW;AAAA,IAC9F,oBAAoB,CAAC,aAAa,UAChC,QAAQ,mBAAmB,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IACxE,eAAe,CAAC,aAAa,UAC3B,QAAQ,cAAc,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IACnE,kBAAkB,CAAC,aAAa,UAC9B,QAAQ,iBAAiB,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IACtE,4BAA4B,CAAC,aAAa,UACxC,QAAQ,2BAA2B,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IAChF,sBAAsB,CAAC,aAAa,cAAc,UAChD,QAAQ,qBAAqB,WAAW,WAAW,GAAG,aAAa,cAAc,KAAK;AAAA,IACxF,kBAAkB,CAAC,aAAa,iBAC9B,QAAQ,iBAAiB,WAAW,WAAW,GAAG,aAAa,YAAY;AAAA,IAC7E,oBAAoB,CAAC,aAAa,UAChC,QAAQ,mBAAmB,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IACxE,uBAAuB,CAAC,aAAa,UACnC,QAAQ,sBAAsB,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IAC3E,eAAe,CAAC,aAAa,UAC3B,QAAQ,cAAc,WAAW,WAAW,GAAG,aAAa,KAAK;AAAA,IACnE,YAAY,CAAC,aAAa,iBACxB,QAAQ,WAAW,WAAW,WAAW,GAAG,aAAa,YAAY;AAAA,IACvE,qBAAqB,CAAC,aAAa,oBACjC,QAAQ,oBAAoB,WAAW,WAAW,GAAG,aAAa,eAAe;AAAA,EACrF;AAAA,EACA,OAAO,OAAO,OAAO,WAAW;AAAA;AAGlC,SAAS,cAAc,CACrB,SACA,WACA,aACmC;AAAA,EACnC,MAAM,WAAW,mCAAmC,QAAQ,WAAW;AAAA,IACrE;AAAA,IACA,eAAe,QAAQ;AAAA,EACzB,CAAC;AAAA,EAED,IACE,UAAU,SAAS,SAAS,aAC5B,SAAS,SAAS,eAClB,SAAS,IAAI,SAAS,aACtB;AAAA,IACA,MAAM,IAAI,mBACR,oBAAoB,eACpB,+EACF;AAAA,EACF;AAAA,EACA,IAAI,CAAC,SAAS,IAAI,YAAY;AAAA,IAC5B,MAAM,IAAI,mBACR,oBAAoB,eACpB,4EACF;AAAA,EACF;AAAA,EAEA,yBAAyB,SAAS,WAAW;AAAA,EAC7C,OAAO,OAAO,OAAO;AAAA,IACnB,WAAW,OAAO,OAChB,gCAAgC;AAAA,MAC9B;AAAA,MACA,sBAAsB,QAAQ;AAAA,IAChC,CAAC,CACH;AAAA,EACF,CAAC;AAAA;;;AC/HI,SAAS,qBAAqB,CACnC,SACA,QACiB;AAAA,EACjB,MAAM,UAAU,CAAC,cACf,UAAU,QAAQ,eAAe,EAAE,MAAM,gBAAgB,UAAU,CAAC;AAAA,EAEtE,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,CAAC,YAAY,QAAQ,QAAQ,EAAE,CAAC;AAAA,IACjE,SAAS,CAAC,cAAc;AAAA,MACtB,MAAM,UAAU,OAAO,QAAQ,SAAS;AAAA,MACxC,OAAO,WAAW,QAAQ,SAAS,IAAI,UAAU;AAAA;AAAA,EAErD;AAAA;;;ACAK,SAAS,mBAAmB,CAAC,SAA4C;AAAA,EAC9E,OAAO;AAAA,IACL,SAAS,CAAC,UAAU,aAAa,QAAQ,eAAe,KAAK;AAAA,IAC7D,QAAQ,CAAC,UAAU;AAAA,MACjB,iBAAiB,SAAS,eAAe;AAAA,MACzC,OAAO,QAAQ,OAAO,OAAO,KAAK;AAAA;AAAA,IAEpC,MAAM,CAAC,OAAO,YAAY;AAAA,MACxB,iBAAiB,SAAS,aAAa;AAAA,MACvC,OAAO,QAAQ,OAAO,KAAK,OAAO,OAAO;AAAA;AAAA,IAE3C,MAAM,OAAO,UAAU;AAAA,MACrB,MAAM,SAAS,MAAM,QAAQ,OAAO,KAAK,KAAK;AAAA,MAC9C,OAAO,OAAO,OAAO,CAAC,UAAU,aAAa,QAAQ,eAAe,KAAK,CAAC;AAAA;AAAA,IAE5E,cAAc,MAAM,QAAQ,OAAO,aAAa;AAAA,IAChD,WAAW,CAAC,OAAO,YACjB,QAAQ,OAAO,UAAU,OAAO,CAAC,WAAW;AAAA,MAC1C,MAAM,UAAU,OAAO,OAAO,CAAC,UAAU,aAAa,QAAQ,eAAe,KAAK,CAAC;AAAA,MACnF,IAAI,QAAQ,SAAS;AAAA,QAAG,QAAQ,OAAO;AAAA,KACxC;AAAA,EACL;AAAA;;;ACjCK,SAAS,iBAAiB,CAC/B,SACA,QACa;AAAA,EACb,MAAM,mBAAmB,MAAM,iBAAiB,SAAS,EAAE,MAAM,eAAe,CAAC;AAAA,EAEjF,OAAO;AAAA,IACL;AAAA,IACA,MAAM,CAAC,UAAU;AAAA,MACf,iBAAiB;AAAA,MACjB,OAAO,OAAO,KAAK,KAAK;AAAA;AAAA,IAE1B,MAAM,CAAC,UAAU;AAAA,MACf,iBAAiB;AAAA,MACjB,OAAO,OAAO,KAAK,KAAK;AAAA;AAAA,EAE5B;AAAA;;;ACiJK,SAAS,oBAAwE,CACtF,SACA,WACkC;AAAA,EAClC,MAAM,UAAU,OAAO,OACrB,CAA6D,eAA4B;AAAA,IACvF,2BAA2B,QAAQ,SAAS,mBAAmB,GAAG,UAAU;AAAA,IAC5E,OAAO,gBAIL,KAAK,SAAS,WAAW,WAAW,CAAC;AAAA,KAMzC;AAAA,IACE,WAAW,MACT,QAAQ,SAAS,gBAAgB,EAAE,OAAO,CAAC,eACzC,UAAU,QAAQ,eAAe;AAAA,MAC/B,MAAM;AAAA,MACN,cAAc,WAAW;AAAA,IAC3B,CAAC,CACH;AAAA,IACF,aAAa,CAAC,iBAAyB;AAAA,MACrC,MAAM,aAAa,QAAQ,SAAS,kBAAkB,YAAY;AAAA,MAClE,OAAO,cAAc,UAAU,QAAQ,eAAe,EAAE,MAAM,eAAe,aAAa,CAAC,IACvF,aACA;AAAA;AAAA,IAEN,aAAa,CAAC,iBAAyB;AAAA,MACrC,iBAAiB,SAAS,EAAE,MAAM,eAAe,aAAa,CAAC;AAAA,MAC/D,OAAO,QAAQ,SAAS,kBAAkB,YAAY;AAAA;AAAA,IAExD,mBAAmB,MAAM,QAAQ,SAAS,kBAAkB;AAAA,IAC5D,cAAc,CAAC,iBAAyB,QAAQ,SAAS,aAAa,YAAY;AAAA,IAClF,mBAAmB,CAAC,UAA6B,WAC/C,QAAQ,SAAS,kBAAkB,UAAU,MAAM;AAAA,IACrD,cAAc,CAAC,UACb,mBACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,YAAY,CAAC,UACX,wBACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,OAAO,CAAC,UACN,aACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,QAAQ,CAAC,UACP,cACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,OAAO,CAAC,UACN,aACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,UAAU,QAAQ;AAAA,MAClB,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,WAAW,OAAO,UAKZ;AAAA,MACJ,iBAAiB,SAAS,EAAE,MAAM,eAAe,cAAc,MAAM,aAAa,CAAC;AAAA,MACnF,MAAM,QAAQ,MAAM,QAAQ,QAAQ,QAAQ,UAAU;AAAA,QACpD,WAAW,QAAQ;AAAA,WAChB;AAAA,MACL,CAAC;AAAA,MACD,OAAO,MAAM,OACX,CAAC,SACC,UAAU,QAAQ,eAAe;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc,KAAK;AAAA,MACrB,CAAC,KACD,UAAU,QAAQ,eAAe;AAAA,QAC/B,MAAM;AAAA,QACN,cAAc,KAAK;AAAA,MACrB,CAAC,CACL;AAAA;AAAA,IAEF,0BAA0B,CAAC,UACzB,yBACE,EAAE,WAAW,QAAQ,cAAc,MAAM,GACzC;AAAA,MACE,SAAS,QAAQ,QAAQ;AAAA,MACzB,sBAAsB,QAAQ;AAAA,MAC9B,eAAe,QAAQ;AAAA,IACzB,CACF;AAAA,IACF,qBAAqB,CAAC,UAQhB;AAAA,MACJ,iBAAiB,SAAS,EAAE,MAAM,eAAe,cAAc,MAAM,aAAa,CAAC;AAAA,MACnF,OAAO,QAAQ,QAAQ,WAAW,WAAW;AAAA,QAC3C,WAAW,QAAQ;AAAA,WAChB;AAAA,MACL,CAAC;AAAA;AAAA,IAEH,oBAAoB,CAAC,UAIf;AAAA,MACJ,iBAAiB,SAAS,EAAE,MAAM,eAAe,cAAc,MAAM,aAAa,CAAC;AAAA,MACnF,OAAO,QAAQ,QAAQ,WAAW,UAAU;AAAA,QAC1C,WAAW,QAAQ;AAAA,WAChB;AAAA,MACL,CAAC;AAAA;AAAA,IAEH,MAAM,CAAC,WAA4C,YAAY,SAAS,MAAM;AAAA,IAC9E,KAAK,OAAO,cAAsB,cAAsB;AAAA,MACtD,iBAAiB,SAAS,EAAE,MAAM,eAAe,aAAa,CAAC;AAAA,MAC/D,OAAO,QAAQ,QAAQ,QAAQ,eAAe;AAAA,QAC5C,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AAAA;AAAA,IAEH,sBAAsB,CAAC,iBAAyB;AAAA,MAC9C,iBAAiB,SAAS,EAAE,MAAM,eAAe,aAAa,CAAC;AAAA,MAC/D,OAAO,QAAQ,SAAS,qBAAqB,YAAY;AAAA;AAAA,IAE3D,QAAQ,CAAC,cAAsB,eACf,aAAa,SAAS,cAAc,UAAU;AAAA,IAC9D,aAAa,CACX,cACA,UACiB,kBAAkB,SAAS,cAAc,KAAK;AAAA,IACjE,YAAY,CACV,cACA,UACA,QACA,WACiB,WAAW,SAAS,cAAc,UAAU,QAAQ,MAAM;AAAA,IAC7E,iBAAiB,CACf,UAMiB,gBAAgB,SAAS,KAAK;AAAA,IACjD,YAAY,CACV,cACA,UACA,QACA,WACiB,WAAW,SAAS,cAAc,UAAU,QAAQ,MAAM;AAAA,IAC7E,iBAAiB,CACf,cACA,UACiB,gBAAgB,SAAS,cAAc,KAAK;AAAA,EACjE,CACF;AAAA,EAEA,OAAO;AAAA;;;ACtUF,SAAS,sBAAsB,CACpC,SACA,WACA,QACkB;AAAA,EAClB,MAAM,UAAU,CAAC,eACf,UAAU,QAAQ,eAAe,EAAE,MAAM,gBAAgB,WAAW,CAAC;AAAA,EACvE,MAAM,aAAa,MACjB,OACG,KAAK,EACL,OAAO,CAAC,aAAa,QAAQ,SAAS,EAAE,CAAC,EACzC,IAAI,CAAC,aAAa,SAAS,EAAE;AAAA,EAElC,MAAM,SAAS,OAAO,UAAkB;AAAA,IACtC,MAAM,MACH,MAAM,QAAQ,QAAQ,cAAc,QAAQ;AAAA,MAC3C,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,IACN,CAAC,KAAM;AAAA,IACT,OAAO,OAAO,mBAAmB,QAAQ,eAAe,GAAG,IAAI,MAAM;AAAA;AAAA,EAGvE,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,CAAC,aAAa,QAAQ,SAAS,EAAE,CAAC;AAAA,IACnE,SAAS,CAAC,eAAe;AAAA,MACvB,MAAM,WAAW,OAAO,QAAQ,UAAU;AAAA,MAC1C,OAAO,YAAY,QAAQ,UAAU,IAAI,WAAW;AAAA;AAAA,IAEtD,SAAS,OAAO,UAAU;AAAA,MACxB,MAAM,WAAW,OAAO,QAAQ,MAAM,UAAU;AAAA,MAChD,IAAI,CAAC;AAAA,QAAU,MAAM,IAAI,cAAc,4BAA4B,MAAM,aAAa;AAAA,MACtF,OAAO,mBAAmB,SAAS,WAAW,UAAU,KAAK;AAAA;AAAA,IAE/D,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC3E,OAAO,QAAQ,KAAK;AAAA,UAClB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,aAAa,QAAQ,gBAAgB,WAAW,IAAI;AAAA,QACtD,CAAC;AAAA;AAAA,MAEH,YAAY,CAAC,gBAAgB;AAAA,QAC3B,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,YAAY,WAAW;AAAA,UAAG,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAAA,QAC7E,MAAM,aAAa,YAAY,OAAO,OAAO;AAAA,QAC7C,OAAO,WAAW,WAAW,IACzB,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAC5B,QAAQ,wBAAwB;AAAA,UAC9B,WAAW,QAAQ;AAAA,UACnB,aAAa;AAAA,QACf,CAAC;AAAA;AAAA,MAEP,WAAW,OAAO,OAAO,QAAQ,CAAC,MAAM;AAAA,QACtC,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,CAAE,MAAM,OAAO,KAAK;AAAA,UAAI,OAAO;AAAA,QAC/C,OAAO,QAAQ,UAAU;AAAA,UACvB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,eAAe;AAAA,QACjB,CAAC;AAAA;AAAA,IAEL;AAAA,EACF;AAAA;;;ACtEK,SAAS,wBAAwB,CACtC,SACA,QACoB;AAAA,EACpB,MAAM,UAAU,CAAC,eACf,kBAAkB,QAAQ,eAAe,UAAU;AAAA,EACrD,MAAM,aAAa,CAAC,kBAClB,cAAc,OAAO,CAAC,iBAAiB;AAAA,IACrC,MAAM,aAAa,OAAO,QAAQ,YAAY;AAAA,IAC9C,OAAO,eAAe,QAAQ,QAAQ,UAAU;AAAA,GACjD;AAAA,EAEH,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,OAAO;AAAA,IACxC,aAAa,MAAM,OAAO,YAAY,EAAE,OAAO,OAAO;AAAA,IACtD,WAAW,MAAM,OAAO,UAAU,EAAE,OAAO,OAAO;AAAA,IAClD,eAAe,MAAM,OAAO,cAAc,EAAE,OAAO,OAAO;AAAA,IAC1D,SAAS,CAAC,iBAAiB;AAAA,MACzB,MAAM,aAAa,OAAO,QAAQ,YAAY;AAAA,MAC9C,OAAO,cAAc,QAAQ,UAAU,IAAI,aAAa;AAAA;AAAA,IAE1D,MAAM;AAAA,MACJ,SAAS,OAAO,UAAU;AAAA,QACxB,MAAM,MACH,MAAM,QAAQ,QAAQ,gBAAgB,QAAQ;AAAA,UAC7C,WAAW,QAAQ;AAAA,UACnB,IAAI;AAAA,QACN,CAAC,KAAM;AAAA,QACT,OAAO,OAAO,qBAAqB,QAAQ,eAAe,IAAI,MAAM,IAAI,MAAM;AAAA;AAAA,MAEhF,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC3E,OAAO,QAAQ,KAAK;AAAA,UAClB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,eAAe,QAAQ,gBACnB,CAAC,GAAG,QAAQ,cAAc,OAAO,cAAc,IAC/C;AAAA,QACN,CAAC;AAAA;AAAA,MAEH,YAAY,CAAC,kBAAkB;AAAA,QAC7B,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,cAAc,WAAW;AAAA,UAAG,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAAA,QAC/E,MAAM,MAAM,WAAW,aAAa;AAAA,QACpC,OAAO,IAAI,WAAW,IAClB,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAC5B,QAAQ,0BAA0B,EAAE,WAAW,QAAQ,WAAW,eAAe,IAAI,CAAC;AAAA;AAAA,IAE9F;AAAA,EACF;AAAA;;;ACjEK,SAAS,kBAAkB,CAChC,SACA,QACc;AAAA,EACd,MAAM,UAAU,CAAC,SACf,UAAU,QAAQ,eAAe;AAAA,IAC/B,MAAM;AAAA,IACN,cAAc,KAAK,QAAQ;AAAA,EAC7B,CAAC;AAAA,EAEH,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,OAAO;AAAA,IACxC,SAAS,CAAC,WAAW;AAAA,MACnB,MAAM,OAAO,OAAO,QAAQ,MAAM;AAAA,MAClC,OAAO,QAAQ,QAAQ,IAAI,IAAI,OAAO;AAAA;AAAA,IAExC,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC7E,OAAO,QAAQ,WAAW;AAAA,UACxB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,eAAe,QAAQ,gBACnB,CAAC,GAAG,QAAQ,cAAc,OAAO,cAAc,IAC/C;AAAA,QACN,CAAC;AAAA;AAAA,IAEL;AAAA,EACF;AAAA;;;ACzCK,SAAS,sBAAsB,CACpC,WACkB;AAAA,EAClB,OAAO;AAAA,IACL,MAAM,MAAM,UAAU,KAAK;AAAA,IAC3B,SAAS,CAAC,eAAe,UAAU,QAAQ,UAAU;AAAA,EACvD;AAAA;;;ACcK,SAAS,kBAAkB,CAChC,SACA,WACA,QACc;AAAA,EACd,MAAM,UAAU,CAAC,WAAmB,UAAU,QAAQ,eAAe,EAAE,MAAM,YAAY,OAAO,CAAC;AAAA,EACjG,MAAM,aAAa,MACjB,OACG,KAAK,EACL,OAAO,CAAC,SAAS,QAAQ,KAAK,EAAE,CAAC,EACjC,IAAI,CAAC,SAAS,KAAK,EAAE;AAAA,EAE1B,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,CAAC,SAAS,QAAQ,KAAK,EAAE,CAAC;AAAA,IAC3D,SAAS,CAAC,WAAW;AAAA,MACnB,MAAM,OAAO,OAAO,QAAQ,MAAM;AAAA,MAClC,OAAO,QAAQ,QAAQ,MAAM,IAAI,OAAO;AAAA;AAAA,IAE1C,SAAS,OAAO,UAAU;AAAA,MACxB,MAAM,OAAO,OAAO,QAAQ,MAAM,MAAM;AAAA,MACxC,IAAI,CAAC;AAAA,QAAM,MAAM,IAAI,oBAAoB,wBAAwB,MAAM,SAAS;AAAA,MAChF,OAAO,eAAe,SAAS,WAAW,MAAM,KAAK;AAAA;AAAA,IAEvD,MAAM;AAAA,MACJ,SAAS,OAAO,UAAU;AAAA,QACxB,MAAM,MACH,MAAM,QAAQ,QAAQ,UAAU,QAAQ;AAAA,UACvC,WAAW,QAAQ;AAAA,UACnB,IAAI;AAAA,QACN,CAAC,KAAM;AAAA,QACT,OAAO,OAAO,QAAQ,IAAI,MAAM,IAAI,MAAM;AAAA;AAAA,MAE5C,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QAC3E,OAAO,QAAQ,KAAK;AAAA,UAClB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,SAAS,QAAQ,gBAAgB,WAAW,IAAI;AAAA,QAClD,CAAC;AAAA;AAAA,MAEH,YAAY,CAAC,YAAY;AAAA,QACvB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,QAAQ,WAAW;AAAA,UAAG,OAAO,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;AAAA,QACzE,MAAM,aAAa,QAAQ,OAAO,OAAO;AAAA,QACzC,OAAO,WAAW,WAAW,IACzB,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAC5B,QAAQ,oBAAoB,EAAE,WAAW,QAAQ,WAAW,SAAS,WAAW,CAAC;AAAA;AAAA,IAEzF;AAAA,EACF;AAAA;;;AC5EK,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAClB;AAAA;AAEO,MAAM,gCAAgC,MAAM;AAAA,EACxC,OAAO;AAAA,EACE;AAAA,EAElB,WAAW,CAAC,SAAiB,SAAwC;AAAA,IACnE,MAAM,OAAO;AAAA,IACb,KAAK,QAAQ,SAAS;AAAA;AAE1B;;;ACZA,uBAAS;AACT;;;ACGO,SAAS,6BAA6B,CAC3C,OACoB;AAAA,EACpB,IAAI,MAAM,WAAW;AAAA,IAAG;AAAA,EAExB,MAAM,QAAQ,CAAC,qBAAqB;AAAA,EACpC,WAAW,QAAQ,OAAO;AAAA,IACxB,IAAI,KAAK,QAAQ,SAAS,UAAU;AAAA,MAClC,MAAM,KACJ,sBACA,uBAAuB,UAAU,KAAK,QAAQ,IAAI,YAAY,sBAC9D,mBAAmB,UAAU,KAAK,QAAQ,IAAI,SAAS,kBACvD,qBACF;AAAA,MACA;AAAA,IACF;AAAA,IAEA,MAAM,KACJ,yBACA,WAAW,UAAU,KAAK,QAAQ,EAAE,UACpC,oBAAoB,UAAU,KAAK,QAAQ,WAAW,mBACtD,4BAA4B,UAAU,oBAAoB,KAAK,QAAQ,KAAK,CAAC,aAC7E,wBACF;AAAA,EACF;AAAA,EACA,MAAM,KAAK,sBAAsB;AAAA,EACjC,OAAO,MAAM,KAAK;AAAA,CAAI;AAAA;AAGxB,SAAS,SAAS,CAAC,OAAuB;AAAA,EACxC,OAAO,MACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,QAAQ,EACxB,WAAW,KAAK,QAAQ;AAAA;;;AClCtB,SAAS,iBAAiB,CAAC,OAA0C;AAAA,EAC1E,OACE,cAAc,KAAK,KACnB,MAAM,SAAS,qBACf,gCAAgC,KAAK,MAAM;AAAA;AAKxC,SAAS,+BAA+B,CAAC,OAAoC;AAAA,EAClF,IAAI,CAAC,cAAc,KAAK,KAAK,MAAM,SAAS,mBAAmB;AAAA,IAC7D;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,MAAM,QAAQ,MAAM,OAAO,GAAG;AAAA,IACjC,OAAO;AAAA,EACT;AAAA,EACA,MAAM,iBAAiB,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,QAAQ,QAAQ,UAAU,QAAQ,SAAS;AAAA,EAC3F,IAAI,gBAAgB;AAAA,IAClB,OAAO,UAAU;AAAA,EACnB;AAAA,EACA,IAAI,MAAM,QAAQ,WAAW,GAAG;AAAA,IAC9B,OAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAQ,EAAG,QAAQ,MAAM,QAAQ,QAAQ,SAAS,GAAG;AAAA,IAC5D,MAAM,OAAO,MAAM,QAAQ;AAAA,IAC3B,MAAM,OAAO,kBAAkB;AAAA,IAC/B,IAAI,CAAC,cAAc,IAAI,GAAG;AAAA,MACxB,OAAO,GAAG;AAAA,IACZ;AAAA,IACA,IAAI,KAAK,SAAS,QAAQ;AAAA,MACxB,IAAI,OAAO,KAAK,SAAS,UAAU;AAAA,QACjC,OAAO,GAAG;AAAA,MACZ;AAAA,MACA,MAAM,kBAAiB,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,QAAQ,QAAQ,UAAU,QAAQ,MAAM;AAAA,MACvF,IAAI,iBAAgB;AAAA,QAClB,OAAO,GAAG,QAAQ;AAAA,MACpB;AAAA,MACA;AAAA,IACF;AAAA,IACA,IAAI,KAAK,SAAS,QAAQ;AAAA,MACxB,IAAI,CAAC,UAAU,KAAK,OAAO,GAAG;AAAA,QAC5B,OAAO,GAAG;AAAA,MACZ;AAAA,MACA,MAAM,kBAAiB,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,QAAQ,QAAQ,UAAU,QAAQ,SAAS;AAAA,MAC1F,IAAI,iBAAgB;AAAA,QAClB,OAAO,GAAG,QAAQ;AAAA,MACpB;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO,GAAG;AAAA,EACZ;AAAA,EAEA;AAAA;;;ACsIF,IAAM,mBAAmB;AAEzB,SAAS,aAAa,CAAC,WAAoB,SAAoC;AAAA,EAC7E,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,IAAI,yBAAyB,UAAU,SAAS;AAAA,EACxD;AAAA;AAQF,SAAS,WAAW,CAAC,OAAgB,OAA0B;AAAA,EAC7D,MAAM,SAAS,0BAA0B,OAAO,KAAK;AAAA,EACrD,cAAc,WAAW,WAAW,iBAAiB,+BAA+B,QAAQ;AAAA,EAC5F,OAAO;AAAA;AAGT,SAAS,YAAY,CAAC,OAAgB,OAAsC;AAAA,EAC1E,IAAI,UAAU;AAAA,IAAW;AAAA,EACzB,OAAO,YAAY,8BAA8B,KAAK,GAAG,KAAK;AAAA;AAYzD,SAAS,6BAA6B,CAAC,OAAyB;AAAA,EACrE,OAAO,sCAAsC,OAAO,IAAI,GAAK;AAAA;AAG/D,SAAS,qCAAqC,CAAC,OAAgB,MAA4B;AAAA,EACzF,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EAIxD,IAAI,KAAK,IAAI,KAAK;AAAA,IAAG,OAAO;AAAA,EAE5B,KAAK,IAAI,KAAK;AAAA,EACd,IAAI;AAAA,IACF,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,MACxB,OAAO,MAAM,IAAI,CAAC,UAAU,sCAAsC,OAAO,IAAI,CAAC;AAAA,IAChF;AAAA,IAEA,IAAI,CAAC,cAAc,KAAK;AAAA,MAAG,OAAO;AAAA,IAElC,OAAO,OAAO,YACZ,OAAO,QAAQ,KAAK,EACjB,OAAO,IAAI,WAAW,UAAU,SAAS,EACzC,IAAI,EAAE,KAAK,WAAW,CAAC,KAAK,sCAAsC,OAAO,IAAI,CAAC,CAAC,CACpF;AAAA,YACA;AAAA,IACA,KAAK,OAAO,KAAK;AAAA;AAAA;AAIrB,SAAS,UAAU,CAAC,MAAuB;AAAA,EACzC,OAAO,SAAS,kBAAkB,KAAK,WAAW,gBAAgB;AAAA;AAGpE,SAAS,mBAAmB,CAAC,MAAyC;AAAA,EACpE,IAAI,KAAK,SAAS,gBAAgB;AAAA,IAChC,cACE,OAAO,KAAK,aAAa,YAAY,KAAK,SAAS,SAAS,GAC5D,0CACF;AAAA,IACA,OAAO,KAAK;AAAA,EACd;AAAA,EACA,MAAM,OAAO,KAAK,KAAK,MAAM,iBAAiB,MAAM;AAAA,EACpD,cAAc,KAAK,SAAS,GAAG,mBAAmB,KAAK,8BAA8B;AAAA,EACrF,OAAO;AAAA;AAWF,SAAS,SAAS,CAAC,SAA8C;AAAA,EACtE,QAAQ,SAAS;AAAA,EACjB,cACE,SAAS,YAAY,SAAS,UAAU,SAAS,aACjD,6BAA6B,OAC/B;AAAA,EAEA,MAAM,QAA4B,QAAQ,MAAM,IAAI,CAAC,SAAS,cAAc,IAAI,CAAC;AAAA,EACjF,cACE,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,SAAS,KAAK,SAAS,SAAS,GAChE,+CACF;AAAA,EACA,MAAM,WAAW,aAAa,QAAQ,UAAU,UAAU;AAAA,EAE1D,OAAO;AAAA,IACL;AAAA,IACA;AAAA,OACI,aAAa,YAAY,CAAC,IAAI,EAAE,SAAS;AAAA,EAC/C;AAAA;AAGF,SAAS,aAAa,CAAC,MAAmD;AAAA,EACxE,QAAQ,KAAK;AAAA,SACN;AAAA,SACA,aAAa;AAAA,MAChB,cAAc,OAAO,KAAK,SAAS,UAAU,GAAG,KAAK,2BAA2B;AAAA,MAChF,cACE,KAAK,UAAU,aACf,8BAA8B,KAAK,qDACrC;AAAA,MACA,MAAM,mBAAmB,aAAa,KAAK,kBAAkB,GAAG,KAAK,uBAAuB;AAAA,MAC5F,OAAO;AAAA,QACL,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,WACP,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB;AAAA,MAC/D;AAAA,IACF;AAAA,SACK;AAAA,MACH,OAAO,EAAE,MAAM,aAAa;AAAA,SACzB,QAAQ;AAAA,MACX,cAAc,UAAU,KAAK,OAAO,GAAG,sCAAsC;AAAA,MAC7E,MAAM,mBAAmB,aAAa,KAAK,kBAAkB,uBAAuB;AAAA,MACpF,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,KAAK;AAAA,WACV,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB;AAAA,MAC/D;AAAA,IACF;AAAA,SACK;AAAA,MACH,OAAO,kBAAkB,IAAI;AAAA,aACtB;AAAA,MACP,cACE,WAAW,KAAK,IAAI,GACpB,kCAAkC,KAAK,yDACzC;AAAA,MACA,OAAO,kBAAkB,IAAI;AAAA,IAC/B;AAAA;AAAA;AAIJ,SAAS,iBAAiB,CAAC,MAAmD;AAAA,EAC5E,IAAI;AAAA,IACF,OAAO,SAAS,6BAA6B;AAAA,MAC3C,EAAE,SAAS,KAAK,SAAS,QAAQ,KAAK,OAAO;AAAA,IAC/C,CAAC;AAAA,IACD,OAAO,EAAE,MAAM,cAAc,MAAM;AAAA,IACnC,OAAO,OAAO;AAAA,IACd,MAAM,IAAI,yBACR,iBAAiB,QAAQ,MAAM,UAAU,oCAC3C;AAAA;AAAA;AAIJ,SAAS,iBAAiB,CAAC,MAAoD;AAAA,EAC7E,MAAM,UAAU,KAAK,SAAS;AAAA,EAC9B,MAAM,WAAW,oBAAoB,IAAI;AAAA,EACzC,cACE,OAAO,KAAK,eAAe,YAAY,KAAK,WAAW,SAAS,GAChE,cAAc,KAAK,+BACrB;AAAA,EACA,cACE,KAAK,UAAU,sBAAsB,KAAK,UAAU,gBACpD,6BAA6B,KAAK,mCAAmC,KAAK,yCAC5E;AAAA,EAGA,MAAM,QAAQ,KAAK,UAAU,YAAY,OAAO,YAAY,KAAK,OAAO,YAAY;AAAA,EACpF,MAAM,mBAAmB,aAAa,KAAK,sBAAsB,2BAA2B;AAAA,EAE5F,MAAM,OAAO;AAAA,IACX,MAAM;AAAA,IACN,YAAY,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,OACI,UAAU,EAAE,SAAS,KAAK,IAAI,CAAC;AAAA,OAC/B,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,OACrF,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB;AAAA,EAC/D;AAAA,EAEA,IAAI,KAAK,UAAU,oBAAoB;AAAA,IACrC,OAAO,KAAK,MAAM,OAAO,oBAAoB,QAAQ,YAAY,KAAK,QAAQ,aAAa,EAAE;AAAA,EAC/F;AAAA,EACA,cACE,OAAO,KAAK,cAAc,UAC1B,cAAc,KAAK,kCACrB;AAAA,EACA,OAAO,KAAK,MAAM,OAAO,gBAAgB,WAAW,KAAK,UAAU;AAAA;AAM9D,SAAS,WAAW,CAAC,SAAuC;AAAA,EACjE,OAAO;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,OAAO,QAAQ,MAAM,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC;AAAA,OAC7C,QAAQ,aAAa,YAAY,CAAC,IAAI,EAAE,UAAU,QAAQ,SAAS;AAAA,EACzE;AAAA;AAGF,SAAS,QAAQ,CAAC,MAA4C;AAAA,EAC5D,QAAQ,KAAK;AAAA,SACN;AAAA,SACA;AAAA,MACH,OAAO;AAAA,QACL,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,WACP,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,MAC3F;AAAA,SACG;AAAA,MACH,OAAO,EAAE,MAAM,aAAa;AAAA,SACzB;AAAA,MACH,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS,KAAK;AAAA,WACV,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,MAC3F;AAAA,SACG;AAAA,MACH,OAAO,EAAE,MAAM,WAAW,SAAS,KAAK,SAAS,QAAQ,KAAK,OAAO;AAAA,SAClE;AAAA,MACH,OAAO,aAAa,IAAI;AAAA;AAAA;AAI9B,SAAS,YAAY,CAAC,MAA0C;AAAA,EAC9D,MAAM,OAAO;AAAA,IACX,YAAY,KAAK;AAAA,OACb,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,OACrF,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,sBAAsB,KAAK,iBAAiB;AAAA,EAC/F;AAAA,EACA,MAAM,QACJ,KAAK,UAAU,qBACX,EAAE,OAAO,oBAA6B,OAAO,KAAK,OAAO,QAAQ,KAAK,OAAO,IAC7E,EAAE,OAAO,gBAAyB,OAAO,KAAK,OAAO,WAAW,KAAK,UAAU;AAAA,EAErF,IAAI,KAAK,SAAS;AAAA,IAChB,OAAO,EAAE,MAAM,gBAAgB,UAAU,KAAK,aAAa,SAAS,MAAM;AAAA,EAC5E;AAAA,EACA,OAAO,EAAE,MAAM,QAAQ,KAAK,eAAe,SAAS,MAAM;AAAA;AAcrD,SAAS,eAA8C,CAC5D,UACA,UAA4C,CAAC,GACxB;AAAA,EACrB,MAAM,SAA8B,CAAC;AAAA,EACrC,WAAW,WAAW,UAAU;AAAA,IAC9B,QAAQ,QAAQ;AAAA,WACT;AAAA,QACH,OAAO,KAAK,mBAAmB,OAAO,CAAC;AAAA,QACvC;AAAA,WACG;AAAA,QACH,OAAO,KAAK,iBAAiB,SAAS,OAAO,CAAC;AAAA,QAC9C;AAAA,WACG;AAAA,QACH,6BAA6B,QAAQ,SAAS,OAAO;AAAA,QACrD;AAAA;AAAA,EAEN;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,kBAAkB,CAAC,SAA0C;AAAA,EACpE,MAAM,YAAY,QAAQ,MAAM,OAAO,UAAU;AAAA,EAGjD,MAAM,kBAAkB,sBAAsB,SAAS;AAAA,EACvD,OAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,UAAU,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,KAAK,EAAE;AAAA,OAC/C,oBAAoB,YAAY,CAAC,IAAI,EAAE,gBAAgB;AAAA,EAC7D;AAAA;AAGF,SAAS,qBAAqB,CAC5B,OACuB;AAAA,EACvB,IAAI;AAAA,EACJ,WAAW,QAAQ,OAAO;AAAA,IACxB,MAAM,OAAO,KAAK;AAAA,IAClB,IAAI,SAAS,aAAa,OAAO,SAAS,YAAY,SAAS,QAAQ,CAAC,MAAM,QAAQ,IAAI,GAAG;AAAA,MAC3F,SAAS,KAAM,UAAU,CAAC,MAAO,KAAK;AAAA,IACxC;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,gBAA+C,CACtD,SACA,SACmB;AAAA,EACnB,MAAM,UAAuD,CAAC;AAAA,EAC9D,MAAM,oBAAoB,8BACxB,QAAQ,MAAM,OAAO,CAAC,SAAS,KAAK,SAAS,SAAS,CACxD;AAAA,EACA,IAAI,mBAAmB;AAAA,IACrB,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,GAAG;AAAA;AAAA,EAAwB,CAAC;AAAA,EACjE;AAAA,EACA,QAAQ,MAAM,QAAQ,CAAC,MAAM,cAAc;AAAA,IACzC,IAAI,KAAK,SAAS,QAAQ;AAAA,MACxB,QAAQ,KAAK;AAAA,QACX,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,WACP,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,MAC1F,CAAC;AAAA,MACD;AAAA,IACF;AAAA,IACA,IAAI,KAAK,SAAS,QAAQ;AAAA,MACxB,MAAM,cAAc,QAAQ,WAAW,EAAE,SAAS,MAAM,UAAU,CAAC;AAAA,MACnE,IAAI,aAAa;AAAA,QACf,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,YAAY,CAAC;AAAA,MAClD;AAAA,MACA,MAAM,WAAW,QAAQ,WAAW,EAAE,SAAS,MAAM,UAAU,CAAC;AAAA,MAChE,IAAI,UAAU;AAAA,QACZ,MAAM,aAAa,oBAAoB,MAAM,EAAE,MAAM,SAAS,IAAI;AAAA,QAClE,QAAQ,KAAK;AAAA,UACX,MAAM;AAAA,UACN,MAAM,WAAW;AAAA,UACjB,WAAW,WAAW,aAAa,KAAK,QAAQ,aAAa;AAAA,aACzD,WAAW,aAAa,YACxB,EAAE,UAAU,WAAW,SAAS,IAChC,KAAK,QAAQ,aAAa,YACxB,CAAC,IACD,EAAE,UAAU,KAAK,QAAQ,SAAS;AAAA,aACpC,KAAK,qBAAqB,YAC1B,CAAC,IACD,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,QAC/C,CAAC;AAAA,MACH;AAAA,IACF;AAAA,GACD;AAAA,EACD,OAAO,EAAE,MAAM,QAAQ,QAAQ;AAAA;AAGjC,SAAS,4BAA2D,CAClE,QACA,SACA,SACM;AAAA,EACN,IAAI,QAAgF,CAAC;AAAA,EACrF,MAAM,QAAQ,MAAY;AAAA,IACxB,IAAI,MAAM,WAAW,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,IACA,MAAM,UAAU;AAAA,IAChB,QAAQ,CAAC;AAAA,IAET,MAAM,UAAqC,CAAC;AAAA,IAC5C,aAAa,MAAM,eAAe,SAAS;AAAA,MACzC,IAAI,KAAK,SAAS,QAAQ;AAAA,QACxB,QAAQ,KAAK;AAAA,UACX,MAAM;AAAA,UACN,MAAM,KAAK;AAAA,aACP,KAAK,qBAAqB,YAC1B,CAAC,IACD,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,QAC/C,CAAC;AAAA,MACH,EAAO,SAAI,KAAK,SAAS,aAAa;AAAA,QACpC,QAAQ,KAAK;AAAA,UACX,MAAM;AAAA,UACN,MAAM,KAAK;AAAA,aACP,KAAK,qBAAqB,YAC1B,CAAC,IACD,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,QAC/C,CAAC;AAAA,MACH,EAAO,SAAI,KAAK,SAAS,QAAQ;AAAA,QAC/B,MAAM,cAAc,QAAQ,WAAW,EAAE,SAAS,MAAM,UAAU,CAAC;AAAA,QACnE,IAAI,aAAa;AAAA,UACf,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,YAAY,CAAC;AAAA,QAClD;AAAA,MACF,EAAO,SAAI,KAAK,SAAS,aAAa;AAAA,QACpC,QAAQ,KAAK,kBAAkB,IAAI,CAAC;AAAA,QACpC,IAAI,KAAK,qBAAqB,MAAM;AAAA,UAClC,QAAQ,KAAK,oBAAoB,SAAS,MAAM,WAAW,QAAQ,OAAO,CAAC;AAAA,QAC7E;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,KAAK,EAAE,MAAM,aAAa,QAAQ,CAAC;AAAA,IAE1C,MAAM,cAAc,QAAQ,QAAQ,GAAG,MAAM,gBAC3C,KAAK,SAAS,eAAe,KAAK,qBAAqB,OACnD,CAAC,oBAAoB,SAAS,MAAM,WAAW,QAAQ,OAAO,CAAC,IAC/D,CAAC,CACP;AAAA,IACA,IAAI,YAAY,SAAS,GAAG;AAAA,MAC1B,OAAO,KAAK,EAAE,MAAM,QAAQ,SAAS,YAAY,CAAC;AAAA,IACpD;AAAA;AAAA,EAGF,QAAQ,MAAM,QAAQ,CAAC,MAAM,cAAc;AAAA,IACzC,IAAI,KAAK,SAAS,cAAc;AAAA,MAC9B,MAAM;AAAA,IACR,EAAO;AAAA,MACL,MAAM,KAAK,EAAE,MAAM,UAAU,CAAC;AAAA;AAAA,GAEjC;AAAA,EACD,MAAM;AAAA;AAGR,SAAS,iBAAiB,CAAC,MAAiD;AAAA,EAC1E,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,OAAO,KAAK;AAAA,OACR,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,kBAAkB,KAAK,iBAAiB;AAAA,OACrF,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,EAC1F;AAAA;AAGF,SAAS,mBAAkD,CACzD,SACA,MACA,WACA,WACA,SAC0B;AAAA,EAC1B,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,QAAQ,iBAAiB,SAAS,MAAM,WAAW,WAAW,OAAO;AAAA,OACjE,KAAK,qBAAqB,YAAY,CAAC,IAAI,EAAE,iBAAiB,KAAK,iBAAiB;AAAA,EAC1F;AAAA;AAGF,SAAS,gBAA+C,CACtD,SACA,MACA,WACA,WACA,SACsB;AAAA,EACtB,IAAI,KAAK,UAAU,gBAAgB;AAAA,IACjC,OAAO,cAAc,SACjB,EAAE,MAAM,cAAc,OAAO,KAAK,UAAU,IAC5C,EAAE,MAAM,cAAc,OAAO,KAAK,UAAU;AAAA,EAClD;AAAA,EACA,IAAI,kBAAkB,KAAK,MAAM,GAAG;AAAA,IAClC,MAAM,QAAkB,CAAC;AAAA,IACzB,KAAK,OAAO,QAAQ,QAAQ,CAAC,aAAa,iBAAiB;AAAA,MACzD,IAAI,YAAY,SAAS,QAAQ;AAAA,QAC/B,MAAM,KAAK,YAAY,IAAI;AAAA,QAC3B;AAAA,MACF;AAAA,MAEA,MAAM,gBAAgB,EAAE,SAAS,MAAM,WAAW,aAAa,aAAa;AAAA,MAC5E,MAAM,cAAc,QAAQ,qBAAqB,aAAa;AAAA,MAC9D,IAAI,aAAa;AAAA,QACf,MAAM,KAAK,WAAW;AAAA,MACxB,EAAO;AAAA,QACL,MAAM,KAAK,2BAA2B,WAAW,CAAC;AAAA;AAAA,KAErD;AAAA,IACD,OAAO,EAAE,MAAM,QAAQ,OAAO,MAAM,KAAK;AAAA,CAAI,EAAE;AAAA,EACjD;AAAA,EACA,OAAO,OAAO,KAAK,WAAW,WAC1B,EAAE,MAAM,QAAQ,OAAO,KAAK,OAAO,IACnC,EAAE,MAAM,QAAQ,OAAO,KAAK,OAAO;AAAA;AAGzC,SAAS,0BAA0B,CAAC,MAAoC;AAAA,EACtE,MAAM,aAAa;AAAA,IACjB,KAAK,QAAQ,WAAW,QAAQ,KAAK,UAAU,KAAK,QAAQ,QAAQ,MAAM;AAAA,IAC1E,KAAK,QAAQ,YAAY,aAAa,KAAK,UAAU,KAAK,QAAQ,SAAS,MAAM;AAAA,IACjF,aAAa,KAAK,QAAQ;AAAA,EAC5B,EAAE,OAAO,CAAC,UAA2B,UAAU,SAAS;AAAA,EACxD,OAAO,uBAAuB,WAAW,KAAK,GAAG;AAAA;AAGnD,SAAS,UAAU,CAAC,MAA6E;AAAA,EAC/F,OAAO,KAAK,SAAS;AAAA;;AC1qBvB;AAIO,IAAM,2BAA2B;AAExC,IAAM,sCAAsC;AAiBrC,IAAM,mBAA6C,gBAAgB,OACxE,CAAC,UAAU,MAAM,QACnB,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,MAAM,QAAQ,MAAM,MAAM,KAAK,EAAE;AAEtD,SAAS,+BAA+B,CAAC,OAA+C;AAAA,EAC7F,OAAO,GAAG,sCAAsC,iBAAiB,KAAK;AAAA;AAGjE,SAAS,gCAAgC,CAC9C,OACS;AAAA,EACT,MAAM,WAAW,gCAAgC,KAAK;AAAA,EACtD,MAAM,SAAS,MAAM;AAAA,EACrB,MAAM,iBAAiB,OAAO,KAAK,QAAQ;AAAA,EAC3C,MAAM,eAAe,OAAO,KAAK,MAAM;AAAA,EACvC,OACE,eAAe,eAAe,aAAa,cAC3C,gBAAgB,gBAAgB,YAAY;AAAA;AAIzC,SAAS,wBAAwB,CAAC,QAAgB,UAA2B;AAAA,EAClF,MAAM,mBAAmB,OAAO,YAAY;AAAA,EAC5C,MAAM,iBAAiB,mBAAmB,QAAQ;AAAA,EAClD,OAAO,iBAAiB,KACtB,CAAC,UAAU,MAAM,WAAW,oBAAoB,mBAAmB,gBAAgB,MAAM,IAAI,CAC/F;AAAA;AAGF,SAAS,gBAAgB,CAAC,OAA+C;AAAA,EACvE,OAAO,WAAW,UAAU,MAAM,cAAc,EAC7C,OAAO,qBAAqB,MAAM,aAAa,MAAM,OAAO,EAC5D,OAAO,WAAW;AAAA;;ACrChB,IAAM,yBAAyB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACLA,IAAM,0BAA0B;AAChC,IAAM,+BAA+B,IAAI,IAAI;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,4BAA4B,CAAC,QAAQ,QAAQ,WAAW;AAE9D,SAAS,cAAc,CAAC,OAAe,OAAqB;AAAA,EACjE,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,IACjB,MAAM,IAAI,qBAAqB,gBAAgB,0BAA0B;AAAA,EAC3E;AAAA;AAGK,SAAS,iBAAiB,CAAC,OAA0C;AAAA,EAC1E,OACE,SAAS,KAAK,KACd,MAAM,SAAS,WACf,OAAO,MAAM,OAAO,YACpB,OAAO,MAAM,SAAS,YACtB,OAAO,MAAM,iBAAiB,aAC7B,MAAM,cAAc,aAAa,sBAAsB,MAAM,SAAS,OACtE,MAAM,oBAAoB,aAAa,kBAAkB,MAAM,eAAe,MAC/E,MAAM,QAAQ,MAAM,QAAQ,KAC5B,2BAA2B,MAAM,KAAK;AAAA;AAInC,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAClF,OACE,SAAS,KAAK,KACd,MAAM,SAAS,eACf,OAAO,MAAM,SAAS,YACtB,OAAO,MAAM,gBAAgB,YAC7B,cAAc,MAAM,KAAK,KACzB,OAAO,MAAM,YAAY;AAAA;AAItB,SAAS,wBAAwB,CAAC,MAAuC;AAAA,EAC9E,IAAI,OAAO,SAAS,YAAY,CAAC,wBAAwB,KAAK,IAAI,GAAG;AAAA,IACnE,MAAM,IAAI,qBACR,gJACF;AAAA,EACF;AAAA,EACA,IAAK,0BAAgD,SAAS,IAAI,GAAG;AAAA,IACnE,MAAM,IAAI,qBAAqB,2BAA2B,qCAAqC;AAAA,EACjG;AAAA;AAGK,SAAS,+BAA+B,CAAC,MAAc,aAA4B;AAAA,EACxF,IAAI,OAAO,gBAAgB,YAAY,CAAC,YAAY,KAAK,GAAG;AAAA,IAC1D,MAAM,IAAI,qBAAqB,sBAAsB,sCAAsC;AAAA,EAC7F;AAAA;AAGK,SAAS,yBAAyB,CAAC,MAAc,OAAsB;AAAA,EAC5E,IAAI,CAAC,cAAc,KAAK,GAAG;AAAA,IACzB,MAAM,IAAI,qBAAqB,sBAAsB,sCAAsC;AAAA,EAC7F;AAAA,EAEA,YAAY,OAAO,WAAW,OAAO,QAAQ,KAAK,GAAG;AAAA,IACnD,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,MACjB,MAAM,IAAI,qBACR,sBAAsB,4CACxB;AAAA,IACF;AAAA,IACA,2BAA2B,MAAM,QAAQ,SAAS,SAAS,IAAI,GAAK;AAAA,EACtE;AAAA;AAGK,SAAS,iCAAsE,CACpF,UACA,OACQ;AAAA,EACR,0BAA0B,UAAU,KAAK;AAAA,EACzC,IAAI;AAAA,IACF,OAAO,WAAW,gBAAgB,KAAK,CAAC;AAAA,IACxC,MAAM;AAAA,IACN,MAAM,IAAI,qBACR,sBAAsB,qDACxB;AAAA;AAAA;AAKG,SAAS,kCAAkC,CAChD,UACA,OACA,OACA,gBAC2B;AAAA,EAC3B,MAAM,QAAQ,eAAe;AAAA,EAC7B,IAAI,CAAC,cAAc,KAAK,GAAG;AAAA,IACzB,MAAM,IAAI,wBAAwB,UAAU,8BAA8B;AAAA,EAC5E;AAAA,EAEA,MAAM,SAAS,0BAA0B,OAAO,KAAK;AAAA,EACrD,IAAI,QAAQ;AAAA,IACV,MAAM,IAAI,wBAAwB,UAAU,kCAAkC,SAAS;AAAA,EACzF;AAAA,EAEA,MAAM,SAAuB;AAAA,IAC3B,MAAM;AAAA,IACN,YAAY,OAAO,YACjB,OAAO,QAAQ,KAAK,EAAE,IAAI,EAAE,OAAO,iBAAiB;AAAA,MAClD;AAAA,MACA,EAAE,QAAQ,aAAa,UAAU,KAAK;AAAA,IACxC,CAAC,CACH;AAAA,EACF;AAAA,EACA,oBAAoB,QAAQ,OAAO,OAAO,cAAc;AAAA,EACxD,OAAO,WACL,qBAAqB,QAAQ,OAAO,OAAO,cAAc,CAC3D;AAAA;AAIK,SAAS,2BAA2B,CAAC,QAA0C;AAAA,EACpF,WAAW,SAAS,QAAQ;AAAA,IAC1B,IAAI,CAAC,kBAAkB,KAAK,GAAG;AAAA,MAC7B,MAAM,IAAI,qBAAqB,0DAA0D;AAAA,IAC3F;AAAA,IAEA,gCAAgC,MAAM,IAAI,MAAM,KAAK;AAAA,IACrD,WAAW,QAAQ,MAAM,OAAO;AAAA,MAC9B,WAAW,KAAK,KAAK;AAAA,MACrB,OAAO,OAAO,IAAI;AAAA,IACpB;AAAA,IACA,OAAO,OAAO,MAAM,KAAK;AAAA,IACzB,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA;AAGK,SAAS,sBAAsB,CACpC,MAC6B;AAAA,EAC7B,IAAI,SAAS;AAAA,IAAW;AAAA,EAExB,MAAM,WAAW,MAAM,UAAU;AAAA,EACjC,IAAI,aAAa,cAAc,CAAC,OAAO,cAAc,QAAQ,KAAK,YAAY,IAAI;AAAA,IAChF,MAAM,IAAI,qBACR,sEACF;AAAA,EACF;AAAA,EACA,IAAI,KAAK,YAAY,aAAa,KAAK,YAAY,UAAU,KAAK,YAAY,OAAO;AAAA,IACnF,MAAM,IAAI,qBAAqB,oDAAoD;AAAA,EACrF;AAAA,EAEA,MAAM,UAAU,KAAK,UAAU,2BAA2B,KAAK,OAAO,IAAI;AAAA,EAC1E,OAAO,OAAO,OAAO;AAAA,OACf,KAAK,aAAa,YAClB,CAAC,IACD,EAAE,UAAU,OAAO,OAAO,KAAM,aAAa,YAAY,CAAC,IAAI,EAAE,SAAS,EAAG,CAAC,EAAE;AAAA,OAC/E,YAAY,YAAY,CAAC,IAAI,EAAE,QAAQ;AAAA,OACvC,KAAK,YAAY,YAAY,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ;AAAA,EAChE,CAAC;AAAA;AAGH,SAAS,0BAA0B,CAAC,SAAiD;AAAA,EACnF,MAAM,WAAmC,CAAC;AAAA,EAC1C,WAAW,SAAS,CAAC,gBAAgB,iBAAiB,kBAAkB,GAAY;AAAA,IAClF,MAAM,QAAQ,QAAQ;AAAA,IACtB,IAAI,UAAU;AAAA,MAAW;AAAA,IACzB,0BAA0B,OAAO,KAAK;AAAA,IACtC,SAAS,SAAS;AAAA,EACpB;AAAA,EAEA,OAAO,OAAO,OAAO,QAAQ;AAAA;AAG/B,SAAS,yBAAyB,CAAC,OAAgB,OAAwC;AAAA,EACzF,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,cAAc,KAAK,KAAK,SAAS,GAAG;AAAA,IAC3E,MAAM,IAAI,qBACR,6BAA6B,wCAC/B;AAAA,EACF;AAAA;AAGK,SAAS,yBAAyB,CAAC,WAAkD;AAAA,EAC1F,IAAI,cAAc,WAAW;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,IAAI,CAAC,sBAAsB,SAAS,GAAG;AAAA,IACrC,MAAM,IAAI,qBACR,0CAA0C,uBAAuB,KAAK,IAAI,IAC5E;AAAA,EACF;AAAA;AAGK,SAAS,0BAA0B,CACxC,iBACM;AAAA,EACN,IAAI,oBAAoB,WAAW;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM,SAAS,0BAA0B,iBAAiB,iBAAiB;AAAA,EAC3E,IAAI,CAAC,SAAS,eAAe,KAAK,QAAQ;AAAA,IACxC,MAAM,IAAI,qBACR,oEAAoE,SAAS,KAAK,WAAW,KAC/F;AAAA,EACF;AAAA,EAEA,YAAY,UAAU,YAAY,OAAO,QAAQ,eAAe,GAAG;AAAA,IACjE,IAAI,CAAC,SAAS,KAAK,GAAG;AAAA,MACpB,MAAM,IAAI,qBACR,gEACF;AAAA,IACF;AAAA,IACA,MAAM,gBAAgB,0BAA0B,SAAS,mBAAmB,UAAU;AAAA,IACtF,IAAI,CAAC,SAAS,OAAO,KAAK,eAAe;AAAA,MACvC,MAAM,IAAI,qBACR,gCAAgC,iCAAiC,gBAAgB,KAAK,kBAAkB,KAC1G;AAAA,IACF;AAAA,EACF;AAAA;AAGK,SAAS,uBAAuB,CACrC,SACA,QACmB;AAAA,EACnB,MAAM,YAAY,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU;AAAA,IAC7C,IAAI,CAAC,SAAS,KAAK,KAAK,MAAM,SAAS,SAAS;AAAA,MAC9C,MAAM,IAAI,qBACR,iBAAiB,sDACnB;AAAA,IACF;AAAA,IAEA,eAAe,MAAM,IAAI,UAAU,mBAAmB;AAAA,IACtD,OAAO,MAAM;AAAA,GACd;AAAA,EAED,0BAA0B,SAAS,QAAQ;AAAA,EAC3C,OAAO,OAAO,OAAO,QAAQ;AAAA;AAGxB,SAAS,4BAA4B,CAC1C,QACA,UACM;AAAA,EACN,WAAW,SAAS,QAAQ;AAAA,IAC1B,0BAA0B,MAAM,IAAI,MAAM,QAAQ;AAAA,IAClD,WAAW,WAAW,MAAM,UAAU;AAAA,MACpC,IAAI,CAAC,SAAS,aAAa,OAAO,GAAG;AAAA,QACnC,MAAM,IAAI,qBACR,iBAAiB,MAAM,wCAAwC,8EACjE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAGF,SAAS,yBAAyB,CAAC,SAAiB,UAAmC;AAAA,EACrF,MAAM,OAAO,IAAI;AAAA,EACjB,WAAW,WAAW,UAAU;AAAA,IAC9B,eAAe,SAAS,UAAU,mBAAmB;AAAA,IACrD,IAAI,KAAK,IAAI,OAAO,GAAG;AAAA,MACrB,MAAM,IAAI,qBACR,iBAAiB,gDAAgD,WACnE;AAAA,IACF;AAAA,IACA,KAAK,IAAI,OAAO;AAAA,EAClB;AAAA;AAGF,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAC3E,OAAO,OAAO,UAAU,YAAa,uBAA6C,SAAS,KAAK;AAAA;AAGlG,SAAS,iBAAiB,CACxB,OAC4D;AAAA,EAC5D,IAAI,CAAC,SAAS,KAAK,KAAK,0BAA0B,KAAK,MAAM,WAAW;AAAA,IACtE,OAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,QAAQ,KAAK,EAAE,MAC3B,EAAE,UAAU,aACV,SAAS,KAAK,EAAE,SAAS,KACzB,SAAS,OAAO,KAChB,0BAA0B,OAAO,MAAM,SAC3C;AAAA;AAGF,SAAS,0BAA0B,CACjC,UACA,QACA,MACA,UACM;AAAA,EACN,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,IAAI,6BAA6B,IAAI,MAAM,GAAG;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,MAAM,uBAAuB,UAAU,IAAI;AAAA,EAC7C;AAAA,EACA,IAAI,CAAC,cAAc,MAAM,KAAK,OAAO,OAAO,SAAS,YAAY,SAAS,IAAI,MAAM,GAAG;AAAA,IACrF,MAAM,uBAAuB,UAAU,IAAI;AAAA,EAC7C;AAAA,EAEA,SAAS,IAAI,MAAM;AAAA,EACnB,QAAQ,OAAO;AAAA,SACR,QAAQ;AAAA,MACX,MAAM,SAAS,OAAO;AAAA,MACtB,MAAM,cAAc,2BAA2B,QAAQ,OAAO,SAAS;AAAA,MACvE,IAAI,CAAC,eAAe,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,QAAQ;AAAA,QAC1D,MAAM,uBAAuB,UAAU,IAAI;AAAA,MAC7C;AAAA,MACA;AAAA,IACF;AAAA,SACK;AAAA,MACH,2BAA2B,UAAU,OAAO,OAAO,GAAG,cAAc,QAAQ;AAAA,MAC5E;AAAA,SACG;AAAA,MACH,IAAI,OAAO,cAAc,UAAU;AAAA,QACjC,MAAM,uBAAuB,UAAU,IAAI;AAAA,MAC7C;AAAA,MACA,2BAA2B,UAAU,OAAO,aAAa,GAAG,oBAAoB,QAAQ;AAAA,MACxF;AAAA,SACG,UAAU;AAAA,MACb,IAAI,CAAC,cAAc,OAAO,UAAU,GAAG;AAAA,QACrC,MAAM,uBAAuB,UAAU,IAAI;AAAA,MAC7C;AAAA,MACA,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,QAChE,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,cAAc,KAAK,KAAK,EAAE,YAAY,QAAQ;AAAA,UACpE,MAAM,uBAAuB,UAAU,GAAG,mBAAmB,SAAS;AAAA,QACxE;AAAA,QACA,IACG,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa,aAC1D,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa,aAC1D,MAAM,gBAAgB,cACpB,OAAO,MAAM,gBAAgB,YAAY,CAAC,MAAM,YAAY,KAAK,IACpE;AAAA,UACA,MAAM,uBAAuB,UAAU,GAAG,mBAAmB,SAAS;AAAA,QACxE;AAAA,QACA,2BACE,UACA,MAAM,QACN,GAAG,mBAAmB,kBACtB,QACF;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,SACK;AAAA,MACH,IAAI,OAAO,OAAO,gBAAgB,YAAY,CAAC,OAAO,YAAY,KAAK,GAAG;AAAA,QACxE,MAAM,uBAAuB,UAAU,IAAI;AAAA,MAC7C;AAAA,MACA,IAAI,OAAO,cAAc,WAAW;AAAA,QAClC,2BAA2B,UAAU,OAAO,WAAW,GAAG,kBAAkB,QAAQ;AAAA,MACtF;AAAA,MACA;AAAA;AAAA,MAEA,MAAM,uBAAuB,UAAU,IAAI;AAAA;AAAA,EAE/C,SAAS,OAAO,MAAM;AAAA;AAGxB,SAAS,sBAAsB,CAAC,UAAkB,MAAoC;AAAA,EACpF,OAAO,IAAI,qBACT,sBAAsB,aAAa,mCACrC;AAAA;AAGF,SAAS,0BAA0B,CAAC,OAAyD;AAAA,EAC3F,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,IACzB,OAAO;AAAA,EACT;AAAA,EACA,SAAS,QAAQ,EAAG,QAAQ,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpD,IAAI,CAAC,OAAO,OAAO,OAAO,KAAK,KAAK,CAAC,sBAAsB,MAAM,MAAM,GAAG;AAAA,MACxE,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,+BAA+B,CAC7C,SACA,OACM;AAAA,EACN,MAAM,OAAO,IAAI;AAAA,EACjB,SAAS,QAAQ,EAAG,QAAQ,MAAM,QAAQ,SAAS,GAAG;AAAA,IACpD,MAAM,OAAO,MAAM;AAAA,IACnB,IAAI,CAAC,OAAO,OAAO,OAAO,KAAK,KAAK,CAAC,sBAAsB,IAAI,GAAG;AAAA,MAChE,MAAM,IAAI,qBACR,iBAAiB,0DACnB;AAAA,IACF;AAAA,IAEA,yBAAyB,KAAK,IAAI;AAAA,IAClC,gCAAgC,KAAK,MAAM,KAAK,WAAW;AAAA,IAC3D,0BAA0B,KAAK,MAAM,KAAK,KAAK;AAAA,IAC/C,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG;AAAA,MACvB,MAAM,IAAI,qBACR,iBAAiB,gDAAgD,KAAK,QACxE;AAAA,IACF;AAAA,IACA,KAAK,IAAI,KAAK,IAAI;AAAA,EACpB;AAAA;AAGF,SAAS,0BAA0B,CAAC,QAAiB,WAAyC;AAAA,EAC5F,IAAI,CAAC,MAAM,QAAQ,MAAM,KAAK,OAAO,WAAW,GAAG;AAAA,IACjD,OAAO;AAAA,EACT;AAAA,EAEA,SAAS,QAAQ,EAAG,QAAQ,OAAO,QAAQ,SAAS,GAAG;AAAA,IACrD,IAAI,CAAC,OAAO,OAAO,QAAQ,KAAK,GAAG;AAAA,MACjC,OAAO;AAAA,IACT;AAAA,IACA,MAAM,QAAQ,OAAO;AAAA,IACrB,IACE,cAAc,WACV,OAAO,UAAU,WACjB,cAAc,aAAa,OAAO,UAAU,YAAY,CAAC,OAAO,UAAU,KAAK,GACnF;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,UAAa,CAAC,OAAU,OAAoB,IAAI,KAAU;AAAA,EACjE,IAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,KAAK,IAAI,KAAK,GAAG;AAAA,IAClE,OAAO;AAAA,EACT;AAAA,EAEA,KAAK,IAAI,KAAK;AAAA,EACd,WAAW,OAAO,QAAQ,QAAQ,KAAK,GAAG;AAAA,IACxC,MAAM,aAAa,OAAO,yBAAyB,OAAO,GAAG;AAAA,IAC7D,IAAI,cAAc,WAAW,YAAY;AAAA,MACvC,WAAW,WAAW,OAAO,IAAI;AAAA,IACnC;AAAA,EACF;AAAA,EACA,OAAO,OAAO,OAAO,KAAK;AAAA;AAG5B,SAAS,QAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;AC9b5E,IAAM,oBAAoD,OAAO,OAAO,CAAC,CAAC;AAC1E,IAAM,uBAAuB,IAAI;AAE1B,SAAS,yBAGf,CAAC,YAKqC;AAAA,EACrC,yBAAyB,WAAW,IAAI;AAAA,EACxC,gCAAgC,WAAW,MAAM,WAAW,WAAW;AAAA,EACvE,IAAI,OAAO,WAAW,YAAY,YAAY;AAAA,IAC5C,MAAM,IAAI,qBACR,sBAAsB,WAAW,mCACnC;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,kCAAkC,WAAW,MAAM,WAAW,KAAK;AAAA,EACjF,MAAM,OAA2C;AAAA,IAC/C,MAAM;AAAA,IACN,MAAM,WAAW;AAAA,IACjB,aAAa,WAAW;AAAA,IACxB;AAAA,IACA,SAAS,OAAO,YAAY;AAAA,MAC1B,MAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAAA,MAC/C,IAAI;AAAA,MACJ,IAAI;AAAA,QAIF,WAAW,eAAe,QAA6B,QAAQ;AAAA,QAC/D,OAAO,OAAO;AAAA,QACd,MAAM,IAAI,+BACR,WAAW,MACX,0BAA0B,QAAQ,QAAQ,KAAK,qCAC/C,EAAE,MAAM,CACV;AAAA;AAAA,MAEF,MAAM,mBAAmB,gCAAgC,QAAQ;AAAA,MACjE,IAAI,kBAAkB;AAAA,QACpB,MAAM,IAAI,+BAA+B,WAAW,MAAM,gBAAgB;AAAA,MAC5E;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA,EAEA,qBAAqB,IAAI,IAAI;AAAA,EAC7B,OAAO,OAAO,OAAO,IAAI;AAAA;AAGpB,SAAS,oBAAoB,CAClC,SACA,OACgC;AAAA,EAChC,IAAI,UAAU,WAAW;AAAA,IACvB,OAAO;AAAA,EACT;AAAA,EACA,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,IACzB,MAAM,IAAI,qBACR,iBAAiB,4DACnB;AAAA,EACF;AAAA,EAEA,gCAAgC,SAAS,KAAK;AAAA,EAE9C,MAAM,aAAoC,CAAC;AAAA,EAC3C,WAAW,QAAQ,OAAO;AAAA,IACxB,WAAW,KAAK,6BAA6B,IAAI,CAAC;AAAA,EACpD;AAAA,EACA,OAAO,OAAO,OAAO,UAAU;AAAA;AAGjC,SAAS,4BAA4B,CAAC,MAAgD;AAAA,EACpF,IAAI,qBAAqB,IAAI,IAAI,GAAG;AAAA,IAClC,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,0BAA0B;AAAA,IAC/B,MAAM,KAAK;AAAA,IACX,aAAa,KAAK;AAAA,IAClB,OAAO,KAAK;AAAA,IACZ,SAAS,CAAC,YAAY,KAAK,QAAQ,OAAO;AAAA,EAC5C,CAAC;AAAA;;;AC5EI,SAAS,eAA2C,CACzD,MACoC;AAAA,EACpC,yBAAyB,IAAI;AAAA,EAE7B,OAAO;AAAA,IACL,WAAW,CAAC,aAAmD;AAAA,MAC7D,gCAAgC,MAAM,WAAW;AAAA,MAEjD,OAAO;AAAA,QACL,KAAgD,CAC9C,OACoC;AAAA,UACpC,0BAA0B,MAAM,KAAK;AAAA,UAErC,OAAO;AAAA,YACL,GAAG,CACD,SACoC;AAAA,cACpC,OAAO,0BAA0B,EAAE,MAAM,aAAa,OAAO,QAAQ,CAAC;AAAA;AAAA,UAE1E;AAAA;AAAA,MAEJ;AAAA;AAAA,EAEJ;AAAA;AAUK,SAAS,WAAqC,CACnD,IACA,QACsB;AAAA,EACtB,eAAe,IAAI,IAAI;AAAA,EACvB,eAAe,OAAO,MAAM,MAAM;AAAA,EAClC,eAAe,OAAO,cAAc,cAAc;AAAA,EAElD,IAAI,OAAO,UAAU,aAAa,OAAO,UAAU,MAAM;AAAA,IACvD,MAAM,IAAI,qBAAqB,iCAAiC;AAAA,EAClE;AAAA,EACA,0BAA0B,OAAO,SAAS;AAAA,EAC1C,2BAA2B,OAAO,eAAe;AAAA,EACjD,MAAM,OAAO,uBAAuB,OAAO,IAAI;AAAA,EAC/C,MAAM,WAAW,wBAAwB,IAAI,OAAO,MAAM;AAAA,EAC1D,MAAM,QAAQ,qBAAqB,IAAI,OAAO,KAAK;AAAA,EAEnD,OAAO,OAAO,OAAO;AAAA,IACnB,MAAM;AAAA,IACN;AAAA,IACA,MAAM,OAAO;AAAA,IACb,OAAO,OAAO;AAAA,OACV,OAAO,cAAc,YAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,OACpE,OAAO,oBAAoB,YAAY,EAAE,iBAAiB,OAAO,gBAAgB,IAAI,CAAC;AAAA,IAC1F,cAAc,OAAO;AAAA,IACrB;AAAA,IACA;AAAA,OACI,OAAO,gBAAgB,YAAY,EAAE,aAAa,OAAO,YAAY,IAAI,CAAC;AAAA,OAC1E,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;AAAA,EACvC,CAAC;AAAA;;AC1FI,IAAM,kCAAkC;AAE/C,IAAM,kBAAkB;AACxB,IAAM,0BAA0B;AAChC,IAAM,0BAA0B;AAChC,IAAM,uBAAuB;AAC7B,IAAM,uBAAuB;AAC7B,IAAM,yBAAyB;AAC/B,IAAM,6BAA6B,KAAK;AACxC,IAAM,mCAAmC,MAAM;AAC/C,IAAM,gCAAgC;AA2B/B,SAAS,yBAAyB,CAAC,OAG9B;AAAA,EACV,OAAO,MAAM,uBAAuB,MAAM;AAAA;AAIrC,SAAS,iCAAiC,CAC/C,OAC2B;AAAA,EAC3B,MAAM,aAAa,MAAM,MAAM,OAC7B,CAAC,OAAO,SACN,QACA,uBACA,WAAW,KAAK,IAAI,IACpB,WAAW,KAAK,WAAW,IAC3B,WAAW,KAAK,WAAW,GAC7B,CACF;AAAA,EACA,OAAO;AAAA,IACL,QACE,0BACA,WAAW,MAAM,YAAY,IAC7B,aACA,mCAAmC,MAAM,QAAQ,EAAE;AAAA,IACrD,kBAAkB;AAAA,EACpB;AAAA;AAIK,SAAS,kCAAkC,CAChD,UAC2B;AAAA,EAC3B,MAAM,cAAc,EAAE,oBAAoB,iCAAiC;AAAA,EAC3E,IAAI,SAAS;AAAA,EACb,WAAW,WAAW,UAAU;AAAA,IAC9B,UAAU,sBAAsB,SAAS,WAAW;AAAA,EACtD;AAAA,EACA,OAAO,EAAE,QAAQ,kBAAkB,gCAAgC;AAAA;AAI9D,SAAS,oCAAoC,CAAC,OAGX;AAAA,EACxC,IAAI,MAAM,SAAS,SAAS;AAAA,IAAG,OAAO;AAAA,EAEtC,IAAI,iBAAiB;AAAA,EACrB,IAAI,gBAA+B;AAAA,EACnC,IAAI,kBAAkB,OAAO;AAAA,EAC7B,SAAS,QAAQ,MAAM,SAAS,SAAS,EAAG,QAAQ,GAAG,SAAS,GAAG;AAAA,IACjE,kBAAkB,mCAAmC,CAAC,MAAM,SAAS,MAAO,CAAC,EAAE;AAAA,IAC/E,IAAI,MAAM,SAAS,QAAQ,SAAS;AAAA,MAAQ;AAAA,IAE5C,MAAM,WAAW,KAAK,IAAI,MAAM,mBAAmB,cAAc;AAAA,IACjE,IAAI,YAAY,iBAAiB;AAAA,MAC/B,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,IACpB;AAAA,IACA,IAAI,kBAAkB,MAAM;AAAA,MAAkB;AAAA,EAChD;AAAA,EAEA,IAAI,kBAAkB;AAAA,IAAM,OAAO;AAAA,EAEnC,MAAM,uBAAuB,MAAM,SAAS,gBAAgB,IAAI;AAAA,EAChE,IAAI,yBAAyB;AAAA,IAAW,OAAO;AAAA,EAC/C,OAAO;AAAA,IACL,qBAAqB,MAAM,SAAS,MAAM,GAAG,aAAa;AAAA,IAC1D,kBAAkB,MAAM,SAAS,MAAM,aAAa;AAAA,IACpD;AAAA,EACF;AAAA;AAIK,SAAS,gCAAgC,CAAC,UAAiD;AAAA,EAChG,MAAM,QAAQ,CAAC,6BAA6B;AAAA,EAC5C,WAAW,WAAW,UAAU;AAAA,IAC9B,MAAM,KACJ,kBAAkB,WAAU,QAAQ,EAAE,WAAW,QAAQ,cAAc,QAAQ,QACjF;AAAA,IACA,QAAQ,MAAM,QAAQ,CAAC,MAAM,cAAc;AAAA,MACzC,MAAM,KAAK,GAAG,qBAAqB,SAAS,MAAM,SAAS,CAAC;AAAA,KAC7D;AAAA,IACD,MAAM,KAAK,cAAc;AAAA,EAC3B;AAAA,EACA,MAAM,KAAK,8BAA8B;AAAA,EACzC,OAAO,MAAM,KAAK;AAAA,CAAI;AAAA;AAGxB,SAAS,qBAAqB,CAC5B,SACA,aACQ;AAAA,EACR,IAAI,SAAS;AAAA,EACb,WAAW,QAAQ,QAAQ,OAAO;AAAA,IAChC,QAAQ,KAAK;AAAA,WACN;AAAA,WACA;AAAA,QACH,UAAU,WAAW,KAAK,IAAI;AAAA,QAC9B;AAAA,WACG;AAAA,QACH,UAAU;AAAA,QACV;AAAA,WACG;AAAA,QACH,UAAU,WAAW,oBAAoB,KAAK,OAAO,CAAC;AAAA,QACtD;AAAA,WACG;AAAA,QACH,UACE,uBACA,WAAW,KAAK,QAAQ,IACxB,WAAW,oBAAoB,KAAK,KAAK,CAAC,KACzC,KAAK,UAAU,qBACZ,WAAW,oBAAoB,KAAK,MAAM,CAAC,IAC3C,WAAW,KAAK,SAAS;AAAA,QAC/B;AAAA,WACG,QAAQ;AAAA,QACX,MAAM,OAAO,KAAK;AAAA,QAClB,UAAU,WACR,CAAC,KAAK,QAAQ,KAAK,QAAQ,KAAK,UAAU,KAAK,WAAW,KAAK,WAAW,EACvE,OAAO,CAAC,UAA2B,UAAU,SAAS,EACtD,KAAK,GAAG,CACb;AAAA,QACA,IAAI,QAAQ,SAAS,aAAa;AAAA,UAChC,IAAI,eAAe,KAAK,WAAW,KAAK,QAAQ,GAAG;AAAA,YACjD,UAAU;AAAA,UACZ,EAAO;AAAA,YACL,MAAM,cAAc,KAAK,IACvB,KAAK,WACL,4BACA,YAAY,kBACd;AAAA,YACA,YAAY,sBAAsB;AAAA,YAClC,UAAU,KAAK,KAAK,cAAc,eAAe;AAAA;AAAA,QAErD;AAAA,QACA;AAAA,MACF;AAAA;AAAA,EAEJ;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,oBAAoB,CAC3B,SACA,MACA,WACU;AAAA,EACV,MAAM,SAAS;AAAA,EACf,QAAQ,KAAK;AAAA,SACN;AAAA,MACH,OAAO,CAAC,GAAG,eAAe,WAAU,KAAK,IAAI,UAAU;AAAA,SACpD;AAAA,SACA;AAAA,MACH,OAAO,CAAC;AAAA,SACL;AAAA,MACH,OAAO,KAAK,QAAQ,SAAS,WACzB;AAAA,QACE,GAAG,iCAAiC,KAAK,2BAA2B,WAAU,KAAK,QAAQ,IAAI,YAAY,kBAAkB,WAAU,KAAK,QAAQ,IAAI,SAAS;AAAA,MACnK,IACA;AAAA,QACE,GAAG,8BAA8B,KAAK,eAAe,WAAU,KAAK,QAAQ,EAAE,aAAa,WAAU,KAAK,QAAQ,KAAK;AAAA,QACvH,GAAG,wBAAwB,WAAU,KAAK,QAAQ,WAAW;AAAA,QAC7D,GAAG,gCAAgC,WAAU,oBAAoB,KAAK,QAAQ,KAAK,CAAC;AAAA,QACpF,GAAG;AAAA,MACL;AAAA,SACD,QAAQ;AAAA,MACX,MAAM,OAAO,KAAK;AAAA,MAClB,MAAM,aAAa;AAAA,QACjB,eAAe,WAAU,QAAQ,EAAE;AAAA,QACnC,eAAe;AAAA,QACf,YAAY,WAAU,KAAK,MAAM;AAAA,QACjC,WAAW,WAAU,KAAK,MAAM;AAAA,QAChC,eAAe,KAAK;AAAA,QACpB,GAAI,KAAK,aAAa,YAAY,CAAC,IAAI,CAAC,cAAc,WAAU,KAAK,QAAQ,IAAI;AAAA,QACjF,GAAI,KAAK,cAAc,YAAY,CAAC,IAAI,CAAC,eAAe,WAAU,KAAK,SAAS,IAAI;AAAA,QACpF,GAAI,KAAK,gBAAgB,YACrB,CAAC,IACD,CAAC,iBAAiB,WAAU,KAAK,WAAW,IAAI;AAAA,MACtD;AAAA,MACA,OAAO,CAAC,GAAG,eAAe,WAAW,KAAK,GAAG,MAAM;AAAA,IACrD;AAAA,SACK,aAAa;AAAA,MAChB,MAAM,SACJ,KAAK,UAAU,qBACX,mBAAmB,oBAAoB,KAAK,MAAM,CAAC,IACnD,mBAAmB,KAAK,SAAS;AAAA,MACvC,OAAO;AAAA,QACL,GAAG,wBAAwB,WAAU,KAAK,UAAU,YAAY,WAAU,KAAK,QAAQ,aAAa,KAAK;AAAA,QACzG,GAAG,gCAAgC,WAAU,oBAAoB,KAAK,KAAK,CAAC;AAAA,QAC5E,GAAG,mBAAmB,WAAU,MAAM;AAAA,QACtC,GAAG;AAAA,MACL;AAAA,IACF;AAAA;AAAA;AAIJ,SAAS,kBAAkB,CAAC,OAAuB;AAAA,EACjD,IAAI,MAAM,UAAU;AAAA,IAA+B,OAAO;AAAA,EAC1D,OAAO,GAAG,MAAM,MAAM,GAAG,6BAA6B;AAAA,aAAiB,MAAM,SAAS;AAAA;AAGxF,SAAS,cAAc,CAAC,WAA+B,UAAuC;AAAA,EAC5F,IAAI,WAAW,YAAY,EAAE,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1D,OAAO,kCAAkC,KAAK,YAAY,EAAE;AAAA;AAG9D,SAAS,UAAU,CAAC,OAAuB;AAAA,EACzC,OAAO,KAAK,KAAK,IAAI,YAAY,EAAE,OAAO,KAAK,EAAE,aAAa,eAAe;AAAA;AAG/E,SAAS,UAAS,CAAC,OAAuB;AAAA,EACxC,OAAO,MACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,QAAQ,EACxB,WAAW,KAAK,QAAQ;AAAA;;AC/OtB,SAAS,8BAA8B,CAC5C,OAC2C;AAAA,EAC3C,QAAQ,YAAY,aAAa;AAAA,EACjC,IAAI,CAAC;AAAA,IAAY,OAAO;AAAA,EAExB,qCAAqC,YAAY,QAAQ;AAAA,EACzD,OAAO;AAAA,IACL;AAAA,MACE,MAAM;AAAA,MACN,OAAO,CAAC,EAAE,MAAM,QAAQ,MAAM,uBAAuB,WAAW,OAAO,EAAE,CAAC;AAAA,IAC5E;AAAA,IACA,GAAG;AAAA,EACL;AAAA;AAGF,SAAS,oCAAoC,CAC3C,YACA,UACM;AAAA,EACN,IAAI,WAAW,yBAAyB,KAAK,WAAW,QAAQ,KAAK,EAAE,WAAW,GAAG;AAAA,IACnF,MAAM,gBAAgB,YAAY,wBAAwB;AAAA,EAC5D;AAAA,EACA,IAAI,WAAW,wBAAwB,WAAW,iBAAiB;AAAA,IACjE,MAAM,gBAAgB,YAAY,mCAAmC;AAAA,EACvE;AAAA,EACA,IAAI,SAAS,WAAW,GAAG;AAAA,IACzB,MAAM,gBAAgB,YAAY,0BAA0B;AAAA,EAC9D;AAAA,EAEA,IAAI,cAAc,WAAW,uBAAuB;AAAA,EACpD,WAAW,WAAW,UAAU;AAAA,IAC9B,IAAI,QAAQ,cAAc,WAAW,aAAa,QAAQ,aAAa,WAAW,UAAU;AAAA,MAC1F,MAAM,gBAAgB,YAAY,wCAAwC;AAAA,IAC5E;AAAA,IACA,IAAI,QAAQ,QAAQ,aAAa;AAAA,MAC/B,MAAM,gBAAgB,YAAY,sCAAsC,QAAQ,KAAK;AAAA,IACvF;AAAA,IACA,eAAe;AAAA,EACjB;AAAA,EAEA,IAAI,SAAS,IAAI,SAAS,QAAQ;AAAA,IAChC,MAAM,gBAAgB,YAAY,wCAAwC;AAAA,EAC5E;AAAA,EACA,KAAK,SAAS,GAAG,EAAE,GAAG,OAAO,KAAK,WAAW,iBAAiB;AAAA,IAC5D,MAAM,gBAAgB,YAAY,4CAA4C;AAAA,EAChF;AAAA;AAGF,SAAS,sBAAsB,CAAC,SAAyB;AAAA,EACvD,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAU,OAAO;AAAA,IACjB;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA;AAGb,SAAS,eAAe,CAAC,YAA0C,QAAuB;AAAA,EACxF,OAAO,IAAI,MACT,oCAAoC,WAAW,mBAAmB,WAAW,aAAa,SAC5F;AAAA;AAGF,SAAS,UAAS,CAAC,OAAuB;AAAA,EACxC,OAAO,MACJ,WAAW,KAAK,OAAO,EACvB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,MAAM,EACtB,WAAW,KAAK,QAAQ,EACxB,WAAW,KAAK,QAAQ;AAAA;;ACtEtB,SAAS,eAAc,CAC5B,OACA,SACA,OACM;AAAA,EACN,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,IACjB,MAAM,IAAI,wBAAwB,GAAG,WAAW,0BAA0B;AAAA,EAC5E;AAAA;AAGK,SAAS,gBAAgB,CAAC,OAAyC;AAAA,EACxE,OACE,UAAS,KAAK,KACd,MAAM,SAAS,UACf,OAAO,MAAM,OAAO,YACpB,UAAS,MAAM,KAAK,KACpB,UAAS,MAAM,MAAM,KACrB,OAAO,MAAM,YAAY;AAAA;AAItB,SAAS,qBAAqB,CAAC,OAA8C;AAAA,EAClF,OACE,UAAS,KAAK,KACd,MAAM,SAAS,eACf,OAAO,MAAM,OAAO,YACpB,kBAAkB,MAAM,KAAK,KAC7B,UAAS,MAAM,KAAK,KACpB,UAAS,MAAM,MAAM,KACrB,OAAO,MAAM,WAAW;AAAA;AAIrB,SAAS,wBAAwB,CAAC,OAAiD;AAAA,EACxF,OACE,UAAS,KAAK,KACd,MAAM,SAAS,kBACf,OAAO,MAAM,OAAO,YACpB,UAAS,MAAM,KAAK,KACpB,UAAS,MAAM,QAAQ,MACtB,MAAM,aAAa,aAAa,OAAO,MAAM,aAAa;AAAA;AAIxD,SAAS,oBAAoB,CAAC,OAA6C;AAAA,EAChF,OACE,UAAS,KAAK,KACd,MAAM,SAAS,cACf,OAAO,MAAM,OAAO,YACpB,UAAS,MAAM,KAAK,KACpB,MAAM,QAAQ,MAAM,QAAQ,KAC5B,MAAM,QAAQ,MAAM,KAAK;AAAA;AAItB,SAAS,0BAA0B,CAAC,OAAqD;AAAA,EAC9F,IAAI,CAAC,qBAAqB,KAAK,GAAG;AAAA,IAChC,MAAM,IAAI,wBAAwB,8BAA8B;AAAA,EAClE;AAAA,EAEA,gBAAe,MAAM,IAAI,YAAY,IAAI;AAAA,EAEzC,IAAI,MAAM,MAAM,WAAW,GAAG;AAAA,IAC5B,MAAM,IAAI,wBAAwB,aAAa,MAAM,qCAAqC;AAAA,EAC5F;AAAA,EAEA,MAAM,UAAU,IAAI;AAAA,EACpB,MAAM,WAAW,IAAI;AAAA,EAErB,WAAW,QAAQ,MAAM,OAAO;AAAA,IAC9B,+BAA+B,MAAM,IAAI,IAAI;AAAA,IAE7C,IAAI,QAAQ,IAAI,KAAK,EAAE,GAAG;AAAA,MACxB,MAAM,IAAI,wBACR,+BAA+B,KAAK,oBAAoB,MAAM,MAChE;AAAA,IACF;AAAA,IACA,QAAQ,IAAI,KAAK,EAAE;AAAA,IAEnB,IAAI,SAAS,IAAI,KAAK,GAAG,GAAG;AAAA,MAC1B,MAAM,IAAI,wBACR,gCAAgC,KAAK,qBAAqB,MAAM,MAClE;AAAA,IACF;AAAA,IACA,SAAS,IAAI,KAAK,GAAG;AAAA,EACvB;AAAA;AAGK,SAAS,0BAA0B,CAAC,SAKT;AAAA,EAChC,WAAW,YAAY,QAAQ,WAAW;AAAA,IACxC,2BAA2B,QAAQ;AAAA,IAEnC,WAAW,WAAW,SAAS,UAAU;AAAA,MACvC,iCACE,SAAS,IACT,SACA,QAAQ,qBACR,OAAO,KAAK,SAAS,KAAK,CAC5B;AAAA,IACF;AAAA,IAEA,WAAW,QAAQ,SAAS,OAAO;AAAA,MACjC,IAAI,KAAK,SAAS,YAAY,CAAC,QAAQ,oBAAoB,IAAI,KAAK,OAAO,EAAE,GAAG;AAAA,QAC9E,MAAM,IAAI,wBACR,aAAa,SAAS,kCAAkC,KAAK,OAAO,wEACtE;AAAA,MACF;AAAA,MACA,IAAI,KAAK,SAAS,WAAW,CAAC,QAAQ,mBAAmB,IAAI,KAAK,UAAU,MAAM,EAAE,GAAG;AAAA,QACrF,MAAM,IAAI,wBACR,aAAa,SAAS,iCAAiC,KAAK,UAAU,MAAM,sEAC9E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,QAAQ;AAAA;AAGV,SAAS,qBAAqB,CAAC,QAIA;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKJ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKL;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAKZ;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAKf;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKtB;AAAA,EACpC,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,SAAS;AAAA,IACT,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,gCAAgC,CACvC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,CAAC,UAAS,OAAO,KAAK,QAAQ,SAAS,YAAY;AAAA,IACrD,MAAM,IAAI,wBAAwB,aAAa,8CAA8C;AAAA,EAC/F;AAAA,EACA,gCAAgC,YAAY,SAAS,qBAAqB,WAAW;AAAA;AAGvF,SAAS,+BAA+B,CACtC,YACA,SACA,qBACA,aACM;AAAA,EACN,IAAI,OAAO,QAAQ,eAAe,YAAY,CAAC,QAAQ,WAAW,KAAK,GAAG;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,oEACf;AAAA,EACF;AAAA,EAEA,MAAM,WAAW,oBAAoB,IAAI,QAAQ,UAAU;AAAA,EAC3D,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,IAAI,wBACR,aAAa,4CAA4C,QAAQ,oFACnE;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,OAAO,QAAQ,WAAW,YAAY;AAAA,IACxE,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,wCAChD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,SAAS,QAAQ,SAAS,SAAS;AAAA,IACrE,MAAM,IAAI,wBACR,aAAa,8BAA8B,QAAQ,uCACrD;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ,WAAW,aAAa,YAAY,SAAS,GAAG;AAAA,IAC1D,MAAM,IAAI,wBACR,aAAa,yBAAyB,QAAQ,sEAAsE,YAAY,KAAK,IAAI,IAC3I;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,YAAoB,MAAoC;AAAA,EAC9F,IAAI,CAAC,UAAS,IAAI,GAAG;AAAA,IACnB,MAAM,IAAI,wBAAwB,aAAa,uCAAuC;AAAA,EACxF;AAAA,EAEA,IAAI,KAAK,SAAS,QAAQ;AAAA,IACxB,2BAA2B,YAAY,IAAI;AAAA,IAC3C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,SAAS;AAAA,IACzB,4BAA4B,YAAY,IAAI;AAAA,IAC5C;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,gBAAgB;AAAA,IAChC,mCAAmC,YAAY,IAAI;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,SAAS,UAAU;AAAA,IAC1B,6BAA6B,YAAY,IAAI;AAAA,IAC7C;AAAA,EACF;AAAA,EAEA,MAAM,IAAI,wBAAwB,aAAa,gDAAgD;AAAA;AAGjG,SAAS,2BAA2B,CAAC,YAAoB,MAAyC;AAAA,EAChG,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,sDACf;AAAA,EACF;AAAA,EACA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,oCAAoC,KAAK,gCACxD;AAAA,EACF;AAAA,EACA,IAAI,CAAC,sBAAsB,KAAK,SAAS,GAAG;AAAA,IAC1C,MAAM,IAAI,wBACR,aAAa,+CAA+C,KAAK,MACnE;AAAA,EACF;AAAA,EACA,IAAI,KAAK,OAAO,KAAK,UAAU,IAAI;AAAA,IACjC,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gDAAgD,KAAK,UAAU,MACjH;AAAA,EACF;AAAA,EACA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,2BAA2B,KAAK,gCAC/C;AAAA,EACF;AAAA;AAGK,SAAS,8BAA8B,CAAC,QAKT;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKV;AAAA,EACpC,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,0BAA0B,CAAC,YAAoB,MAAwC;AAAA,EAC9F,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBAAwB,aAAa,+CAA+C;AAAA,EAChG;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,8BAA8B,KAAK,gCAClD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,iBAAiB,KAAK,IAAI,GAAG;AAAA,IAChC,MAAM,IAAI,wBACR,aAAa,8CAA8C,KAAK,MAClE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,KAAK,IAAI;AAAA,IAC5B,MAAM,IAAI,wBACR,aAAa,6BAA6B,KAAK,0CAA0C,KAAK,KAAK,MACrG;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,0BAA0B,KAAK,gCAC9C;AAAA,EACF;AAAA;AAGF,SAAS,kCAAkC,CACzC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,wDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,sCAAsC,KAAK,gCAC1D;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,yBAAyB,KAAK,YAAY,GAAG;AAAA,IAChD,MAAM,IAAI,wBACR,aAAa,sDAAsD,KAAK,MAC1E;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,aAAa,IAAI;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,qCAAqC,KAAK,kDAAkD,KAAK,aAAa,MAC7H;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,kCAAkC,KAAK,gCACtD;AAAA,EACF;AAAA;AAGF,SAAS,4BAA4B,CACnC,YACA,MACM;AAAA,EACN,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,KAAK,GAAG,KAAK,GAAG;AAAA,IAClD,MAAM,IAAI,wBACR,aAAa,kDACf;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,KAAK,QAAQ,YAAY,CAAC,KAAK,IAAI,KAAK,GAAG;AAAA,IACpD,MAAM,IAAI,wBACR,aAAa,gCAAgC,KAAK,gCACpD;AAAA,EACF;AAAA,EAEA,IAAI,CAAC,mBAAmB,KAAK,MAAM,GAAG;AAAA,IACpC,MAAM,IAAI,wBACR,aAAa,gDAAgD,KAAK,MACpE;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,OAAO,KAAK,OAAO,IAAI;AAAA,IAC9B,MAAM,IAAI,wBACR,aAAa,+BAA+B,KAAK,4CAA4C,KAAK,OAAO,MAC3G;AAAA,EACF;AAAA,EAEA,IAAI,KAAK,WAAW,aAAa,OAAO,KAAK,WAAW,YAAY;AAAA,IAClE,MAAM,IAAI,wBACR,aAAa,4BAA4B,KAAK,gCAChD;AAAA,EACF;AAAA;AAGF,SAAS,8BAA8B,CAAC,QAKF;AAAA,EACpC,IAAI,CAAC,UAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,KAAK,CAAC;AAAA,EAClD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,MAAM,IAAI,wBAAwB,kCAAkC,OAAO,QAAQ,UAAU;AAAA,IAC/F;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,QACA,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGhB,SAAS,0CAA0C,CAAC,QAMd;AAAA,EACpC,IAAI,CAAC,UAAS,OAAO,KAAK,GAAG;AAAA,IAC3B,MAAM,IAAI,wBAAwB,UAAU,OAAO,wBAAwB;AAAA,EAC7E;AAAA,EAEA,MAAM,WAAW,IAAI,IAAI,OAAO,KAAK,OAAO,QAAQ,CAAC;AAAA,EACrD,WAAW,WAAW,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAAA,MAC1B,MAAM,IAAI,wBAAwB,yBAAyB,OAAO,QAAQ,UAAU;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,QAAQ,GAAG;AAAA,IAC9D,MAAM,aAAa,OAAO,MAAM;AAAA,IAChC,IAAI,eAAe,WAAW;AAAA,MAC5B,IAAI,CAAC,OAAO,WAAW,oCAAoC,KAAK,GAAG;AAAA,QACjE,MAAM,IAAI,wBACR,kCAAkC,OAAO,QAAQ,UACnD;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,yBACE,gCAAgC,KAAK,GACrC,YACA,GAAG,OAAO,QAAQ,WAClB,OAAO,cACT;AAAA,MACA,OAAO,OAAO;AAAA,MACd,MAAM,0BAA0B,KAAK;AAAA;AAAA,EAEzC;AAAA,EAEA,OAAO,OAAO;AAAA;AAGT,SAAS,yBAAyB,CAAC,OAAkD;AAAA,EAC1F,OAAO,UAAS,KAAK,KAAK,YAAY;AAAA;AAGjC,SAAS,+BAA+B,CAAC,OAA6B;AAAA,EAC3E,OAAQ,0BAA0B,KAAK,IAAI,MAAM,SAAS;AAAA;AAGrD,SAAS,mCAAmC,CAAC,OAAyB;AAAA,EAC3E,OAAO,CAAC,0BAA0B,KAAK,KAAK,MAAM,aAAa;AAAA;AAGjE,SAAS,yBAAyB,CAAC,OAAyC;AAAA,EAC1E,IAAI,iBAAiB,yBAAyB;AAAA,IAC5C,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,OAAO;AAAA,IAC1B,OAAO,IAAI,wBAAwB,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,IAAI,wBAAwB,OAAO,KAAK,GAAG,EAAE,OAAO,MAAM,CAAC;AAAA;AAGpE,SAAS,SAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;ACliBrE,SAAS,8BAA8B,CAAC,QAKxB;AAAA,EACrB,MAAM,QAAQ,+BAA+B,MAAM;AAAA,EACnD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,+BAA+B,CAAC,QAKzB;AAAA,EACrB,MAAM,QAAQ,gCAAgC,MAAM;AAAA,EACpD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,UAAU;AAAA,IACxB;AAAA,IACA,MAAM,aAAa,OAAO,2BAA2B,OAAO,UAAU;AAAA,IACtE,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,qBAAqB,CAAC,QAIf;AAAA,EACrB,MAAM,QAAQ,sBAAsB,MAAM;AAAA,EAC1C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,SAAS;AAAA,IACvB;AAAA,IACA,MAAM,aAAa,OAAO,SAAS;AAAA,IACnC,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,yBAAyB,CAAC,QAKnB;AAAA,EACrB,MAAM,QAAQ,0BAA0B,MAAM;AAAA,EAC9C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,0BAA0B,CAAC,QAKpB;AAAA,EACrB,MAAM,QAAQ,2BAA2B,MAAM;AAAA,EAC/C,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,KAAK;AAAA,IACnB;AAAA,IACA,MAAM,aAAa,OAAO,qBAAqB,OAAO,KAAK;AAAA,IAC3D,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,iCAAiC,CAAC,QAK3B;AAAA,EACrB,MAAM,QAAQ,kCAAkC,MAAM;AAAA,EACtD,OAAO,+BAA+B;AAAA,IACpC,OAAO,OAAO,aAAa;AAAA,IAC3B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,oCAAoC,CAAC,QAK9B;AAAA,EACrB,MAAM,QAAQ,qCAAqC,MAAM;AAAA,EACzD,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2CAA2C,CAAC,QAKrC;AAAA,EACrB,MAAM,QAAQ,4CAA4C,MAAM;AAAA,EAChE,OAAO,2CAA2C;AAAA,IAChD,UAAU,OAAO,aAAa;AAAA,IAC9B;AAAA,IACA,MAAM,aAAa,OAAO,6BAA6B,OAAO,aAAa;AAAA,IAC3E,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGI,SAAS,2BAA2B,CAAC,QAGrB;AAAA,EACrB,MAAM,WAAsC;AAAA,IAC1C,QAAQ,kBAAkB,OAAO,QAAQ,wBAAwB;AAAA,EACnE;AAAA,EAEA,IAAI,OAAO,WAAW,OAAO,QAAQ,SAAS,QAAQ;AAAA,IACpD,SAAS,UAAU,kBAAkB,OAAO,SAAS,yBAAyB;AAAA,EAChF;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,8BAA8B,CAAC,QAKjB;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,WAAW,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC5D,SAAS,WAAW,yBAAyB;AAAA,MAC3C;AAAA,MACA,OAAO,OAAO,MAAM;AAAA,MACpB,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,0CAA0C,CAAC,QAK7B;AAAA,EACrB,MAAM,WAAsC,CAAC;AAAA,EAE7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,KAAK,GAAG;AAAA,IAC3D,IAAI,UAAU,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IAEA,SAAS,WAAW,yBAAyB;AAAA,MAC3C,QAAQ,gCAAgC,OAAO,SAAS,QAAQ;AAAA,MAChE;AAAA,MACA,MAAM,GAAG,OAAO,QAAQ;AAAA,MACxB,gBAAgB,OAAO;AAAA,IACzB,CAAC;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,wBAAwB,CAAC,QAKpB;AAAA,EACZ,IAAI,kBAAkB,OAAO,MAAM,GAAG;AAAA,IACpC,IAAI,CAAC,UAAS,OAAO,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,OAAO,IAAI;AAAA,IACnC;AAAA,IAEA,OAAO;AAAA,MACL,cAAc,OAAO,OAAO,MAAM,YAAY;AAAA,MAC9C,WAAW,OAAO,OAAO,MAAM,SAAS;AAAA,IAC1C;AAAA,EACF;AAAA,EAEA,OAAO,oBAAoB;AAAA,IACzB,QAAQ,OAAO;AAAA,IACf,OAAO,OAAO;AAAA,IACd,MAAM,OAAO;AAAA,IACb,gBAAgB,OAAO;AAAA,EACzB,CAAC;AAAA;AAGH,SAAS,mBAAmB,CAAC,QAKf;AAAA,EACZ,QAAQ,QAAQ,OAAO,MAAM,mBAAmB;AAAA,EAEhD,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,IAAI,WAAW,UAAU,WAAW,aAAa;AAAA,MAC/C,IAAI,iBAAiB,MAAM;AAAA,QACzB,OAAO,aAAa,OAAO,IAAI;AAAA,MACjC;AAAA,MACA,OAAO,kBAAkB,OAAO,IAAI;AAAA,IACtC;AAAA,IAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,QAAQ;AAAA,IAC1B,OAAO,kBAAkB,OAAO,IAAI;AAAA,EACtC;AAAA,EAEA,IAAI,OAAO,SAAS,SAAS;AAAA,IAC3B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AAAA,MACzB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,OAAO,MAAM,IAAI,CAAC,MAAM,UACtB,oBAAoB;AAAA,MAClB,QAAQ,OAAO;AAAA,MACf,OAAO;AAAA,MACP,MAAM,GAAG,QAAQ;AAAA,MACjB;AAAA,IACF,CAAC,CACH;AAAA,EACF;AAAA,EAEA,IAAI,OAAO,SAAS,OAAO;AAAA,IACzB,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,oBAAoB;AAAA,QAClC,QAAQ,OAAO;AAAA,QACf,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,UAAU;AAAA,IAC5B,IAAI,CAAC,UAAS,KAAK,GAAG;AAAA,MACpB,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IAEA,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,SAAS,UAAU,OAAO,QAAQ,OAAO,UAAU,GAAG;AAAA,MAChE,MAAM,aAAa,MAAM;AAAA,MACzB,IAAI,eAAe,WAAW;AAAA,QAC5B;AAAA,MACF;AAAA,MAEA,IAAI,eAAe,MAAM;AAAA,QACvB,SAAS,WAAW;AAAA,QACpB;AAAA,MACF;AAAA,MAEA,SAAS,WAAW,oBAAoB;AAAA,QACtC,QAAQ,MAAM;AAAA,QACd,OAAO;AAAA,QACP,MAAM,GAAG,QAAQ;AAAA,QACjB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,SAAS,gBAAgB;AAAA,IAClC,MAAM,YAAY,eAAe,IAAI,OAAO,WAAW;AAAA,IACvD,IAAI,CAAC,WAAW;AAAA,MACd,MAAM,IAAI,wBACR,gCAAgC,OAAO,mBAAmB,MAC5D;AAAA,IACF;AAAA,IAEA,OAAO,oBAAoB;AAAA,MACzB,QAAQ,UAAU;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,kBAAkB,OAAO,IAAI;AAAA;AAGtC,SAAS,iBAAiB,CAAC,OAAgB,MAAyB;AAAA,EAClE,IAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AAAA,IAC7E,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAO,UAAU,UAAU;AAAA,IAC7B,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAAA,MAC3B,MAAM,gBAAgB,IAAI;AAAA,IAC5B;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,iBAAiB,MAAM;AAAA,IACzB,OAAO,aAAa,OAAO,IAAI;AAAA,EACjC;AAAA,EAEA,IAAI,MAAM,QAAQ,KAAK,GAAG;AAAA,IACxB,OAAO,MAAM,IAAI,CAAC,MAAM,UAAU,kBAAkB,MAAM,GAAG,QAAQ,QAAQ,CAAC;AAAA,EAChF;AAAA,EAEA,IAAI,cAAc,KAAK,GAAG;AAAA,IACxB,MAAM,WAAsC,CAAC;AAAA,IAC7C,YAAY,KAAK,UAAU,OAAO,QAAQ,KAAK,GAAG;AAAA,MAChD,SAAS,OAAO,kBAAkB,OAAO,GAAG,QAAQ,KAAK;AAAA,IAC3D;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,gBAAgB,IAAI;AAAA;AAG5B,SAAS,YAAY,CAAC,OAAa,MAAsB;AAAA,EACvD,IAAI,OAAO,MAAM,MAAM,QAAQ,CAAC,GAAG;AAAA,IACjC,MAAM,gBAAgB,IAAI;AAAA,EAC5B;AAAA,EAEA,OAAO,MAAM,YAAY;AAAA;AAG3B,SAAS,eAAe,CAAC,MAAuC;AAAA,EAC9D,OAAO,IAAI,wBAAwB,UAAU,0CAA0C;AAAA;AAGzF,SAAS,SAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;;;AZnSrE,MAAM,sBAAyD;AAAA,EACvC;AAAA,EAA7B,WAAW,CAAkB,cAAiD;AAAA,IAAjD;AAAA;AAAA,OAEvB,SAAQ,CAAC,OAA6E;AAAA,IAC1F,6BAA6B,KAAK;AAAA,IAClC,MAAM,WAAW,KAAK,aAAa,YAAY,UAAU,QAAQ,MAAM,UAAU;AAAA,IACjF,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,wBAAwB,4BAA4B,MAAM,aAAa;AAAA,IACnF;AAAA,IAEA,MAAM,SAAS,MAAM,oBAAoB;AAAA,MACvC,mBAAmB,KAAK;AAAA,MACxB,WAAW,KAAK,aAAa;AAAA,MAC7B;AAAA,MACA,gBAAgB,KAAK,aAAa,YAAY,SAAS,kBAAkB;AAAA,MACzE,SAAS,KAAK,aAAa;AAAA,MAC3B,OAAO,KAAK,aAAa,OAAO;AAAA,MAChC,QAAQ,KAAK,aAAa;AAAA,MAC1B,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,YAAY,MAAM;AAAA,QAClB,SAAS,MAAM,OAAO;AAAA,QACtB,WAAW;AAAA,MACb;AAAA,MACA,mBAAmB,CAAC;AAAA,MACpB,UAAU,MAAM;AAAA,MAChB,YAAY,MAAM;AAAA,MAClB,iBAAiB,OAAO,aAAa,UACnC,+BAA+B;AAAA,QAC7B,IAAI;AAAA,QACJ,WAAW,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,MAAM;AAAA,QACtD,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,WAAW,KAAK,aAAa;AAAA,UAC7B,QAAQ,MAAM;AAAA,UACd,eAAe,MAAM;AAAA,QACvB;AAAA,MACF,CAAC;AAAA,IACL,CAAC;AAAA,IACD,IAAI,CAAC,OAAO,SAAS;AAAA,MACnB,MAAM,iCAAiC,KAAK,cAAc,OAAO,OAAO,KAAK;AAAA,IAC/E;AAAA,IACA,OAAO;AAAA;AAEX;AAGA,eAAsB,mBAAmB,CACvC,OACmC;AAAA,EACnC,MAAM,UAAU,mBAAmB,KAAK;AAAA,EACxC,MAAM,YAAY,MAAM,mBAAmB,OAAO,OAAO;AAAA,EACzD,IAAI,CAAC,UAAU;AAAA,IAAS,OAAO,0BAA0B,UAAU,GAAG;AAAA,EACtE,OAAO,mBAAmB,OAAO,SAAS;AAAA;AAG5C,SAAS,kBAAkB,CAAC,OAAsD;AAAA,EAChF,MAAM,QAAQ,MAAM,SAAS,CAAC;AAAA,EAC9B,OAAO;AAAA,IACL,OAAO,qBAAqB,MAAM,KAAK;AAAA,IACvC,UAAU,sBAAsB;AAAA,MAC9B,UAAU,MAAM;AAAA,MAChB;AAAA,MACA,gBAAgB,MAAM;AAAA,IACxB,CAAC;AAAA,EACH;AAAA;AAGF,eAAe,kBAAkB,CAC/B,OACA,SAC+B;AAAA,EAC/B,MAAM,eAAe,MAAM,QAAQ;AAAA,EACnC,IAAI,CAAC,cAAc;AAAA,IACjB,MAAM,IAAI,wBAAwB,gDAAgD;AAAA,EACpF;AAAA,EAEA,MAAM,WAAW,MAAM,aAAa,QAAQ;AAAA,IAC1C,WAAW,MAAM;AAAA,IACjB,IAAI,QAAQ;AAAA,EACd,CAAC;AAAA,EACD,IAAI,UAAU;AAAA,IACZ,0BAA0B,UAAU,MAAM,SAAS,IAAI,QAAQ,QAAQ;AAAA,IACvE,OAAO,EAAE,KAAK,UAAU,SAAS,MAAM;AAAA,EACzC;AAAA,EAEA,MAAM,YAAY,MAAM,MAAM,gBAAgB,QAAQ,YAAW,KAAK,QAAQ,KAAK;AAAA,EACnF,MAAM,WAAW,IAAI;AAAA,EACrB,IAAI;AAAA,IACF,OAAO,MAAM,MAAM,QAAQ,YACzB,OAAO,OAAsC;AAAA,MAC3C,MAAM,QAAQ,MAAM,GAAG,cAAc,QAAQ;AAAA,QAC3C,WAAW,MAAM;AAAA,QACjB,IAAI,QAAQ;AAAA,MACd,CAAC;AAAA,MACD,IAAI,OAAO;AAAA,QACT,0BAA0B,OAAO,MAAM,SAAS,IAAI,QAAQ,QAAQ;AAAA,QACpE,OAAO,EAAE,KAAK,OAAO,SAAS,MAAM;AAAA,MACtC;AAAA,MACA,IAAI,CAAC,GAAG,cAAc;AAAA,QACpB,MAAM,IAAI,wBAAwB,gDAAgD;AAAA,MACpF;AAAA,MAEA,MAAM,GAAG,WAAW,OAAO,SAAS;AAAA,MACpC,MAAM,MAAM,MAAM,GAAG,aAAa,MAAM;AAAA,QACtC,WAAW,MAAM;AAAA,QACjB,IAAI,QAAQ;AAAA,QACZ,aAAa,UAAU;AAAA,QACvB,YAAY,MAAM,SAAS;AAAA,QAC3B,OAAO,QAAQ;AAAA,QACf;AAAA,QACA,mBAAmB,MAAM;AAAA,MAC3B,CAAC;AAAA,MACD,OAAO,EAAE,KAAK,WAAW,UAAU,SAAS,KAAK;AAAA,OAEnD,EAAE,WAAW,eAAe,CAC9B;AAAA,IACA,OAAO,OAAO;AAAA,IACd,IAAI,EAAE,iBAAiB;AAAA,MAAmB,MAAM;AAAA,IAChD,MAAM,QAAQ,MAAM,aAAa,QAAQ;AAAA,MACvC,WAAW,MAAM;AAAA,MACjB,IAAI,QAAQ;AAAA,IACd,CAAC;AAAA,IACD,IAAI,CAAC;AAAA,MAAO,MAAM;AAAA,IAClB,0BAA0B,OAAO,MAAM,SAAS,IAAI,QAAQ,QAAQ;AAAA,IACpE,OAAO,EAAE,KAAK,OAAO,SAAS,MAAM;AAAA;AAAA;AAIxC,eAAe,kBAAkB,CAC/B,OACA,WACmC;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,OAAO,MAAM,MAAM,MAAM,QAAQ;AAAA,MACrC,WAAW,MAAM;AAAA,MACjB,MAAM;AAAA,QACJ;AAAA,aACM,MAAM,eAAe,YAAY,CAAC,IAAI,EAAE,IAAI,MAAM,WAAW;AAAA,UACjE,MAAM;AAAA,UACN,SAAS,EAAE,OAAO,UAAU,IAAI,GAAG;AAAA,aAC/B,MAAM,aAAa,YAAY,CAAC,IAAI,EAAE,UAAU,MAAM,SAAS;AAAA,QACrE;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,MAAM,KAAK;AAAA,IACX,OAAO,OAAO;AAAA,IACd,MAAM,2BAA2B,OAAO,UAAU,KAAK,KAAK;AAAA,IAC5D,MAAM;AAAA;AAAA,EAGR,MAAM,MAAM,OAAO,KACjB;AAAA,IACE,QAAQ;AAAA,MACN;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA,UACP,YAAY,UAAU,IAAI;AAAA,UAC1B,OAAO,UAAU,IAAI;AAAA,UACrB,UAAU,UAAU,SAAS,YAAY;AAAA,aACrC,KAAK,KAAK,EAAE,OAAO,IAAI,GAAG,IAAI,CAAC;AAAA,aAC/B,MAAM,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,MAAM,OAAO;AAAA,QAC/D;AAAA,MACF;AAAA,IACF;AAAA,IACA,eAAe,UAAU,UAAU;AAAA,EACrC,GACA,EAAE,QAAQ,OAAO,CACnB;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,UAAU,IAAI;AAAA,IAC1B,OAAO,UAAU,IAAI;AAAA,IACrB,UAAU,UAAU,SAAS,YAAY;AAAA,IACzC,OAAO,KAAK;AAAA,IACZ,SAAS;AAAA,EACX;AAAA;AAGF,eAAe,0BAA0B,CACvC,OACA,KACA,OACe;AAAA,EACf,MAAM,eAAe,MAAM,QAAQ;AAAA,EACnC,IAAI,CAAC,cAAc;AAAA,IACjB,MAAM,IAAI,wBAAwB,gDAAgD;AAAA,EACpF;AAAA,EACA,MAAM,UAAU,mBAAmB,OAAO;AAAA,IACxC,cAAc;AAAA,IACd,aAAa;AAAA,IACb,SAAS,EAAE,YAAY,IAAI,YAAY,OAAO,IAAI,GAAG;AAAA,EACvD,CAAC;AAAA,EACD,MAAM,aAAa,OAAO;AAAA,IACxB,WAAW,MAAM;AAAA,IACjB,IAAI,IAAI;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,EACT,CAAC;AAAA,EACD,iBAAiB,MAAM,mBAAmB,OAAO;AAAA,IAC/C,WAAW,MAAM;AAAA,IACjB,SAAS;AAAA,IACT,KAAK,EAAE,OAAO,IAAI,IAAI,YAAY,IAAI,WAAW;AAAA,IACjD;AAAA,EACF,CAAC;AAAA;AAGH,SAAS,oBAAoB,CAAC,OAAmC;AAAA,EAC/D,IAAI,UAAU;AAAA,IAAW,OAAO,OAAO,YAAW;AAAA,EAClD,IAAI,CAAC,MAAM,KAAK,GAAG;AAAA,IACjB,MAAM,IAAI,wBAAwB,0CAA0C;AAAA,EAC9E;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,yBAAyB,CAChC,UACA,YACA,OACM;AAAA,EACN,IAAI,SAAS,eAAe,cAAc,CAAC,kBAAkB,SAAS,OAAO,KAAK,GAAG;AAAA,IACnF,MAAM,IAAI,wBACR,wBAAwB,SAAS,sDACnC;AAAA,EACF;AAAA;AAGF,SAAS,yBAAyB,CAAC,UAAuD;AAAA,EACxF,OAAO;AAAA,IACL,YAAY,SAAS;AAAA,IACrB,OAAO,SAAS;AAAA,IAChB,WAAW,SAAS,YAAY,SAAS,WAAW,YAAY;AAAA,IAChE,SAAS;AAAA,EACX;AAAA;AAGF,SAAS,4BAA4B,CAAC,OAAgD;AAAA,EACpF,eAAe,MAAM,YAAY,aAAa;AAAA,EAC9C,eAAe,MAAM,OAAO,iBAAiB;AAAA,EAC7C,eAAe,MAAM,YAAY,sBAAsB;AAAA,EACvD,eAAe,MAAM,OAAO,SAAS,0BAA0B;AAAA,EAC/D,eAAe,MAAM,eAAe,yBAAyB;AAAA;AAG/D,eAAe,gCAAgC,CAC7C,cACA,OACA,OACe;AAAA,EACf,MAAM,MAAM,MAAM,aAAa,QAAQ,cAAc,QAAQ;AAAA,IAC3D,WAAW,aAAa;AAAA,IACxB,IAAI;AAAA,EACN,CAAC;AAAA,EACD,MAAM,YAAY,MACd,MAAM,aAAa,QAAQ,WAAW,QAAQ;AAAA,IAC5C,WAAW,aAAa;AAAA,IACxB,IAAI,IAAI;AAAA,EACV,CAAC,IACD;AAAA,EACJ,IACE,CAAC,aACD,UAAU,OAAO,SAAS,MAAM,OAAO,QACvC,UAAU,OAAO,YAAY,MAAM,OAAO,WAC1C,UAAU,kBAAkB,MAAM,iBAClC,UAAU,gBAAgB,WAC1B;AAAA,IACA,MAAM,IAAI,wBACR,wBAAwB,4DAC1B;AAAA,EACF;AAAA;AAGF,SAAS,cAAc,CAAC,OAAe,OAAqB;AAAA,EAC1D,IAAI,CAAC,MAAM,KAAK;AAAA,IAAG,MAAM,IAAI,wBAAwB,UAAU,0BAA0B;AAAA;;;Aa7T3F,eAAsB,kBAAkB,CACtC,SACA,WACA,UACA,UAAqC,CAAC,GACH;AAAA,EACnC,iBAAiB,SAAS,EAAE,MAAM,gBAAgB,YAAY,SAAS,GAAG,CAAC;AAAA,EAC3E,MAAM,oBAAoB,UAAU,cAChC,MAAM,0BAA0B;AAAA,IAC9B,MAAM,QAAQ,QAAQ;AAAA,IACtB,WAAW,QAAQ;AAAA,IACnB,WAAW,UAAU;AAAA,EACvB,CAAC,IACD,CAAC;AAAA,EACL,OAAO,oBAAoB;AAAA,IACzB,mBAAmB;AAAA,IACnB,WAAW,QAAQ;AAAA,IACnB;AAAA,IACA,gBAAgB,QAAQ,SAAS,kBAAkB;AAAA,IACnD,SAAS,QAAQ;AAAA,IACjB,OAAO,QAAQ,OAAO;AAAA,IACtB,QAAQ,QAAQ;AAAA,IAChB,OAAO,QAAQ;AAAA,IACf,OAAO,QAAQ;AAAA,IACf,QAAQ,QAAQ;AAAA,IAChB;AAAA,IACA,iBAAiB,OAAO,aAAa,UAAU;AAAA,MAC7C,MAAM,SAAS,MAAM,sBACnB,QAAQ,QAAQ,YAChB,gCAAgC;AAAA,QAC9B;AAAA,QACA,sBAAsB,QAAQ;AAAA,MAChC,CAAC,CACH;AAAA,MACA,OAAO,+BAA+B;AAAA,QACpC,IAAI;AAAA,QACJ,WAAW,EAAE,MAAM,YAAY,IAAI,SAAS,IAAI,MAAM;AAAA,QACtD,QAAQ,EAAE,MAAM,aAAa,QAAQ,OAAO;AAAA,MAC9C,CAAC;AAAA;AAAA,EAEL,CAAC;AAAA;;;ACiBI,SAAS,sBAAsB,CACpC,SACA,WACA,QACkB;AAAA,EAClB,MAAM,UAAU,CAAC,eACf,UAAU,QAAQ,eAAe,EAAE,MAAM,gBAAgB,WAAW,CAAC;AAAA,EACvE,MAAM,mBAAmB,CAAC,eACxB,QAAQ,UAAU,MAAM,CAAC,QAAQ,iBAAiB,OAAO,QAAQ,UAAU,MAAM;AAAA,EACnF,MAAM,aAAa,MACjB,OACG,KAAK,EACL,OAAO,CAAC,aAAa,QAAQ,SAAS,EAAE,CAAC,EACzC,IAAI,CAAC,aAAa,SAAS,EAAE;AAAA,EAClC,MAAM,sBAAsB,OAAO,UAAqD;AAAA,IACtF,MAAM,MACH,MAAM,QAAQ,QAAQ,cAAc,QAAQ;AAAA,MAC3C,WAAW,QAAQ;AAAA,MACnB,IAAI;AAAA,IACN,CAAC,KAAM;AAAA,IACT,OAAO,OAAO,mBAAmB,QAAQ,eAAe,GAAG,KAAK,iBAAiB,IAAI,UAAU,IAC3F,MACA;AAAA;AAAA,EAEN,MAAM,SAAS,OAAO,UAAmD;AAAA,IACvE,MAAM,MAAM,MAAM,oBAAoB,KAAK;AAAA,IAC3C,OAAO,MAAM,kBAAkB,SAAS,GAAG,IAAI;AAAA;AAAA,EAEjD,MAAM,YAAY,OAChB,OACA,QAAmC,CAAC,MACU;AAAA,IAC9C,MAAM,UAAU,QAAQ,QAAQ;AAAA,IAChC,IAAI,CAAC,WAAW,CAAE,MAAM,oBAAoB,KAAK;AAAA,MAAI,OAAO;AAAA,IAC5D,MAAM,SAAS,MAAM,QAAQ,MAAM,KAAK;AAAA,MACtC,WAAW,QAAQ;AAAA,SAChB;AAAA,MACH,eAAe;AAAA,IACjB,CAAC;AAAA,IACD,OAAO;AAAA,SACF;AAAA,MACH,OAAO,MAAM,wBAAwB,SAAS,SAAS,OAAO,KAAK;AAAA,IACrE;AAAA;AAAA,EAGF,OAAO;AAAA,IACL,MAAM,MAAM,OAAO,KAAK,EAAE,OAAO,CAAC,aAAa,QAAQ,SAAS,EAAE,CAAC;AAAA,IACnE,SAAS,CAAC,eAAe;AAAA,MACvB,MAAM,WAAW,OAAO,QAAQ,UAAU;AAAA,MAC1C,OAAO,YAAY,QAAQ,UAAU,IAAI,WAAW;AAAA;AAAA,IAEtD,SAAS,CAAC,UAAU,YAAY,mBAAmB,SAAS,WAAW,UAAU,OAAO;AAAA,IACxF,aAAa,OAAO,UAAU;AAAA,MAC5B,MAAM,WAAW,OAAO,QAAQ,MAAM,UAAU;AAAA,MAChD,IAAI,CAAC,UAAU;AAAA,QACb,MAAM,IAAI,wBAAwB,4BAA4B,MAAM,aAAa;AAAA,MACnF;AAAA,MACA,OAAO,mBAAmB,SAAS,WAAW,UAAU,KAAK;AAAA;AAAA,IAE/D,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,MAAM,OAAO,QAAQ,CAAC,MAAM;AAAA,QAC1B,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE;AAAA,QAC1D,MAAM,SAAS,MAAM,QAAQ,KAAK;AAAA,UAChC,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,aAAa,QAAQ,gBAAgB,WAAW,IAAI;AAAA,QACtD,CAAC;AAAA,QACD,OAAO;AAAA,aACF;AAAA,UACH,MAAM,MAAM,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,kBAAkB,SAAS,GAAG,CAAC,CAAC;AAAA,QACnF;AAAA;AAAA,MAEF,YAAY,OAAO,gBAAgB;AAAA,QACjC,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC,WAAW,YAAY,WAAW;AAAA,UAAG,OAAO,EAAE,MAAM,CAAC,EAAE;AAAA,QAC5D,MAAM,aAAa,YAAY,OAAO,gBAAgB;AAAA,QACtD,IAAI,WAAW,WAAW;AAAA,UAAG,OAAO,EAAE,MAAM,CAAC,EAAE;AAAA,QAC/C,MAAM,SAAS,MAAM,QAAQ,wBAAwB;AAAA,UACnD,WAAW,QAAQ;AAAA,UACnB,aAAa;AAAA,QACf,CAAC;AAAA,QACD,OAAO;AAAA,UACL,MAAM,MAAM,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,kBAAkB,SAAS,GAAG,CAAC,CAAC;AAAA,QACnF;AAAA;AAAA,MAEF;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,SAAS,OAAO,mBAAmB;AAAA,QACjC,MAAM,eACH,MAAM,QAAQ,QAAQ,uBAAuB,QAAQ;AAAA,UACpD,WAAW,QAAQ;AAAA,UACnB,IAAI;AAAA,QACN,CAAC,KAAM;AAAA,QACT,OAAO,gBACL,4BAA4B,QAAQ,eAAe,YAAY,KAC/D,iBAAiB,aAAa,UAAU,IACtC,eACA;AAAA;AAAA,MAEN,MAAM,CAAC,QAAQ,CAAC,MAAM;AAAA,QACpB,MAAM,UAAU,QAAQ,QAAQ;AAAA,QAChC,IAAI,CAAC;AAAA,UAAS,OAAO,QAAQ,QAAQ,EAAE,eAAe,CAAC,GAAG,SAAS,OAAO,OAAO,EAAE,CAAC;AAAA,QACpF,OAAO,QAAQ,KAAK;AAAA,UAClB,WAAW,QAAQ;AAAA,aAChB;AAAA,UACH,aAAa,QAAQ,gBAAgB,WAAW,IAAI;AAAA,QACtD,CAAC;AAAA;AAAA,IAEL;AAAA,EACF;AAAA;AAGF,eAAe,uBAAuB,CACpC,SACA,SACA,OACyC;AAAA,EACzC,MAAM,aAAa,MAAM,QAAQ,IAC/B,MAAM,IAAI,CAAC,SACT,KAAK,aAAa,UACd,QAAQ,WAAW,eAAe;AAAA,IAChC,WAAW,QAAQ;AAAA,IACnB,WAAW,KAAK;AAAA,EAClB,CAAC,IACD,IACN,CACF;AAAA,EACA,MAAM,kBAAkB,WAAW,OACjC,CAAC,cAAuD,cAAc,IACxE;AAAA,EACA,IAAI,gBAAgB,WAAW;AAAA,IAAG,OAAO;AAAA,EAEzC,MAAM,eAAe,gBAAgB,IAAI,CAAC,cAAc,UAAU,WAAW;AAAA,EAC7E,OAAO,QAAQ,SAAS,MAAM,QAAQ,IAAI;AAAA,IACxC,sBAAsB;AAAA,MACpB,SAAS,QAAQ,QAAQ;AAAA,MACzB,WAAW,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,IACD,sBAAsB;AAAA,MACpB,SAAS,QAAQ,QAAQ;AAAA,MACzB,WAAW,QAAQ;AAAA,MACnB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAAA,EACD,MAAM,0BAA0B,IAAI,IAClC,gBAAgB,IAAI,CAAC,WAAW,UAAU;AAAA,IACxC,UAAU;AAAA,IACV,EAAE,OAAO,OAAO,QAAQ,MAAM,MAAM,OAAO;AAAA,EAC7C,CAAC,CACH;AAAA,EAEA,OAAO,MAAM,IAAI,CAAC,MAAM,UAAU;AAAA,IAChC,MAAM,YAAY,WAAW;AAAA,IAC7B,IAAI,CAAC;AAAA,MAAW,OAAO;AAAA,IACvB,MAAM,aAAa,wBAAwB,IAAI,UAAU,WAAW;AAAA,IACpE,OAAO;AAAA,SACF;AAAA,MACH,gBAAgB,2BACd,WACA,YAAY,OACZ,YAAY,UAAU,YAAY,YAAY,WAAW,IAC3D;AAAA,IACF;AAAA,GACD;AAAA;AAGH,SAAS,0BAA0B,CACjC,WACA,OACA,MAC0B;AAAA,EAC1B,OAAO;AAAA,IACL,WAAW,UAAU;AAAA,IACrB,WAAW,UAAU;AAAA,IACrB,aAAa,UAAU;AAAA,IACvB,SAAS,UAAU;AAAA,IACnB,QAAQ,UAAU;AAAA,IAClB,QAAQ,UAAU;AAAA,IAClB,SAAS,UAAU;AAAA,IACnB,cAAc,UAAU;AAAA,IACxB,OAAO,UAAU;AAAA,IACjB,aAAa,UAAU;AAAA,IACvB,OAAO,UAAU;AAAA,IACjB,SAAS,UAAU;AAAA,IACnB,WAAW,UAAU;AAAA,IACrB,WAAW,UAAU;AAAA,IACrB,aAAa,UAAU;AAAA,OACnB,UAAU,YAAY,CAAC,IAAI,EAAE,MAAM;AAAA,OACnC,UAAU,aAAa,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK;AAAA,EAC9D;AAAA;AAGF,eAAe,iBAAiB,CAC9B,SACA,KAC0B;AAAA,EAC1B,MAAM,YAAY,MAAM,QAAQ,QAAQ,WAAW,QAAQ;AAAA,IACzD,WAAW,QAAQ;AAAA,IACnB,IAAI,IAAI;AAAA,EACV,CAAC;AAAA,EACD,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,IAAI,MACR,wBAAwB,IAAI,qCAAqC,IAAI,eACvE;AAAA,EACF;AAAA,EACA,OAAO;AAAA,OACF;AAAA,OACC,UAAU,gBAAgB,YAC1B,CAAC,IACD,EAAE,aAAa,gBAAgB,UAAU,WAAW,EAAE;AAAA,EAC5D;AAAA;;;ACzQF,IAAM,qBAAqB,IAAI;AAUxB,SAAS,eAAmE,CACjF,SACA,cACA,WACwB;AAAA,EACxB,MAAM,OAA+B;AAAA,IACnC;AAAA,OACG,uBAAyC,SAAS,WAAW,YAAY;AAAA,EAC9E;AAAA,EACA,6BAA6B,SAAS,IAAI;AAAA,EAC1C,IAAI,aAAa,sBAAsB;AAAA,IACrC,oCACE,MACA,kCAAkC,SAAS,WAAW,aAAa,oBAAoB,CACzF;AAAA,EACF;AAAA,EACA,mBAAmB,IAAI,IAAI;AAAA,EAC3B,OAAO;AAAA;AAIF,SAAS,WAEf,CAAC,OAAiD;AAAA,EACjD,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,mBAAmB,IAAI,KAAK;AAAA;AAGpF,SAAS,sBAA0E,CACjF,SACA,WACA,cAC2C;AAAA,EAC3C,OAAO;AAAA,IACL,SAAS,qBAAuC,SAAS,SAAS;AAAA,IAClE,SAAS,qBAAqB,SAAS,SAAS;AAAA,IAChD,UAAU,sBAAsB,SAAS,aAAa,YAAY,QAAQ;AAAA,IAC1E,WAAW,uBAAuB,SAAS,WAAW,aAAa,YAAY,SAAS;AAAA,IACxF,OAAO,mBAAmB,SAAS,WAAW,aAAa,YAAY,KAAK;AAAA,IAC5E,WAAW,uBAAuB,SAAS,WAAW,aAAa,YAAY,SAAS;AAAA,IACxF,aAAa,yBAAyB,SAAS,aAAa,YAAY,WAAW;AAAA,IACnF,OAAO,mBAAmB,SAAS,aAAa,YAAY,KAAK;AAAA,IACjE,QAAQ,oBACN,SACA,WACA,aAAa,YAAY,QACzB,aAAa,YAAY,QAC3B;AAAA,IACA,QAAQ,oBAAoB,OAAO;AAAA,IACnC,MAAM,kBAAkB,SAAS,aAAa,OAAO;AAAA,IACrD,WAAW,uBAAuB,aAAa,YAAY,SAAS;AAAA,IACpE,WAAW,uBAAuB,SAAS,WAAW,aAAa,gBAAgB;AAAA,IACnF,OAAO,mBAAmB,SAAS,WAAW,aAAa,WAAW;AAAA,EACxE;AAAA;;;AC5FK,SAAS,0BAA0B,CAAC,OAMlB;AAAA,EACvB,qBAAqB,MAAM,SAAS,MAAM,SAAS;AAAA,EACnD,OAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,WAAW,MAAM,OAAO;AAAA,OACpB,MAAM,OAAO,gBAAgB,YAC7B,CAAC,IACD,EAAE,aAAa,gBAAgB,MAAM,OAAO,WAAW,EAAE;AAAA,IAC7D,UAAU,EAAE,MAAM,SAAS,OAAO,MAAM,MAAM;AAAA,IAC9C,QAAQ,EAAE,MAAM,aAAa,aAAa,MAAM,OAAO,GAAG;AAAA,IAC1D,eAAe,MAAM,OAAO;AAAA,IAC5B,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,WAAW,gBAAgB,MAAM,SAAS;AAAA,IAC5C;AAAA,EACF;AAAA;AAIK,SAAS,yBAAyB,CACvC,MACA,OAMiC;AAAA,EACjC,MAAM,QAAQ,2BAA2B,KAAK;AAAA,EAC9C,MAAM,OAAO,KAAK,UAAU,KAAK;AAAA,EACjC,IAAI,CAAC,YAAY,IAAI,GAAG;AAAA,IACtB,MAAM,IAAI,MAAM,4DAA4D;AAAA,EAC9E;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,0BAA0B,CAAC,OAKxB;AAAA,EACjB,2BAA2B,KAAK;AAAA,EAChC,MAAM,UAA4B,OAAO,OAAO;AAAA,IAC9C,IAAI,MAAM,UAAU;AAAA,IACpB,WAAW,MAAM,UAAU;AAAA,OACvB,MAAM,UAAU,gBAAgB,YAChC,CAAC,IACD,EAAE,aAAa,OAAO,OAAO,gBAAgB,MAAM,UAAU,WAAW,CAAC,EAAE;AAAA,IAC/E,UAAU,OAAO,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM,SAAS,OAAO,MAAM,MAAM,CAAC;AAAA,IACrF,QAAQ,OAAO,OAAO,gBAAgB,MAAM,UAAU,MAAM,CAAC;AAAA,IAC7D,eAAe,MAAM,UAAU;AAAA,EACjC,CAAC;AAAA,EACD,OAAO,OAAO,OAAO;AAAA,IACnB,WAAW;AAAA,IACX,eAAe,gCAAgC;AAAA,MAC7C,WAAW,MAAM,UAAU;AAAA,MAC3B,SAAS,MAAM;AAAA,MACf,aAAa,MAAM,UAAU;AAAA,MAC7B,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,IACf,CAAC;AAAA,EACH,CAAC;AAAA;AAII,SAAS,0BAA0B,CAAC,OAKlC;AAAA,EACP,MAAM,YAAY,MAAM,UAAU;AAAA,EAClC,IACE,MAAM,UAAU,SAAS,SAAS,WAClC,MAAM,UAAU,SAAS,UAAU,MAAM,SACzC,MAAM,UAAU,OAAO,SAAS,eAChC,UAAU,SAAS,eACnB,UAAU,UAAU,SAAS,oBAC7B,MAAM,cAAc,UAAU,SAAS,oBACvC,UAAU,UAAU,OAAO,MAAM,cAAc,UAAU,MACzD,UAAU,eAAe,WACzB;AAAA,IACA,sBAAsB,MAAM,UAAU,IAAI,MAAM,KAAK;AAAA,EACvD;AAAA,EACA,qBAAqB,MAAM,SAAS,UAAU,SAAS;AAAA;AAGzD,SAAS,oBAAoB,CAC3B,SACA,WACM;AAAA,EACN,MAAM,aAAa,sBAAsB,OAAO;AAAA,EAChD,IAAI,UAAU,OAAO,YAAY;AAAA,IAC/B,MAAM,IAAI,sBACR,iBACA,iBAAiB,gEAAgE,cACnF;AAAA,EACF;AAAA;AAGF,SAAS,qBAAqB,CAAC,aAAqB,OAAsB;AAAA,EACxE,MAAM,IAAI,sBACR,iBACA,qBAAqB,8CAA8C,SACrE;AAAA;",
44
+ "debugId": "E5777634D231818464756E2164756E21",
45
45
  "names": []
46
46
  }