@rodrigocoliveira/agno-react 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/hooks/useAgnoToolExecution.d.ts +7 -11
- package/dist/hooks/useAgnoToolExecution.d.ts.map +1 -1
- package/dist/index.d.ts +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +645 -986
- package/dist/index.js.map +7 -10
- package/dist/index.mjs +564 -905
- package/dist/index.mjs.map +7 -10
- package/dist/ui/components/chart.d.ts +63 -0
- package/dist/ui/components/chart.d.ts.map +1 -0
- package/dist/ui/composed/agno-chat/agno-chat.d.ts +6 -4
- package/dist/ui/composed/agno-chat/agno-chat.d.ts.map +1 -1
- package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts +0 -4
- package/dist/ui/composed/agno-chat/tool-building-blocks.d.ts.map +1 -1
- package/dist/ui/composed/agno-message/tools.d.ts.map +1 -1
- package/dist/ui/composed/generative-components/card-grid.d.ts +4 -0
- package/dist/ui/composed/generative-components/card-grid.d.ts.map +1 -0
- package/dist/ui/composed/generative-components/charts.d.ts +7 -0
- package/dist/ui/composed/generative-components/charts.d.ts.map +1 -0
- package/dist/ui/composed/index.d.ts +6 -2
- package/dist/ui/composed/index.d.ts.map +1 -1
- package/dist/ui/index.d.ts +8 -2
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui.js +586 -424
- package/dist/ui.js.map +9 -11
- package/dist/ui.mjs +606 -430
- package/dist/ui.mjs.map +9 -11
- package/package.json +8 -3
- package/dist/components/GenerativeUIRenderer.d.ts +0 -21
- package/dist/components/GenerativeUIRenderer.d.ts.map +0 -1
- package/dist/utils/component-registry.d.ts +0 -63
- package/dist/utils/component-registry.d.ts.map +0 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/context/AgnoContext.tsx", "../src/context/ToolHandlerContext.tsx", "../src/
|
|
3
|
+
"sources": ["../src/context/AgnoContext.tsx", "../src/context/ToolHandlerContext.tsx", "../src/utils/ui-helpers.ts", "../src/hooks/useAgnoChat.ts", "../src/hooks/useAgnoSession.ts", "../src/hooks/useAgnoActions.ts", "../src/hooks/useAgnoToolExecution.ts", "../src/ui/composed/agno-chat/render-tool.ts", "../src/ui/primitives/badge.tsx", "../src/ui/lib/cn.ts", "../src/ui/primitives/collapsible.tsx", "../src/ui/components/tool.tsx", "../src/ui/primitives/button.tsx", "../src/ui/components/code-block.tsx", "../src/ui/composed/agno-chat/tool-building-blocks.tsx", "../src/ui/composed/agno-message/message.tsx", "../src/ui/primitives/tooltip.tsx", "../src/ui/lib/format-timestamp.ts", "../src/ui/components/smart-timestamp.tsx", "../src/ui/lib/file-utils.ts", "../src/ui/components/file-preview-card.tsx", "../src/ui/primitives/dialog.tsx", "../src/ui/components/file-preview-modal.tsx", "../src/ui/components/image-lightbox.tsx", "../src/ui/composed/agno-message/context.ts", "../src/ui/composed/agno-message/reasoning.tsx", "../src/ui/primitives/accordion.tsx", "../src/ui/composed/agno-message/media.tsx", "../src/ui/composed/agno-chat/context.ts", "../src/ui/composed/agno-message/tools.tsx", "../src/ui/components/response.tsx", "../src/ui/composed/agno-message/content.tsx", "../src/ui/composed/agno-message/references.tsx", "../src/ui/composed/agno-message/footer.tsx", "../src/hooks/useAgnoCustomEvents.ts", "../src/hooks/useAgnoMemory.ts", "../src/hooks/useAgnoSessionState.ts", "../src/hooks/useAgnoKnowledge.ts", "../src/hooks/useAgnoMetrics.ts", "../src/hooks/useAgnoEvals.ts", "../src/hooks/useAgnoTraces.ts", "../src/hooks/useAgnoComponents.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import React, { createContext, useContext, useMemo, useEffect } from 'react';\nimport { AgnoClient } from '@rodrigocoliveira/agno-client';\nimport type { AgnoClientConfig } from '@rodrigocoliveira/agno-types';\n\n/**\n * Context for providing AgnoClient instance\n */\nconst AgnoContext = createContext<AgnoClient | null>(null);\n\nexport interface AgnoProviderProps {\n config: AgnoClientConfig;\n children: React.ReactNode;\n}\n\n/**\n * Provider component that creates and manages an AgnoClient instance\n */\nexport function AgnoProvider({ config, children }: AgnoProviderProps) {\n // Create client only once using useMemo (React best practice)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const client = useMemo(() => new AgnoClient(config), []);\n\n // Sync config changes to the client instance\n useEffect(() => {\n client.updateConfig(config);\n }, [client, config]);\n\n // Cleanup on unmount to prevent memory leaks\n useEffect(() => {\n return () => {\n // Remove all event listeners when provider unmounts\n client.removeAllListeners();\n };\n }, [client]);\n\n return (\n <AgnoContext.Provider value={client}>\n {children}\n </AgnoContext.Provider>\n );\n}\n\n/**\n * Hook to access the AgnoClient instance\n */\nexport function useAgnoClient(): AgnoClient {\n const client = useContext(AgnoContext);\n\n if (!client) {\n throw new Error('useAgnoClient must be used within an AgnoProvider');\n }\n\n return client;\n}\n",
|
|
6
6
|
"import React, { createContext, useContext, useState, useCallback } from 'react';\nimport type { ToolHandler } from '../hooks/useAgnoToolExecution';\n\n/**\n * Context value for tool handler registry\n */\nexport interface ToolHandlerContextValue {\n handlers: Record<string, ToolHandler>;\n registerHandler: (name: string, handler: ToolHandler) => void;\n unregisterHandler: (name: string) => void;\n}\n\n/**\n * Context for providing global tool handlers\n */\nconst ToolHandlerContext = createContext<ToolHandlerContextValue | null>(null);\n\nexport interface ToolHandlerProviderProps {\n handlers?: Record<string, ToolHandler>;\n children: React.ReactNode;\n}\n\n/**\n * Provider component that manages global tool handlers\n *\n * @example\n * ```tsx\n * const globalHandlers = {\n * fill_form: async (args) => {\n * // Implementation\n * return { success: true };\n * }\n * };\n *\n * <ToolHandlerProvider handlers={globalHandlers}>\n * <App />\n * </ToolHandlerProvider>\n * ```\n */\nexport function ToolHandlerProvider({ handlers: initialHandlers = {}, children }: ToolHandlerProviderProps) {\n const [handlers, setHandlers] = useState<Record<string, ToolHandler>>(initialHandlers);\n\n /**\n * Register a new tool handler or update an existing one\n */\n const registerHandler = useCallback((name: string, handler: ToolHandler) => {\n setHandlers(prev => ({ ...prev, [name]: handler }));\n }, []);\n\n /**\n * Unregister a tool handler\n */\n const unregisterHandler = useCallback((name: string) => {\n setHandlers(prev => {\n const { [name]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const value: ToolHandlerContextValue = {\n handlers,\n registerHandler,\n unregisterHandler,\n };\n\n return (\n <ToolHandlerContext.Provider value={value}>\n {children}\n </ToolHandlerContext.Provider>\n );\n}\n\n/**\n * Hook to access global tool handlers\n *\n * @returns Tool handler context value or null if not within ToolHandlerProvider\n *\n * @example\n * ```tsx\n * const { handlers, registerHandler } = useToolHandlers() || { handlers: {} };\n * ```\n */\nexport function useToolHandlers(): ToolHandlerContextValue | null {\n return useContext(ToolHandlerContext);\n}\n",
|
|
7
|
-
"/**\n * Generative UI Renderer\n *\n * Renders UI components based on specifications from the agent.\n * Supports both registry-based components and custom render functions.\n */\n\nimport React from 'react';\nimport type { UIComponentSpec } from '@rodrigocoliveira/agno-types';\nimport { getComponentRegistry } from '../utils/component-registry';\nimport { getCustomRender } from '../hooks/useAgnoToolExecution';\n\nexport interface GenerativeUIRendererProps {\n /** The UI component specification to render */\n spec: UIComponentSpec;\n /** Optional className for styling */\n className?: string;\n /** Error boundary fallback */\n onError?: (error: Error) => void;\n}\n\n/**\n * Error Boundary for UI rendering errors\n */\nclass UIErrorBoundary extends React.Component<\n { children: React.ReactNode; onError?: (error: Error) => void; fallback?: React.ReactNode },\n { hasError: boolean; error?: Error }\n> {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, error };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error('[GenerativeUIRenderer] Error rendering component:', error, errorInfo);\n this.props.onError?.(error);\n }\n\n render() {\n if (this.state.hasError) {\n return (\n this.props.fallback || (\n <div className=\"p-4 border border-red-300 rounded-md bg-red-50 text-red-800\">\n <p className=\"font-semibold\">Failed to render UI component</p>\n <p className=\"text-sm mt-1\">{this.state.error?.message || 'Unknown error'}</p>\n </div>\n )\n );\n }\n\n return this.props.children;\n }\n}\n\n/**\n * Main Generative UI Renderer component\n */\nexport function GenerativeUIRenderer({\n spec,\n className,\n onError,\n}: GenerativeUIRendererProps): React.ReactElement {\n const registry = getComponentRegistry();\n\n // Handle custom render functions\n if (spec.type === 'custom') {\n const customSpec = spec as any;\n if (customSpec.renderKey) {\n const renderFn = getCustomRender(customSpec.renderKey);\n if (renderFn) {\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>{renderFn(customSpec.props || {})}</div>\n </UIErrorBoundary>\n );\n }\n }\n // Fallback if custom render not found\n return (\n <div className={`p-4 border border-yellow-300 rounded-md bg-yellow-50 text-yellow-800 ${className || ''}`}>\n <p className=\"font-semibold\">Custom component not available</p>\n <p className=\"text-sm mt-1\">The custom render function for this component is not available.</p>\n </div>\n );\n }\n\n // Handle chart components\n if (spec.type === 'chart') {\n const chartSpec = spec as any;\n const chartType = `chart:${chartSpec.component}`;\n\n if (registry.has(chartType)) {\n const ChartRenderer = registry.get(chartType)!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {chartSpec.title && <h3 className=\"font-semibold mb-2\">{chartSpec.title}</h3>}\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{chartSpec.description}</p>}\n <ChartRenderer {...chartSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Fallback: render data as JSON\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold mb-2\">{chartSpec.title || 'Chart Data'}</p>\n {chartSpec.description && <p className=\"text-sm text-gray-600 mb-2\">{chartSpec.description}</p>}\n <pre className=\"text-xs bg-gray-100 p-2 rounded overflow-auto\">\n {JSON.stringify(chartSpec.props.data, null, 2)}\n </pre>\n </div>\n );\n }\n\n // Handle card grid\n if (spec.type === 'card-grid') {\n const cardGridSpec = spec as any;\n if (registry.has('card-grid')) {\n const CardGridRenderer = registry.get('card-grid')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {cardGridSpec.title && <h3 className=\"font-semibold mb-2\">{cardGridSpec.title}</h3>}\n {cardGridSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{cardGridSpec.description}</p>}\n <CardGridRenderer {...cardGridSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle table\n if (spec.type === 'table') {\n const tableSpec = spec as any;\n if (registry.has('table')) {\n const TableRenderer = registry.get('table')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n {tableSpec.title && <h3 className=\"font-semibold mb-2\">{tableSpec.title}</h3>}\n {tableSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{tableSpec.description}</p>}\n <TableRenderer {...tableSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n }\n\n // Handle markdown\n if (spec.type === 'markdown') {\n const markdownSpec = spec as any;\n if (registry.has('markdown')) {\n const MarkdownRenderer = registry.get('markdown')!;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={className}>\n <MarkdownRenderer {...markdownSpec.props} />\n </div>\n </UIErrorBoundary>\n );\n }\n // Fallback: render as plain text\n return <div className={className}>{markdownSpec.props.content}</div>;\n }\n\n // Handle artifact (container with multiple children)\n if (spec.type === 'artifact') {\n const artifactSpec = spec as any;\n return (\n <UIErrorBoundary onError={onError}>\n <div className={`p-4 border rounded-md ${className || ''}`}>\n {artifactSpec.title && <h3 className=\"font-semibold mb-4\">{artifactSpec.title}</h3>}\n {artifactSpec.description && <p className=\"text-sm text-gray-600 mb-4\">{artifactSpec.description}</p>}\n <div className=\"space-y-4\">\n {artifactSpec.props.content?.map((childSpec: UIComponentSpec, index: number) => (\n <GenerativeUIRenderer key={index} spec={childSpec} onError={onError} />\n ))}\n </div>\n </div>\n </UIErrorBoundary>\n );\n }\n\n // Unknown type fallback\n return (\n <div className={`p-4 border border-gray-300 rounded-md ${className || ''}`}>\n <p className=\"font-semibold\">Unsupported UI component</p>\n <p className=\"text-sm text-gray-600 mt-1\">Component type: {spec.type}</p>\n </div>\n );\n}\n",
|
|
8
|
-
"/**\n * Component Registry for Generative UI\n *\n * Maps component specifications to actual React components.\n * Allows registering custom components at runtime.\n */\n\n/**\n * Component renderer function type\n */\nexport type ComponentRenderer = (props: any) => any; // React.ReactNode in React context\n\n/**\n * Component registry class\n */\nexport class ComponentRegistry {\n private static instance: ComponentRegistry;\n private components: Map<string, ComponentRenderer> = new Map();\n\n private constructor() {\n // Private constructor for singleton\n }\n\n /**\n * Get the singleton instance\n */\n static getInstance(): ComponentRegistry {\n if (!ComponentRegistry.instance) {\n ComponentRegistry.instance = new ComponentRegistry();\n }\n return ComponentRegistry.instance;\n }\n\n /**\n * Register a component renderer\n */\n register(type: string, renderer: ComponentRenderer): void {\n this.components.set(type, renderer);\n }\n\n /**\n * Register multiple components at once\n */\n registerBatch(components: Record<string, ComponentRenderer>): void {\n Object.entries(components).forEach(([type, renderer]) => {\n this.register(type, renderer);\n });\n }\n\n /**\n * Get a registered component renderer\n */\n get(type: string): ComponentRenderer | undefined {\n return this.components.get(type);\n }\n\n /**\n * Check if a component is registered\n */\n has(type: string): boolean {\n return this.components.has(type);\n }\n\n /**\n * Unregister a component\n */\n unregister(type: string): void {\n this.components.delete(type);\n }\n\n /**\n * Get all registered component types\n */\n getRegisteredTypes(): string[] {\n return Array.from(this.components.keys());\n }\n\n /**\n * Clear all registered components\n */\n clear(): void {\n this.components.clear();\n }\n}\n\n/**\n * Get the global component registry instance\n */\nexport function getComponentRegistry(): ComponentRegistry {\n return ComponentRegistry.getInstance();\n}\n\n/**\n * Helper to register a chart component\n */\nexport function registerChartComponent(name: string, renderer: ComponentRenderer): void {\n getComponentRegistry().register(`chart:${name}`, renderer);\n}\n\n/**\n * Helper to get a chart component\n */\nexport function getChartComponent(name: string): ComponentRenderer | undefined {\n return getComponentRegistry().get(`chart:${name}`);\n}\n",
|
|
9
|
-
"import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n CustomRenderFunction\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\n/**\n * Tool handler function type (now supports generative UI)\n */\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\n/**\n * Runtime registry for custom render functions (not serializable)\n * These are React components/functions that can't be stored in JSON\n */\nconst customRenderRegistry = new Map<string, CustomRenderFunction>();\n\n/**\n * Store a custom render function and return its unique key\n */\nfunction registerCustomRender(renderFn: CustomRenderFunction): string {\n const key = `custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;\n customRenderRegistry.set(key, renderFn);\n return key;\n}\n\n/**\n * Get a custom render function by key\n */\nexport function getCustomRender(key: string): CustomRenderFunction | undefined {\n return customRenderRegistry.get(key);\n}\n\n/**\n * Check if a value is a ToolHandlerResult with UI spec\n */\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\n/**\n * Check if a value is a UIComponentSpec\n */\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Process tool handler result and extract data/UI\n * Exported for use in session loading UI hydration\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n // Case 1: ToolHandlerResult with data and ui\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n\n let uiComponent: any = undefined;\n if (ui) {\n // Handle custom render functions\n if (ui.type === 'custom' && typeof (ui as any).render === 'function') {\n const renderKey = registerCustomRender((ui as any).render);\n uiComponent = {\n ...ui,\n renderKey,\n render: undefined, // Don't store the function itself\n };\n } else {\n // Serializable UI spec\n uiComponent = ui;\n }\n }\n\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent,\n };\n }\n\n // Case 2: Direct UI component spec (no separate data)\n if (isUIComponentSpec(result)) {\n let uiComponent: any;\n if (result.type === 'custom' && typeof (result as any).render === 'function') {\n const renderKey = registerCustomRender((result as any).render);\n uiComponent = {\n ...result,\n renderKey,\n render: undefined,\n };\n } else {\n uiComponent = result;\n }\n\n return {\n resultData: JSON.stringify(result),\n uiComponent,\n };\n }\n\n // Case 3: Legacy format - plain data (backward compatible)\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true,\n options?: { skipHydration?: string[] }\n) {\n const client = useAgnoClient();\n const toolHandlerContext = useToolHandlers();\n\n // Check if in team mode - teams don't support HITL\n const isTeamMode = client.getConfig().mode === 'team';\n\n // Log warning once if in team mode\n useEffect(() => {\n if (isTeamMode) {\n console.warn(\n '[useAgnoToolExecution] HITL (Human-in-the-Loop) frontend tool execution is not supported for teams. ' +\n 'Only agents support the continue endpoint. This hook will not function in team mode.'\n );\n }\n }, [isTeamMode]);\n\n // Merge global handlers with local handlers (local takes precedence)\n const mergedHandlers = useMemo(() => {\n const globalHandlers = toolHandlerContext?.handlers || {};\n return { ...globalHandlers, ...handlers };\n }, [toolHandlerContext?.handlers, handlers]);\n\n const [pendingTools, setPendingTools] = useState<ToolCall[]>([]);\n const [isPaused, setIsPaused] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [executionError, setExecutionError] = useState<string | undefined>();\n\n // Listen for run:paused events (only for agents, not teams)\n useEffect(() => {\n // Don't register listeners if in team mode\n if (isTeamMode) {\n return;\n }\n\n const handleRunPaused = (event: ToolExecutionEvent) => {\n setIsPaused(true);\n setPendingTools(event.tools);\n setExecutionError(undefined);\n };\n\n const handleRunContinued = () => {\n setIsPaused(false);\n setPendingTools([]);\n setIsExecuting(false);\n setExecutionError(undefined);\n };\n\n client.on('run:paused', handleRunPaused);\n client.on('run:continued', handleRunContinued);\n\n return () => {\n client.off('run:paused', handleRunPaused);\n client.off('run:continued', handleRunContinued);\n };\n }, [client, isTeamMode]);\n\n /**\n * Execute all pending tools and continue the run\n */\n const executeAndContinue = useCallback(async () => {\n if (!isPaused || pendingTools.length === 0) {\n console.warn('[useAgnoToolExecution] Cannot execute: no pending tools');\n return;\n }\n\n setIsExecuting(true);\n setExecutionError(undefined);\n\n try {\n // Execute each tool\n const updatedTools = await Promise.all(\n pendingTools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n\n if (!handler) {\n return {\n ...tool,\n result: JSON.stringify({\n error: `No handler registered for ${tool.tool_name}`,\n }),\n };\n }\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n\n // Store UI components in the client's message store before continuing\n // This ensures the UI components are visible even if the backend doesn't echo them back\n const toolsWithUI = updatedTools.filter(t => (t as any).ui_component);\n if (toolsWithUI.length > 0) {\n // Emit a custom event with the UI data\n client.emit('ui:render', {\n tools: updatedTools,\n runId: client.getState().pausedRunId,\n });\n }\n\n // Add frontend-executed tool calls to the message before continuing\n // This ensures they appear in the UI and persist in the message\n client.addToolCallsToLastMessage(updatedTools);\n\n // Continue the run with results\n await client.continueRun(updatedTools);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n setExecutionError(errorMessage);\n setIsExecuting(false);\n throw error;\n }\n }, [client, mergedHandlers, isPaused, pendingTools]);\n\n /**\n * Hydrate tool calls with UI when session loads\n */\n useEffect(() => {\n const handleSessionLoaded = async (_sessionId: string) => {\n const messages = client.getMessages();\n\n for (const message of messages) {\n if (!message.tool_calls) continue;\n\n for (const tool of message.tool_calls) {\n // Skip if already has UI\n if ((tool as any).ui_component) continue;\n\n // Skip HITL/interactive tools — re-invoking would trigger side effects (modals, panels).\n // Tools with a toolResultRenderer are handled at display time via the preserved result.\n if (options?.skipHydration?.includes(tool.tool_name)) continue;\n\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) continue;\n\n try {\n const result = await handler(tool.tool_args);\n const { uiComponent } = processToolResult(result, tool);\n\n if (uiComponent) {\n client.hydrateToolCallUI(tool.tool_call_id, uiComponent);\n }\n } catch (err) {\n console.error(`Failed to hydrate UI for ${tool.tool_name}:`, err);\n }\n }\n }\n };\n\n client.on('session:loaded', handleSessionLoaded);\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n };\n }, [client, mergedHandlers]);\n\n /**\n * Execute tools manually (for user confirmation flows)\n * Returns the updated tools with results set\n */\n const executeTools = useCallback(\n async (tools: ToolCall[]): Promise<ToolCall[]> => {\n return Promise.all(\n tools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) return tool;\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n },\n [mergedHandlers]\n );\n\n /**\n * Manually continue the run with custom tool results\n */\n const continueWithResults = useCallback(\n async (tools: ToolCall[], options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n if (!isPaused) {\n throw new Error('No paused run to continue');\n }\n setIsExecuting(true);\n try {\n await client.continueRun(tools, options);\n } catch (error) {\n setIsExecuting(false);\n throw error;\n }\n },\n [client, isPaused]\n );\n\n // Auto-execute when paused (if enabled)\n useEffect(() => {\n if (autoExecute && isPaused && !isExecuting && pendingTools.length > 0) {\n executeAndContinue();\n }\n }, [autoExecute, isPaused, isExecuting, pendingTools.length, executeAndContinue]);\n\n return {\n /** Whether the run is currently paused awaiting tool execution */\n isPaused,\n /** Whether tools are currently being executed */\n isExecuting,\n /** Tools awaiting execution */\n pendingTools,\n /** Execute all pending tools and continue the run */\n executeAndContinue,\n /** Execute specific tools and return results without continuing */\n executeTools,\n /** Continue the run with manually provided tool results */\n continueWithResults,\n /** Error from tool execution, if any */\n executionError,\n };\n}\n",
|
|
10
7
|
"/**\n * Helper utilities for creating UI component specifications\n *\n * These helpers make it easy to create common UI patterns without\n * manually constructing the full specification object.\n */\n\nimport type {\n ChartComponentSpec,\n CardGridComponentSpec,\n CardData,\n TableComponentSpec,\n TableColumn,\n MarkdownComponentSpec,\n ArtifactComponentSpec,\n UIComponentSpec,\n ToolHandlerResult,\n} from '@rodrigocoliveira/agno-types';\n\n/**\n * Chart helper options\n */\nexport interface ChartHelperOptions {\n /** Chart title */\n title?: string;\n /** Chart description */\n description?: string;\n /** Layout preference */\n layout?: 'inline' | 'artifact';\n /** Show legend */\n showLegend?: boolean;\n /** Show grid */\n showGrid?: boolean;\n /** Chart height */\n height?: number | string;\n /** Chart width */\n width?: number | string;\n}\n\n/**\n * Create a bar chart specification\n */\nexport function createBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'BarChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n bars: bars.map(bar => ({\n key: bar.key,\n label: bar.label || bar.key,\n color: bar.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a line chart specification\n */\nexport function createLineChart(\n data: any[],\n xKey: string,\n lines: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'LineChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n lines: lines.map(line => ({\n key: line.key,\n label: line.label || line.key,\n color: line.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create a pie chart specification\n */\nexport function createPieChart(\n data: any[],\n dataKey: string,\n nameKey: string,\n options?: ChartHelperOptions & { showLabel?: boolean }\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'PieChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n pie: {\n dataKey,\n nameKey,\n label: options?.showLabel ?? true,\n },\n showLegend: options?.showLegend ?? true,\n height: options?.height || 400,\n width: options?.width,\n },\n };\n}\n\n/**\n * Create an area chart specification\n */\nexport function createAreaChart(\n data: any[],\n xKey: string,\n areas: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ChartComponentSpec {\n return {\n type: 'chart',\n component: 'AreaChart',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n xKey,\n areas: areas.map(area => ({\n key: area.key,\n label: area.label || area.key,\n color: area.color,\n })),\n showLegend: options?.showLegend ?? true,\n showGrid: options?.showGrid ?? true,\n height: options?.height,\n width: options?.width,\n },\n };\n}\n\n/**\n * Card grid helper options\n */\nexport interface CardGridHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n columns?: {\n default?: number;\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n };\n variant?: 'default' | 'bordered' | 'elevated';\n}\n\n/**\n * Create a card grid specification\n */\nexport function createCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): CardGridComponentSpec {\n return {\n type: 'card-grid',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n cards,\n columns: options?.columns || { default: 1, md: 2, lg: 3 },\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Create a simple card\n */\nexport function createCard(\n id: string,\n title: string,\n description?: string,\n options?: {\n image?: string;\n metadata?: Record<string, any>;\n actions?: CardData['actions'];\n }\n): CardData {\n return {\n id,\n title,\n description,\n image: options?.image,\n metadata: options?.metadata,\n actions: options?.actions,\n };\n}\n\n/**\n * Table helper options\n */\nexport interface TableHelperOptions {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n sortable?: boolean;\n filterable?: boolean;\n pagination?: {\n pageSize?: number;\n pageSizeOptions?: number[];\n };\n density?: 'comfortable' | 'compact';\n}\n\n/**\n * Create a table specification\n */\nexport function createTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): TableComponentSpec {\n return {\n type: 'table',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n data,\n columns,\n sortable: options?.sortable ?? true,\n filterable: options?.filterable,\n pagination: options?.pagination,\n density: options?.density || 'comfortable',\n },\n };\n}\n\n/**\n * Create a table column definition\n */\nexport function createColumn(\n key: string,\n header: string,\n options?: {\n width?: number | string;\n sortable?: boolean;\n cellType?: 'text' | 'number' | 'date' | 'badge' | 'link';\n format?: TableColumn['format'];\n }\n): TableColumn {\n return {\n key,\n header,\n width: options?.width,\n sortable: options?.sortable,\n cellType: options?.cellType || 'text',\n format: options?.format,\n };\n}\n\n/**\n * Create a markdown specification\n */\nexport function createMarkdown(\n content: string,\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n syntaxHighlight?: boolean;\n }\n): MarkdownComponentSpec {\n return {\n type: 'markdown',\n layout: options?.layout,\n title: options?.title,\n description: options?.description,\n props: {\n content,\n syntaxHighlight: options?.syntaxHighlight ?? true,\n },\n };\n}\n\n/**\n * Create an artifact container with multiple child components\n */\nexport function createArtifact(\n content: UIComponentSpec[],\n options?: {\n title?: string;\n description?: string;\n variant?: 'default' | 'bordered' | 'elevated';\n }\n): ArtifactComponentSpec {\n return {\n type: 'artifact',\n title: options?.title,\n description: options?.description,\n props: {\n content,\n variant: options?.variant || 'default',\n },\n };\n}\n\n/**\n * Smart chart creator - automatically chooses the best chart type based on data\n */\nexport function createSmartChart(\n data: any[],\n options?: {\n title?: string;\n description?: string;\n layout?: 'inline' | 'artifact';\n xKey?: string;\n yKeys?: string[];\n preferredType?: 'bar' | 'line' | 'area' | 'pie';\n }\n): ChartComponentSpec {\n // If no data, return a default bar chart\n if (!data || data.length === 0) {\n return createBarChart([], '', [], options);\n }\n\n // Auto-detect keys if not provided\n const firstItem = data[0];\n const keys = Object.keys(firstItem);\n\n // Try to find suitable xKey (first string key or 'name', 'label', 'category', etc.)\n const xKey =\n options?.xKey ||\n keys.find(k =>\n ['name', 'label', 'category', 'date', 'time', 'month', 'year'].includes(k.toLowerCase())\n ) ||\n keys[0];\n\n // Get numeric keys for yKeys\n const numericKeys = keys.filter(k => k !== xKey && typeof firstItem[k] === 'number');\n const yKeys = options?.yKeys || numericKeys;\n\n // Respect explicit preferredType first\n if (options?.preferredType) {\n switch (options.preferredType) {\n case 'bar':\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'line':\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'area':\n return createAreaChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n case 'pie':\n return createPieChart(data, yKeys[0], xKey, options);\n }\n }\n\n // Auto-detect based on data characteristics\n // If only one value key and non-numeric xKey, consider pie chart\n if (yKeys.length === 1 && typeof firstItem[xKey] === 'string') {\n return createPieChart(data, yKeys[0], xKey, options);\n }\n\n // If xKey looks like a date/time, prefer line chart\n if (\n xKey.toLowerCase().includes('date') ||\n xKey.toLowerCase().includes('time') ||\n xKey.toLowerCase().includes('month') ||\n xKey.toLowerCase().includes('year')\n ) {\n return createLineChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n }\n\n // Default to bar chart for comparisons\n return createBarChart(\n data,\n xKey,\n yKeys.map(key => ({ key })),\n options\n );\n}\n\n/**\n * Wrap data and UI into a ToolHandlerResult\n */\nexport function createToolResult(data: any, ui: UIComponentSpec): ToolHandlerResult {\n return { data, ui };\n}\n\n/**\n * Quick helper: create a tool result with a bar chart\n */\nexport function resultWithBarChart(\n data: any[],\n xKey: string,\n bars: Array<{ key: string; label?: string; color?: string }>,\n options?: ChartHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createBarChart(data, xKey, bars, options));\n}\n\n/**\n * Quick helper: create a tool result with a smart chart\n */\nexport function resultWithSmartChart(\n data: any[],\n options?: Parameters<typeof createSmartChart>[1]\n): ToolHandlerResult {\n return createToolResult(data, createSmartChart(data, options));\n}\n\n/**\n * Quick helper: create a tool result with a card grid\n */\nexport function resultWithCardGrid(\n cards: CardData[],\n options?: CardGridHelperOptions\n): ToolHandlerResult {\n return createToolResult(cards, createCardGrid(cards, options));\n}\n\n/**\n * Quick helper: create a tool result with a table\n */\nexport function resultWithTable(\n data: Record<string, any>[],\n columns: TableColumn[],\n options?: TableHelperOptions\n): ToolHandlerResult {\n return createToolResult(data, createTable(data, columns, options));\n}\n",
|
|
11
8
|
"import { useState, useEffect, useCallback } from 'react';\nimport type { ChatMessage, ClientState } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Main hook for chat interactions\n * Provides messages, state, and methods to interact with the agent\n */\nexport function useAgnoChat() {\n const client = useAgnoClient();\n const [messages, setMessages] = useState<ChatMessage[]>(client.getMessages());\n const [state, setState] = useState<ClientState>(client.getState());\n\n // Listen to client events and update React state\n useEffect(() => {\n const handleMessageUpdate = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageComplete = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleMessageRefreshed = (updatedMessages: ChatMessage[]) => {\n setMessages(updatedMessages);\n };\n\n const handleStateChange = (newState: ClientState) => {\n setState(newState);\n };\n\n // Handle UI render event from frontend tool execution\n const handleUIRender = (event: any) => {\n const { tools } = event;\n\n // Update each tool call with its UI component\n for (const tool of tools) {\n if ((tool as any).ui_component) {\n client.hydrateToolCallUI(tool.tool_call_id, (tool as any).ui_component);\n }\n }\n };\n\n // Handle run cancelled event\n const handleRunCancelled = () => {\n // State is already updated via state:change event\n // This handler can be used for additional cancellation logic if needed\n };\n\n client.on('message:update', handleMessageUpdate);\n client.on('message:complete', handleMessageComplete);\n client.on('message:refreshed', handleMessageRefreshed);\n client.on('state:change', handleStateChange);\n client.on('ui:render', handleUIRender);\n client.on('run:cancelled', handleRunCancelled);\n\n // Initialize state\n setMessages(client.getMessages());\n setState(client.getState());\n\n return () => {\n client.off('message:update', handleMessageUpdate);\n client.off('message:complete', handleMessageComplete);\n client.off('message:refreshed', handleMessageRefreshed);\n client.off('state:change', handleStateChange);\n client.off('ui:render', handleUIRender);\n client.off('run:cancelled', handleRunCancelled);\n };\n }, [client]);\n\n /**\n * Send a message to the agent/team\n */\n const sendMessage = useCallback(\n async (message: string | FormData, options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n try {\n await client.sendMessage(message, options);\n } catch (err) {\n throw err;\n }\n },\n [client]\n );\n\n /**\n * Clear all messages\n */\n const clearMessages = useCallback(() => {\n client.clearMessages();\n setMessages([]);\n }, [client]);\n\n /**\n * Cancel the current run\n */\n const cancelRun = useCallback(async () => {\n await client.cancelRun();\n }, [client]);\n\n return {\n messages,\n sendMessage,\n clearMessages,\n cancelRun,\n isStreaming: state.isStreaming,\n isRefreshing: state.isRefreshing,\n isPaused: state.isPaused,\n isCancelling: state.isCancelling,\n currentRunId: state.currentRunId,\n error: state.errorMessage,\n state,\n };\n}\n",
|
|
12
9
|
"import { useState, useEffect, useCallback } from 'react';\nimport type {\n SessionEntry,\n ChatMessage,\n AgentSessionDetailSchema,\n TeamSessionDetailSchema,\n RunSchema,\n TeamRunSchema,\n CreateSessionRequest,\n UpdateSessionRequest,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for session management\n */\nexport function useAgnoSession() {\n const client = useAgnoClient();\n const [sessions, setSessions] = useState<SessionEntry[]>([]);\n const [currentSessionId, setCurrentSessionId] = useState<string | undefined>(\n client.getConfig().sessionId\n );\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to session events\n useEffect(() => {\n const handleSessionLoaded = (sessionId: string) => {\n setCurrentSessionId(sessionId);\n };\n\n const handleSessionCreated = (session: SessionEntry) => {\n setSessions((prev) => [session, ...prev]);\n setCurrentSessionId(session.session_id);\n };\n\n const handleStateChange = () => {\n const config = client.getConfig();\n setCurrentSessionId(config.sessionId);\n setSessions(client.getState().sessions);\n };\n\n client.on('session:loaded', handleSessionLoaded);\n client.on('session:created', handleSessionCreated);\n client.on('state:change', handleStateChange);\n\n // Initialize\n setSessions(client.getState().sessions);\n setCurrentSessionId(client.getConfig().sessionId);\n\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n client.off('session:created', handleSessionCreated);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Load a specific session\n */\n const loadSession = useCallback(\n async (sessionId: string, options?: { params?: Record<string, string> }): Promise<ChatMessage[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const messages = await client.loadSession(sessionId, options);\n setCurrentSessionId(sessionId);\n return messages;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch all sessions\n */\n const fetchSessions = useCallback(async (options?: { params?: Record<string, string> }): Promise<SessionEntry[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const fetchedSessions = await client.fetchSessions(options);\n setSessions(fetchedSessions);\n return fetchedSessions;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n }, [client]);\n\n /**\n * Get a session by ID\n */\n const getSessionById = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getSessionById(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get a run by ID\n */\n const getRunById = useCallback(\n async (\n sessionId: string,\n runId: string,\n options?: { params?: Record<string, string> }\n ): Promise<RunSchema | TeamRunSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getRunById(sessionId, runId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Create a new session\n */\n const createSession = useCallback(\n async (\n request?: CreateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const session = await client.createSession(request, options);\n return session;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Update a session\n */\n const updateSession = useCallback(\n async (\n sessionId: string,\n request: UpdateSessionRequest,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateSession(sessionId, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Rename a session\n */\n const renameSession = useCallback(\n async (\n sessionId: string,\n newName: string,\n options?: { params?: Record<string, string> }\n ): Promise<AgentSessionDetailSchema | TeamSessionDetailSchema> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.renameSession(sessionId, newName, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete a session\n */\n const deleteSession = useCallback(\n async (\n sessionId: string,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteSession(sessionId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Delete multiple sessions\n */\n const deleteMultipleSessions = useCallback(\n async (\n sessionIds: string[],\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteMultipleSessions(sessionIds, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n sessions,\n currentSessionId,\n loadSession,\n fetchSessions,\n getSessionById,\n getRunById,\n createSession,\n updateSession,\n renameSession,\n deleteSession,\n deleteMultipleSessions,\n isLoading,\n error,\n };\n}\n",
|
|
13
10
|
"import { useState, useCallback } from 'react';\nimport type { AgentDetails, TeamDetails } from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for common actions like initialization, fetching agents/teams\n */\nexport function useAgnoActions() {\n const client = useAgnoClient();\n const [isInitializing, setIsInitializing] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n /**\n * Initialize the client (check status and fetch agents/teams)\n */\n const initialize = useCallback(async (options?: { params?: Record<string, string> }): Promise<{\n agents: AgentDetails[];\n teams: TeamDetails[];\n }> => {\n setIsInitializing(true);\n setError(undefined);\n try {\n const result = await client.initialize(options);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsInitializing(false);\n }\n }, [client]);\n\n /**\n * Check endpoint status\n */\n const checkStatus = useCallback(async (options?: { params?: Record<string, string> }): Promise<boolean> => {\n setError(undefined);\n try {\n return await client.checkStatus(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n return false;\n }\n }, [client]);\n\n /**\n * Fetch agents\n */\n const fetchAgents = useCallback(async (options?: { params?: Record<string, string> }): Promise<AgentDetails[]> => {\n setError(undefined);\n try {\n return await client.fetchAgents(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n }, [client]);\n\n /**\n * Fetch teams\n */\n const fetchTeams = useCallback(async (options?: { params?: Record<string, string> }): Promise<TeamDetails[]> => {\n setError(undefined);\n try {\n return await client.fetchTeams(options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n }\n }, [client]);\n\n /**\n * Update client configuration\n */\n const updateConfig = useCallback(\n (updates: Partial<Parameters<typeof client.updateConfig>[0]>) => {\n client.updateConfig(updates);\n },\n [client]\n );\n\n return {\n initialize,\n checkStatus,\n fetchAgents,\n fetchTeams,\n updateConfig,\n isInitializing,\n error,\n };\n}\n",
|
|
11
|
+
"import { useState, useEffect, useCallback, useMemo } from 'react';\nimport type {\n ToolCall,\n UIComponentSpec,\n ToolHandlerResult,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\nimport { useToolHandlers } from '../context/ToolHandlerContext';\n\nexport type ToolHandler = (args: Record<string, any>) => Promise<any>;\n\nfunction isToolHandlerResult(value: any): value is ToolHandlerResult {\n return value && typeof value === 'object' && ('data' in value || 'ui' in value);\n}\n\nfunction isUIComponentSpec(value: any): value is UIComponentSpec {\n return value && typeof value === 'object' && 'type' in value;\n}\n\n/**\n * Split a handler return value into (a) the string `tool.result` field sent\n * back to the backend and (b) an optional `ui` spec attached as\n * `tool.ui_component` for consumer renderers to read.\n */\nexport function processToolResult(result: any, _tool: ToolCall): {\n resultData: string;\n uiComponent?: any;\n} {\n if (isToolHandlerResult(result)) {\n const { data, ui } = result;\n return {\n resultData: typeof data === 'string' ? data : JSON.stringify(data),\n uiComponent: ui,\n };\n }\n\n if (isUIComponentSpec(result)) {\n return {\n resultData: JSON.stringify(result),\n uiComponent: result,\n };\n }\n\n return {\n resultData: typeof result === 'string' ? result : JSON.stringify(result),\n uiComponent: undefined,\n };\n}\n\n/**\n * Tool execution event payload\n */\nexport interface ToolExecutionEvent {\n runId?: string;\n sessionId?: string;\n tools: ToolCall[];\n}\n\n/**\n * Hook for handling frontend tool execution (HITL)\n *\n * **Note:** HITL (Human-in-the-Loop) frontend tool execution is only supported for agents.\n * Teams do not support the continue endpoint. This hook will log a warning and no-op if used with team mode.\n *\n * @param handlers - Map of tool names to handler functions (local handlers)\n * @param autoExecute - Whether to automatically execute tools when paused (default: true)\n * @param options.skipToolsOnSessionLoad - Tool names whose handlers should NOT be re-invoked\n * when a saved session is loaded. Use this for interactive tools with side effects.\n *\n * @example\n * ```tsx\n * const toolHandlers = {\n * navigate_to_page: async (args) => {\n * window.location.href = args.url;\n * return { success: true };\n * },\n * fill_form: async (args) => {\n * document.querySelector(args.selector).value = args.value;\n * return { filled: true };\n * }\n * };\n *\n * const { isPaused, isExecuting, pendingTools } = useAgnoToolExecution(toolHandlers);\n * ```\n */\nexport function useAgnoToolExecution(\n handlers: Record<string, ToolHandler> = {},\n autoExecute: boolean = true,\n options?: { skipToolsOnSessionLoad?: string[] }\n) {\n const client = useAgnoClient();\n const toolHandlerContext = useToolHandlers();\n\n // Check if in team mode - teams don't support HITL\n const isTeamMode = client.getConfig().mode === 'team';\n\n // Log warning once if in team mode\n useEffect(() => {\n if (isTeamMode) {\n console.warn(\n '[useAgnoToolExecution] HITL (Human-in-the-Loop) frontend tool execution is not supported for teams. ' +\n 'Only agents support the continue endpoint. This hook will not function in team mode.'\n );\n }\n }, [isTeamMode]);\n\n // Merge global handlers with local handlers (local takes precedence)\n const mergedHandlers = useMemo(() => {\n const globalHandlers = toolHandlerContext?.handlers || {};\n return { ...globalHandlers, ...handlers };\n }, [toolHandlerContext?.handlers, handlers]);\n\n const [pendingTools, setPendingTools] = useState<ToolCall[]>([]);\n const [isPaused, setIsPaused] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [executionError, setExecutionError] = useState<string | undefined>();\n\n // Listen for run:paused events (only for agents, not teams)\n useEffect(() => {\n // Don't register listeners if in team mode\n if (isTeamMode) {\n return;\n }\n\n const handleRunPaused = (event: ToolExecutionEvent) => {\n setIsPaused(true);\n setPendingTools(event.tools);\n setExecutionError(undefined);\n };\n\n const handleRunContinued = () => {\n setIsPaused(false);\n setPendingTools([]);\n setIsExecuting(false);\n setExecutionError(undefined);\n };\n\n client.on('run:paused', handleRunPaused);\n client.on('run:continued', handleRunContinued);\n\n return () => {\n client.off('run:paused', handleRunPaused);\n client.off('run:continued', handleRunContinued);\n };\n }, [client, isTeamMode]);\n\n /**\n * Execute all pending tools and continue the run\n */\n const executeAndContinue = useCallback(async () => {\n if (!isPaused || pendingTools.length === 0) {\n console.warn('[useAgnoToolExecution] Cannot execute: no pending tools');\n return;\n }\n\n setIsExecuting(true);\n setExecutionError(undefined);\n\n try {\n // Execute each tool\n const updatedTools = await Promise.all(\n pendingTools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n\n if (!handler) {\n return {\n ...tool,\n result: JSON.stringify({\n error: `No handler registered for ${tool.tool_name}`,\n }),\n };\n }\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n\n // Store UI components in the client's message store before continuing\n // This ensures the UI components are visible even if the backend doesn't echo them back\n const toolsWithUI = updatedTools.filter(t => (t as any).ui_component);\n if (toolsWithUI.length > 0) {\n // Emit a custom event with the UI data\n client.emit('ui:render', {\n tools: updatedTools,\n runId: client.getState().pausedRunId,\n });\n }\n\n // Add frontend-executed tool calls to the message before continuing\n // This ensures they appear in the UI and persist in the message\n client.addToolCallsToLastMessage(updatedTools);\n\n // Continue the run with results\n await client.continueRun(updatedTools);\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n setExecutionError(errorMessage);\n setIsExecuting(false);\n throw error;\n }\n }, [client, mergedHandlers, isPaused, pendingTools]);\n\n /**\n * Hydrate tool calls with UI when session loads\n */\n useEffect(() => {\n const handleSessionLoaded = async (_sessionId: string) => {\n const messages = client.getMessages();\n\n for (const message of messages) {\n if (!message.tool_calls) continue;\n\n for (const tool of message.tool_calls) {\n // Skip if already has UI\n if ((tool as any).ui_component) continue;\n\n // Skip interactive tools — re-invoking would trigger side effects (modals, navigation).\n // The stored result still renders from history via the message's tool_calls.\n if (options?.skipToolsOnSessionLoad?.includes(tool.tool_name)) continue;\n\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) continue;\n\n try {\n const result = await handler(tool.tool_args);\n const { uiComponent } = processToolResult(result, tool);\n\n if (uiComponent) {\n client.hydrateToolCallUI(tool.tool_call_id, uiComponent);\n }\n } catch (err) {\n console.error(`Failed to hydrate UI for ${tool.tool_name}:`, err);\n }\n }\n }\n };\n\n client.on('session:loaded', handleSessionLoaded);\n return () => {\n client.off('session:loaded', handleSessionLoaded);\n };\n }, [client, mergedHandlers]);\n\n /**\n * Execute tools manually (for user confirmation flows)\n * Returns the updated tools with results set\n */\n const executeTools = useCallback(\n async (tools: ToolCall[]): Promise<ToolCall[]> => {\n return Promise.all(\n tools.map(async (tool) => {\n const handler = mergedHandlers[tool.tool_name];\n if (!handler) return tool;\n\n try {\n const result = await handler(tool.tool_args);\n\n // Process result to extract data and UI components\n const { resultData, uiComponent } = processToolResult(result, tool);\n\n return {\n ...tool,\n result: resultData,\n ui_component: uiComponent,\n } as ToolCall;\n } catch (error) {\n return {\n ...tool,\n result: JSON.stringify({\n error: error instanceof Error ? error.message : String(error),\n }),\n };\n }\n })\n );\n },\n [mergedHandlers]\n );\n\n /**\n * Manually continue the run with custom tool results\n */\n const continueWithResults = useCallback(\n async (tools: ToolCall[], options?: { headers?: Record<string, string>; params?: Record<string, string> }) => {\n if (!isPaused) {\n throw new Error('No paused run to continue');\n }\n setIsExecuting(true);\n try {\n await client.continueRun(tools, options);\n } catch (error) {\n setIsExecuting(false);\n throw error;\n }\n },\n [client, isPaused]\n );\n\n // Auto-execute when paused (if enabled)\n useEffect(() => {\n if (autoExecute && isPaused && !isExecuting && pendingTools.length > 0) {\n executeAndContinue();\n }\n }, [autoExecute, isPaused, isExecuting, pendingTools.length, executeAndContinue]);\n\n return {\n /** Whether the run is currently paused awaiting tool execution */\n isPaused,\n /** Whether tools are currently being executed */\n isExecuting,\n /** Tools awaiting execution */\n pendingTools,\n /** Execute all pending tools and continue the run */\n executeAndContinue,\n /** Execute specific tools and return results without continuing */\n executeTools,\n /** Continue the run with manually provided tool results */\n continueWithResults,\n /** Error from tool execution, if any */\n executionError,\n };\n}\n",
|
|
14
12
|
"import type { ReactNode } from 'react';\nimport type { ToolCall } from '@rodrigocoliveira/agno-types';\n\nexport type ToolRenderArgs = {\n index: number;\n isDebug: boolean;\n defaultRender: () => ReactNode;\n};\n\nexport type RenderTool = (tool: ToolCall, args: ToolRenderArgs) => ReactNode | null;\n\nexport type ToolEntry = false | RenderTool;\n\nexport function byToolName(\n map: Record<string, ToolEntry>,\n fallback?: RenderTool,\n): RenderTool {\n return (tool, args) => {\n // hasOwnProperty guard so tool names like 'toString' / 'constructor' /\n // '__proto__' don't resolve to Object.prototype methods.\n if (!Object.prototype.hasOwnProperty.call(map, tool.tool_name)) {\n return fallback ? fallback(tool, args) : args.defaultRender();\n }\n const entry = map[tool.tool_name];\n if (entry === false) return null;\n return entry(tool, args);\n };\n}\n",
|
|
15
13
|
"import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/cn';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary: 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive: 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n",
|
|
16
14
|
"import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n",
|
|
@@ -18,10 +16,9 @@
|
|
|
18
16
|
"import { Badge } from '../primitives/badge';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../primitives/collapsible';\nimport { cn } from '../lib/cn';\nimport type { ToolState } from '../types';\nimport {\n CheckCircleIcon,\n ChevronDownIcon,\n CircleIcon,\n ClockIcon,\n WrenchIcon,\n XCircleIcon,\n} from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { isValidElement } from 'react';\nimport { CodeBlock } from './code-block';\n\nexport type ToolProps = ComponentProps<typeof Collapsible>;\n\nexport const Tool = ({ className, ...props }: ToolProps) => (\n <Collapsible className={cn('not-prose mb-4 w-full rounded-md border', className)} {...props} />\n);\n\nexport type ToolHeaderProps = {\n title?: string;\n type?: string;\n state: ToolState;\n className?: string;\n};\n\nconst getStatusBadge = (status: ToolState) => {\n const labels: Record<string, string> = {\n 'input-streaming': 'Pending',\n 'input-available': 'Running',\n 'approval-requested': 'Awaiting Approval',\n 'approval-responded': 'Responded',\n 'output-available': 'Completed',\n 'output-error': 'Error',\n 'output-denied': 'Denied',\n };\n\n const icons: Record<string, ReactNode> = {\n 'input-streaming': <CircleIcon className=\"size-4\" />,\n 'input-available': <ClockIcon className=\"size-4 animate-pulse\" />,\n 'approval-requested': <ClockIcon className=\"size-4 text-yellow-600\" />,\n 'approval-responded': <CheckCircleIcon className=\"size-4 text-blue-600\" />,\n 'output-available': <CheckCircleIcon className=\"size-4 text-green-600\" />,\n 'output-error': <XCircleIcon className=\"size-4 text-red-600\" />,\n 'output-denied': <XCircleIcon className=\"size-4 text-orange-600\" />,\n };\n\n return (\n <Badge className=\"gap-1.5 rounded-full text-xs\" variant=\"secondary\">\n {icons[status]}\n {labels[status]}\n </Badge>\n );\n};\n\nexport const ToolHeader = ({ className, title, type, state, ...props }: ToolHeaderProps) => (\n <CollapsibleTrigger className={cn('group flex w-full items-center justify-between gap-4 p-3', className)} {...props}>\n <div className=\"flex items-center gap-2\">\n <WrenchIcon className=\"size-4 text-muted-foreground\" />\n <span className=\"font-medium text-sm\">{title ?? type?.split('-').slice(1).join('-') ?? 'Tool'}</span>\n {getStatusBadge(state)}\n </div>\n <ChevronDownIcon className=\"size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180\" />\n </CollapsibleTrigger>\n);\n\nexport type ToolContentProps = ComponentProps<typeof CollapsibleContent>;\n\nexport const ToolContent = ({ className, ...props }: ToolContentProps) => (\n <CollapsibleContent\n className={cn(\n 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in',\n className,\n )}\n {...props}\n />\n);\n\nexport type ToolInputProps = ComponentProps<'div'> & {\n input: unknown;\n};\n\nexport const ToolInput = ({ className, input, ...props }: ToolInputProps) => (\n <div className={cn('space-y-2 overflow-hidden p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs uppercase tracking-wide\">Parameters</h4>\n <div className=\"rounded-md bg-muted/50\">\n <CodeBlock code={JSON.stringify(input, null, 2)} language=\"json\" />\n </div>\n </div>\n);\n\nexport type ToolOutputProps = ComponentProps<'div'> & {\n output: unknown;\n errorText?: string;\n};\n\nexport const ToolOutput = ({ className, output, errorText, ...props }: ToolOutputProps) => {\n if (!(output || errorText)) {\n return null;\n }\n\n let Output = <div>{output as ReactNode}</div>;\n\n if (typeof output === 'object' && !isValidElement(output)) {\n Output = <CodeBlock code={JSON.stringify(output, null, 2)} language=\"json\" />;\n } else if (typeof output === 'string') {\n Output = <CodeBlock code={output} language=\"json\" />;\n }\n\n return (\n <div className={cn('space-y-2 p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs uppercase tracking-wide\">\n {errorText ? 'Error' : 'Result'}\n </h4>\n <div\n className={cn(\n 'overflow-x-auto rounded-md text-xs [&_table]:w-full',\n errorText ? 'bg-destructive/10 text-destructive' : 'bg-muted/50 text-foreground',\n )}\n >\n {errorText && <div>{errorText}</div>}\n {Output}\n </div>\n </div>\n );\n};\n",
|
|
19
17
|
"import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/cn';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n outline: 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-md px-3 text-xs',\n lg: 'h-10 rounded-md px-8',\n icon: 'h-9 w-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n",
|
|
20
18
|
"import { Button } from '../primitives/button';\nimport { cn } from '../lib/cn';\nimport { CheckIcon, CopyIcon } from 'lucide-react';\nimport {\n type ComponentProps,\n createContext,\n type HTMLAttributes,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type CodeBlockProps = HTMLAttributes<HTMLDivElement> & {\n code: string;\n language: string;\n showLineNumbers?: boolean;\n};\n\ntype CodeBlockContextType = {\n code: string;\n};\n\nconst CodeBlockContext = createContext<CodeBlockContextType>({\n code: '',\n});\n\n/**\n * Highlight code using shiki. Gracefully falls back to plain text if shiki is not installed.\n */\nasync function highlightCode(code: string, language: string, showLineNumbers = false): Promise<[string, string]> {\n try {\n const shiki = await import('shiki');\n const lineNumberTransformer = showLineNumbers\n ? [\n {\n name: 'line-numbers',\n line(node: any, line: number) {\n node.children.unshift({\n type: 'element',\n tagName: 'span',\n properties: {\n className: ['inline-block', 'min-w-10', 'mr-4', 'text-right', 'select-none', 'text-muted-foreground'],\n },\n children: [{ type: 'text', value: String(line) }],\n });\n },\n },\n ]\n : [];\n\n const [light, dark] = await Promise.all([\n shiki.codeToHtml(code, { lang: language as any, theme: 'one-light', transformers: lineNumberTransformer }),\n shiki.codeToHtml(code, { lang: language as any, theme: 'one-dark-pro', transformers: lineNumberTransformer }),\n ]);\n return [light, dark];\n } catch {\n // Shiki not installed - return empty to trigger fallback\n return ['', ''];\n }\n}\n\nexport const CodeBlock = ({\n code,\n language,\n showLineNumbers = false,\n className,\n children,\n ...props\n}: CodeBlockProps) => {\n const [html, setHtml] = useState<string>('');\n const [darkHtml, setDarkHtml] = useState<string>('');\n const effectIdRef = useRef(0);\n\n useEffect(() => {\n const id = ++effectIdRef.current;\n highlightCode(code, language, showLineNumbers).then(([light, dark]) => {\n if (id === effectIdRef.current) {\n setHtml(light);\n setDarkHtml(dark);\n }\n });\n }, [code, language, showLineNumbers]);\n\n const useFallback = !html && !darkHtml;\n\n return (\n <CodeBlockContext.Provider value={{ code }}>\n <div\n className={cn(\n 'group relative w-full overflow-hidden rounded-md border bg-background text-foreground',\n className,\n )}\n {...props}\n >\n <div className=\"relative\">\n {useFallback ? (\n <pre className=\"m-0 overflow-auto bg-background p-4 text-foreground text-sm\">\n <code className=\"font-mono text-sm\">{code}</code>\n </pre>\n ) : (\n <>\n <div\n className=\"overflow-hidden dark:hidden [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:font-mono [&_code]:text-sm\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n <div\n className=\"hidden overflow-hidden dark:block [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:font-mono [&_code]:text-sm\"\n dangerouslySetInnerHTML={{ __html: darkHtml }}\n />\n </>\n )}\n {children && <div className=\"absolute top-2 right-2 flex items-center gap-2\">{children}</div>}\n </div>\n </div>\n </CodeBlockContext.Provider>\n );\n};\n\nexport type CodeBlockCopyButtonProps = ComponentProps<typeof Button> & {\n onCopy?: () => void;\n onError?: (error: Error) => void;\n timeout?: number;\n};\n\nexport const CodeBlockCopyButton = ({\n onCopy,\n onError,\n timeout = 2000,\n children,\n className,\n ...props\n}: CodeBlockCopyButtonProps) => {\n const [isCopied, setIsCopied] = useState(false);\n const { code } = useContext(CodeBlockContext);\n\n const copyToClipboard = async () => {\n if (typeof window === 'undefined' || !navigator?.clipboard?.writeText) {\n onError?.(new Error('Clipboard API not available'));\n return;\n }\n\n try {\n await navigator.clipboard.writeText(code);\n setIsCopied(true);\n onCopy?.();\n setTimeout(() => setIsCopied(false), timeout);\n } catch (error) {\n onError?.(error as Error);\n }\n };\n\n const Icon = isCopied ? CheckIcon : CopyIcon;\n\n return (\n <Button className={cn('shrink-0', className)} onClick={copyToClipboard} size=\"icon\" variant=\"ghost\" {...props}>\n {children ?? <Icon size={14} />}\n </Button>\n );\n};\n",
|
|
21
|
-
"import
|
|
22
|
-
"import { Button } from '../primitives/button';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../primitives/tooltip';\nimport { cn } from '../lib/cn';\nimport { type LucideIcon, XIcon } from 'lucide-react';\nimport type { ComponentProps, HTMLAttributes } from 'react';\n\nexport type ArtifactProps = HTMLAttributes<HTMLDivElement>;\n\nexport const Artifact = ({ className, ...props }: ArtifactProps) => (\n <div\n className={cn('flex flex-col overflow-hidden rounded-lg border bg-background shadow-sm', className)}\n {...props}\n />\n);\n\nexport type ArtifactHeaderProps = HTMLAttributes<HTMLDivElement>;\n\nexport const ArtifactHeader = ({ className, ...props }: ArtifactHeaderProps) => (\n <div className={cn('flex items-center justify-between border-b bg-muted/50 px-4 py-3', className)} {...props} />\n);\n\nexport type ArtifactCloseProps = ComponentProps<typeof Button>;\n\nexport const ArtifactClose = ({\n className,\n children,\n size = 'sm',\n variant = 'ghost',\n ...props\n}: ArtifactCloseProps) => (\n <Button\n className={cn('size-8 p-0 text-muted-foreground hover:text-foreground', className)}\n size={size}\n type=\"button\"\n variant={variant}\n {...props}\n >\n {children ?? <XIcon className=\"size-4\" />}\n <span className=\"sr-only\">Close</span>\n </Button>\n);\n\nexport type ArtifactTitleProps = HTMLAttributes<HTMLParagraphElement>;\n\nexport const ArtifactTitle = ({ className, ...props }: ArtifactTitleProps) => (\n <p className={cn('font-medium text-foreground text-sm', className)} {...props} />\n);\n\nexport type ArtifactDescriptionProps = HTMLAttributes<HTMLParagraphElement>;\n\nexport const ArtifactDescription = ({ className, ...props }: ArtifactDescriptionProps) => (\n <p className={cn('text-muted-foreground text-sm', className)} {...props} />\n);\n\nexport type ArtifactActionsProps = HTMLAttributes<HTMLDivElement>;\n\nexport const ArtifactActions = ({ className, ...props }: ArtifactActionsProps) => (\n <div className={cn('flex items-center gap-1', className)} {...props} />\n);\n\nexport type ArtifactActionProps = ComponentProps<typeof Button> & {\n tooltip?: string;\n label?: string;\n icon?: LucideIcon;\n};\n\nexport const ArtifactAction = ({\n tooltip,\n label,\n icon: Icon,\n children,\n className,\n size = 'sm',\n variant = 'ghost',\n ...props\n}: ArtifactActionProps) => {\n const button = (\n <Button\n className={cn('size-8 p-0 text-muted-foreground hover:text-foreground', className)}\n size={size}\n type=\"button\"\n variant={variant}\n {...props}\n >\n {Icon ? <Icon className=\"size-4\" /> : children}\n <span className=\"sr-only\">{label || tooltip}</span>\n </Button>\n );\n\n if (tooltip) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>\n <p>{tooltip}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n};\n\nexport type ArtifactContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const ArtifactContent = ({ className, ...props }: ArtifactContentProps) => (\n <div className={cn('flex-1 overflow-auto p-4', className)} {...props} />\n);\n",
|
|
23
|
-
"import type { ToolCall } from '@rodrigocoliveira/agno-types';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../../components/tool';\nimport { Artifact } from '../../components/artifact';\nimport { GenerativeUIRenderer } from '../../../components/GenerativeUIRenderer';\nimport type { ToolState } from '../../types';\n\nexport interface ToolDebugCardProps {\n tool: ToolCall;\n defaultOpen?: boolean;\n}\n\nconst getToolState = (tool: ToolCall): ToolState =>\n tool.tool_call_error ? 'output-error' : 'output-available';\n\nexport function ToolDebugCard({ tool, defaultOpen }: ToolDebugCardProps) {\n const output = tool.result ?? tool.content;\n return (\n <Tool defaultOpen={defaultOpen}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {output ? (\n <ToolOutput\n output={output}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n ) : null}\n </ToolContent>\n </Tool>\n );\n}\n\nexport interface ToolGenerativeUIProps {\n tool: ToolCall;\n}\n\nexport function ToolGenerativeUI({ tool }: ToolGenerativeUIProps) {\n const uiComponent = (tool as ToolCall & { ui_component?: any }).ui_component;\n if (!uiComponent) return null;\n return uiComponent.layout === 'artifact' ? (\n <Artifact>\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full p-2\" />\n </Artifact>\n ) : (\n <GenerativeUIRenderer spec={uiComponent} className=\"w-full\" />\n );\n}\n",
|
|
19
|
+
"import type { ToolCall } from '@rodrigocoliveira/agno-types';\nimport { Tool, ToolContent, ToolHeader, ToolInput, ToolOutput } from '../../components/tool';\nimport type { ToolState } from '../../types';\n\nexport interface ToolDebugCardProps {\n tool: ToolCall;\n defaultOpen?: boolean;\n}\n\nconst getToolState = (tool: ToolCall): ToolState =>\n tool.tool_call_error ? 'output-error' : 'output-available';\n\nexport function ToolDebugCard({ tool, defaultOpen }: ToolDebugCardProps) {\n const output = tool.result ?? tool.content;\n return (\n <Tool defaultOpen={defaultOpen}>\n <ToolHeader title={tool.tool_name} type=\"tool-use\" state={getToolState(tool)} />\n <ToolContent>\n <ToolInput input={tool.tool_args} />\n {output ? (\n <ToolOutput\n output={output}\n errorText={tool.tool_call_error ? 'Tool execution failed' : undefined}\n />\n ) : null}\n </ToolContent>\n </Tool>\n );\n}\n",
|
|
24
20
|
"import { useMemo, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport type { ChatMessage } from '@rodrigocoliveira/agno-types';\nimport { AlertCircle, FileIcon, Music } from 'lucide-react';\nimport { SmartTimestamp } from '../../components/smart-timestamp';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { FilePreviewModal } from '../../components/file-preview-modal';\nimport { ImageLightbox } from '../../components/image-lightbox';\nimport type { FilePreviewFile } from '../../components/file-preview-card';\nimport type { LightboxImage } from '../../components/image-lightbox';\nimport { formatSmartTimestamp } from '../../lib/format-timestamp';\nimport { cn } from '../../lib/cn';\nimport type {\n AgnoMessageClassNames,\n AgnoMessageActions,\n AgnoMessageAvatars,\n} from '../../types';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { AgnoMessageContext } from './context';\nimport type { AgnoMessageContextValue } from './context';\nimport { AgnoMessageReasoning } from './reasoning';\nimport { AgnoMessageMedia } from './media';\nimport { AgnoMessageTools } from './tools';\nimport { AgnoMessageContent } from './content';\nimport { AgnoMessageReferences } from './references';\nimport { AgnoMessageFooter } from './footer';\n\nexport interface AgnoMessageProps {\n message: ChatMessage;\n className?: string;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isLastAssistantMessage?: boolean;\n showFilePreview?: boolean;\n showImageLightbox?: boolean;\n showTimestamp?: boolean;\n formatTimestamp?: (date: Date) => string;\n renderTool?: RenderTool;\n /**\n * Custom slot composition for assistant messages. If provided, replaces the\n * default ordering. Use `<AgnoMessage.Reasoning />`, `<AgnoMessage.Media />`,\n * `<AgnoMessage.Tools />`, `<AgnoMessage.Content />`, `<AgnoMessage.References />`,\n * `<AgnoMessage.Footer />` in any order. User messages ignore this — their layout\n * is fixed.\n */\n children?: ReactNode;\n}\n\ntype PreviewState =\n | { type: 'image'; images: LightboxImage[]; initialIndex: number }\n | { type: 'file'; file: FilePreviewFile }\n | null;\n\nfunction DefaultAssistantComposition({ showTimestamp }: { showTimestamp: boolean }) {\n return (\n <>\n <AgnoMessageReasoning />\n <AgnoMessageMedia />\n <AgnoMessageTools />\n <AgnoMessageContent />\n <AgnoMessageReferences />\n <AgnoMessageFooter showTimestamp={showTimestamp} />\n </>\n );\n}\n\nexport function AgnoMessage({\n message,\n className,\n classNames,\n avatars,\n actions,\n isLastAssistantMessage = false,\n showFilePreview = true,\n showImageLightbox = true,\n showTimestamp = true,\n formatTimestamp,\n renderTool,\n children,\n}: AgnoMessageProps) {\n const isUser = message.role === 'user';\n const hasError = message.streamingError;\n const [preview, setPreview] = useState<PreviewState>(null);\n\n const isCustomTimestamp = !!formatTimestamp;\n const resolvedFormatTimestamp = formatTimestamp ?? formatSmartTimestamp;\n\n const ctx = useMemo<AgnoMessageContextValue>(\n () => ({\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n openImageLightbox: (images, index) => {\n if (!showImageLightbox) return;\n setPreview({ type: 'image', images, initialIndex: index });\n },\n openFilePreview: (file) => {\n if (!showFilePreview) return;\n setPreview({ type: 'file', file });\n },\n renderTool,\n }),\n [\n message,\n isLastAssistantMessage,\n classNames,\n actions,\n avatars,\n formatTimestamp,\n showFilePreview,\n showImageLightbox,\n renderTool,\n ],\n );\n\n const closePreview = () => setPreview(null);\n\n return (\n <AgnoMessageContext.Provider value={ctx}>\n <div className={cn('py-5 first:pt-2', isUser ? 'flex justify-end' : '', classNames?.root, className)}>\n {isUser ? (\n <UserMessageLayout\n message={message}\n classNames={classNames}\n avatars={avatars}\n actions={actions}\n isCustomTimestamp={isCustomTimestamp}\n resolvedFormatTimestamp={resolvedFormatTimestamp}\n showTimestamp={showTimestamp}\n showImageLightbox={showImageLightbox}\n showFilePreview={showFilePreview}\n openImageLightbox={ctx.openImageLightbox}\n openFilePreview={ctx.openFilePreview}\n hasError={hasError}\n />\n ) : (\n <div className=\"flex items-start gap-3 group/message\">\n {avatars?.assistant}\n <div className={cn('flex-1 min-w-0 space-y-3', classNames?.assistant?.container)}>\n {children ?? <DefaultAssistantComposition showTimestamp={showTimestamp} />}\n </div>\n </div>\n )}\n\n {preview?.type === 'image' && (\n <ImageLightbox\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n images={preview.images}\n initialIndex={preview.initialIndex}\n />\n )}\n {preview?.type === 'file' && (\n <FilePreviewModal\n open\n onOpenChange={(open) => { if (!open) closePreview(); }}\n file={preview.file}\n />\n )}\n </div>\n </AgnoMessageContext.Provider>\n );\n}\n\nAgnoMessage.Reasoning = AgnoMessageReasoning;\nAgnoMessage.Media = AgnoMessageMedia;\nAgnoMessage.Tools = AgnoMessageTools;\nAgnoMessage.Content = AgnoMessageContent;\nAgnoMessage.References = AgnoMessageReferences;\nAgnoMessage.Footer = AgnoMessageFooter;\n\ninterface UserMessageLayoutProps {\n message: ChatMessage;\n classNames?: AgnoMessageClassNames;\n avatars?: AgnoMessageAvatars;\n actions?: AgnoMessageActions;\n isCustomTimestamp: boolean;\n resolvedFormatTimestamp: (date: Date) => string;\n showTimestamp: boolean;\n showImageLightbox: boolean;\n showFilePreview: boolean;\n openImageLightbox: (images: LightboxImage[], idx: number) => void;\n openFilePreview: (file: FilePreviewFile) => void;\n hasError?: boolean;\n}\n\nfunction UserMessageLayout({\n message,\n classNames,\n avatars,\n actions,\n isCustomTimestamp,\n resolvedFormatTimestamp,\n showTimestamp,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n hasError,\n}: UserMessageLayoutProps) {\n return (\n <div className=\"flex items-start gap-2.5 max-w-[80%] flex-row-reverse\">\n {avatars?.user}\n <div className=\"space-y-1.5 flex flex-col items-end min-w-0\">\n {((message.images && message.images.length > 0) ||\n (message.audio && message.audio.length > 0) ||\n (message.files && message.files.length > 0)) && (\n <div className=\"flex flex-wrap gap-2 justify-end\">\n {message.images?.map((img, idx) => (\n <FilePreviewCard\n key={`img-${idx}`}\n file={{ name: img.revised_prompt || `Image ${idx + 1}`, type: 'image/png', url: img.url }}\n onClick={\n showImageLightbox\n ? () =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n : undefined\n }\n />\n ))}\n {message.audio?.map((audio, idx) => (\n <div\n key={`audio-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <Music className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{audio.id || `Audio ${idx + 1}`}</span>\n </div>\n ))}\n {message.files?.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={`file-${idx}`}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={`file-${idx}`}\n className=\"flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1.5 text-xs text-foreground self-end\"\n >\n <FileIcon className=\"h-3.5 w-3.5 text-muted-foreground\" />\n <span className=\"truncate max-w-[150px]\">{file.name}</span>\n </div>\n ),\n )}\n </div>\n )}\n {message.content && (\n <div\n className={cn(\n 'rounded-2xl rounded-br-md px-4 py-2.5',\n classNames?.user?.bubble ?? 'bg-primary text-primary-foreground',\n hasError && 'opacity-70',\n )}\n >\n <p className=\"text-sm whitespace-pre-wrap\">{message.content}</p>\n </div>\n )}\n {(showTimestamp || actions?.user) && (\n <div className=\"flex items-center justify-end gap-1.5 px-1\">\n {actions?.user && (\n <div className=\"flex items-center gap-1\">\n {actions.user(message)}\n </div>\n )}\n <SmartTimestamp\n date={new Date(message.created_at * 1000)}\n formatShort={isCustomTimestamp ? resolvedFormatTimestamp : undefined}\n className=\"text-[11px] text-muted-foreground\"\n />\n {hasError && <AlertCircle className=\"h-3 w-3 text-destructive\" />}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n",
|
|
21
|
+
"import * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from '../lib/cn';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\nconst Tooltip = TooltipPrimitive.Root;\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n",
|
|
25
22
|
"/**\n * Smart timestamp formatting utilities using Intl.DateTimeFormat (zero deps).\n */\n\n/**\n * Formats a date with smart relative context:\n * - Today: \"09:06 AM\"\n * - This year: \"Feb 19\"\n * - Other year: \"Feb 18, 2025\"\n */\nexport function formatSmartTimestamp(date: Date): string {\n const now = new Date();\n const isToday =\n date.getFullYear() === now.getFullYear() &&\n date.getMonth() === now.getMonth() &&\n date.getDate() === now.getDate();\n\n if (isToday) {\n return new Intl.DateTimeFormat(undefined, {\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n }\n\n const isSameYear = date.getFullYear() === now.getFullYear();\n\n if (isSameYear) {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n }).format(date);\n }\n\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n }).format(date);\n}\n\n/**\n * Formats a full timestamp for tooltip display.\n * Always shows: \"Feb 19, 2026, 09:50 AM\"\n */\nexport function formatFullTimestamp(date: Date): string {\n return new Intl.DateTimeFormat(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n hour12: true,\n }).format(date);\n}\n",
|
|
26
23
|
"import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../primitives/tooltip';\nimport { formatSmartTimestamp, formatFullTimestamp } from '../lib/format-timestamp';\n\nexport interface SmartTimestampProps {\n date: Date;\n /** Override the short display text (e.g. custom formatTimestamp prop) */\n formatShort?: (date: Date) => string;\n className?: string;\n}\n\nexport function SmartTimestamp({ date, formatShort, className }: SmartTimestampProps) {\n const shortText = formatShort ? formatShort(date) : formatSmartTimestamp(date);\n const fullText = formatFullTimestamp(date);\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <span className={className}>{shortText}</span>\n </TooltipTrigger>\n <TooltipContent>\n <p>{fullText}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n",
|
|
27
24
|
"export type FilePreviewType = 'image' | 'pdf' | 'text' | 'video' | 'audio' | 'none';\n\n/**\n * Determines the preview type for a given MIME type.\n */\nexport function getFilePreviewType(mimeType?: string): FilePreviewType {\n if (!mimeType) return 'none';\n if (mimeType.startsWith('image/')) return 'image';\n if (mimeType === 'application/pdf') return 'pdf';\n if (mimeType.startsWith('text/')) return 'text';\n if (mimeType.startsWith('video/')) return 'video';\n if (mimeType.startsWith('audio/')) return 'audio';\n return 'none';\n}\n\n/**\n * Formats bytes into a human-readable file size string.\n * e.g. 2457600 => \"2.4 MB\"\n */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const k = 1024;\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const value = bytes / Math.pow(k, i);\n return `${value % 1 === 0 ? value : value.toFixed(1)} ${units[i]}`;\n}\n\n/**\n * Extracts the file extension from a filename.\n * Optionally falls back to deriving extension from MIME type.\n */\nexport function getFileExtension(filename: string, mimeType?: string): string {\n const lastDot = filename.lastIndexOf('.');\n if (lastDot !== -1 && lastDot !== 0) {\n return filename.slice(lastDot + 1).toLowerCase();\n }\n // Fallback: derive from MIME type\n if (mimeType) {\n return extensionFromMime(mimeType);\n }\n return '';\n}\n\nconst mimeToExt: Record<string, string> = {\n 'application/pdf': 'pdf',\n 'application/zip': 'zip',\n 'application/x-rar-compressed': 'rar',\n 'application/json': 'json',\n 'application/xml': 'xml',\n 'application/msword': 'doc',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'docx',\n 'application/vnd.ms-excel': 'xls',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xlsx',\n 'application/vnd.ms-powerpoint': 'ppt',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'pptx',\n 'text/csv': 'csv',\n 'text/plain': 'txt',\n 'text/html': 'html',\n 'text/css': 'css',\n 'text/javascript': 'js',\n};\n\nfunction extensionFromMime(mimeType: string): string {\n if (mimeToExt[mimeType]) return mimeToExt[mimeType];\n // Generic fallback: \"image/png\" -> \"png\", \"audio/mp3\" -> \"mp3\"\n const subtype = mimeType.split('/')[1];\n if (subtype && !subtype.includes('.') && !subtype.includes('+')) {\n return subtype.toLowerCase();\n }\n return '';\n}\n\n/**\n * Returns true if the MIME type is previewable in the browser.\n */\nexport function isPreviewable(mimeType?: string): boolean {\n const type = getFilePreviewType(mimeType);\n return type === 'image' || type === 'pdf';\n}\n",
|
|
@@ -34,7 +31,7 @@
|
|
|
34
31
|
"import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDown } from 'lucide-react';\nimport { cn } from '../lib/cn';\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />\n));\nAccordionItem.displayName = 'AccordionItem';\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn('pb-4 pt-0', className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n",
|
|
35
32
|
"import { FileIcon, Image as ImageIcon, Music, Paperclip, Video } from 'lucide-react';\nimport { FilePreviewCard } from '../../components/file-preview-card';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageMedia() {\n const {\n message,\n classNames,\n showImageLightbox,\n showFilePreview,\n openImageLightbox,\n openFilePreview,\n } = useAgnoMessageContext();\n const mediaClassName = classNames?.assistant?.media;\n\n const hasImages = !!message.images && message.images.length > 0;\n const hasVideos = !!message.videos && message.videos.length > 0;\n const hasAudio = !!message.audio && message.audio.length > 0;\n const hasFiles = !!message.files && message.files.length > 0;\n const hasResponseAudio = !!message.response_audio;\n\n if (!hasImages && !hasVideos && !hasAudio && !hasFiles && !hasResponseAudio) return null;\n\n return (\n <>\n {hasImages && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <ImageIcon className=\"h-3.5 w-3.5\" />\n Images ({message.images!.length})\n </div>\n <div className=\"grid grid-cols-2 gap-2\">\n {message.images!.map((img, idx) => (\n <div key={idx} className=\"space-y-1\">\n {showImageLightbox ? (\n <button\n type=\"button\"\n onClick={() =>\n openImageLightbox(\n message.images!.map((i) => ({ url: i.url, alt: i.revised_prompt })),\n idx,\n )\n }\n className=\"group relative w-full overflow-hidden rounded-lg border border-border cursor-pointer hover:border-primary/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors\"\n >\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg\"\n />\n </button>\n ) : (\n <img\n src={img.url}\n alt={img.revised_prompt || 'Generated image'}\n className=\"w-full rounded-lg border border-border\"\n />\n )}\n {img.revised_prompt && (\n <p className=\"text-[11px] text-muted-foreground italic px-0.5\">\n {img.revised_prompt}\n </p>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasVideos && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Video className=\"h-3.5 w-3.5\" />\n Videos ({message.videos!.length})\n </div>\n <div className=\"space-y-2\">\n {message.videos!.map((video, idx) => (\n <div key={idx}>\n {video.url ? (\n <video src={video.url} controls className=\"w-full rounded-lg border border-border\" />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Video ID: {video.id} (ETA: {video.eta}s)\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasAudio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Audio ({message.audio!.length})\n </div>\n <div className=\"space-y-2\">\n {message.audio!.map((audio, idx) => (\n <div key={idx}>\n {audio.url ? (\n <audio src={audio.url} controls className=\"w-full\" />\n ) : audio.base64_audio ? (\n <audio\n src={`data:${audio.mime_type || 'audio/wav'};base64,${audio.base64_audio}`}\n controls\n className=\"w-full\"\n />\n ) : (\n <div className=\"bg-muted/50 border border-border p-2.5 rounded-lg text-xs text-muted-foreground\">\n Audio data unavailable\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n )}\n\n {hasFiles && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Paperclip className=\"h-3.5 w-3.5\" />\n Files ({message.files!.length})\n </div>\n <div className=\"flex flex-wrap gap-2\">\n {message.files!.map((file, idx) =>\n showFilePreview ? (\n <FilePreviewCard\n key={idx}\n file={{ name: file.name, type: file.type, url: file.url, size: file.size }}\n onClick={() =>\n openFilePreview({ name: file.name, type: file.type, url: file.url, size: file.size })\n }\n />\n ) : (\n <div\n key={idx}\n className=\"flex items-center gap-2 rounded-lg border border-border px-3 py-2 text-xs bg-muted/30 hover:bg-muted/50 transition-colors\"\n >\n <FileIcon className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate max-w-[180px]\">{file.name}</span>\n {file.size && (\n <span className=\"text-muted-foreground/70\">\n ({(file.size / 1024).toFixed(1)}KB)\n </span>\n )}\n {file.url && /^https?:\\/\\//i.test(file.url) && (\n <a\n href={file.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline font-medium\"\n >\n View\n </a>\n )}\n </div>\n ),\n )}\n </div>\n </div>\n )}\n\n {hasResponseAudio && message.response_audio && (\n <div className={cn('space-y-2 pt-1', mediaClassName)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <Music className=\"h-3.5 w-3.5\" />\n Response Audio\n </div>\n {message.response_audio.transcript && (\n <div className=\"text-xs italic bg-muted/50 border border-border p-2.5 rounded-lg text-muted-foreground\">\n \"{message.response_audio.transcript}\"\n </div>\n )}\n {message.response_audio.content && (\n <audio\n src={`data:audio/wav;base64,${message.response_audio.content}`}\n controls\n className=\"w-full\"\n />\n )}\n </div>\n )}\n </>\n );\n}\n",
|
|
36
33
|
"import { createContext, useContext } from 'react';\nimport type { RefObject } from 'react';\nimport type { ChatMessage, ClientState, ToolCall } from '@rodrigocoliveira/agno-types';\nimport type { RenderTool } from './render-tool';\n\nexport interface AgnoChatContextValue {\n // From useAgnoChat()\n messages: ChatMessage[];\n sendMessage: (\n message: string | FormData,\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n clearMessages: () => void;\n cancelRun: () => Promise<void>;\n isStreaming: boolean;\n isRefreshing: boolean;\n isCancelling: boolean;\n currentRunId?: string;\n error?: string;\n state: ClientState;\n\n // From useAgnoToolExecution()\n isPaused: boolean;\n isExecuting: boolean;\n pendingTools: ToolCall[];\n executeAndContinue: () => Promise<void>;\n executeTools: (tools: ToolCall[]) => Promise<ToolCall[]>;\n continueWithResults: (\n tools: ToolCall[],\n options?: { headers?: Record<string, string>; params?: Record<string, string> },\n ) => Promise<void>;\n executionError?: string;\n\n // Derived convenience\n handleSend: (message: string | FormData) => Promise<void>;\n inputDisabled: boolean;\n\n // Drop zone\n dropZoneContainerRef?: RefObject<HTMLElement | null>;\n\n // Tool rendering\n renderTool?: RenderTool;\n isDebug: boolean;\n}\n\nexport const AgnoChatContext = createContext<AgnoChatContextValue | null>(null);\n\nexport function useAgnoChatContext(): AgnoChatContextValue {\n const ctx = useContext(AgnoChatContext);\n if (!ctx) {\n throw new Error(\n 'useAgnoChatContext must be used within an <AgnoChat> provider. ' +\n 'Wrap your component tree with <AgnoChat>.',\n );\n }\n return ctx;\n}\n",
|
|
37
|
-
"import type { ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoChatContext } from '../agno-chat/context';\nimport { ToolDebugCard
|
|
34
|
+
"import type { ReactNode } from 'react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoChatContext } from '../agno-chat/context';\nimport { ToolDebugCard } from '../agno-chat/tool-building-blocks';\nimport type { RenderTool } from '../agno-chat/render-tool';\nimport { useAgnoMessageContext } from './context';\n\nexport interface AgnoMessageToolsProps {\n /** Override the `renderTool` from context for this slot only */\n renderTool?: RenderTool;\n}\n\nexport function AgnoMessageTools({ renderTool: renderToolProp }: AgnoMessageToolsProps = {}) {\n const { message, classNames, renderTool: ctxMsgRenderTool } = useAgnoMessageContext();\n const { renderTool: ctxChatRenderTool, isDebug } = useAgnoChatContext();\n const renderTool = renderToolProp ?? ctxMsgRenderTool ?? ctxChatRenderTool;\n\n if (!message.tool_calls || message.tool_calls.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.toolCalls)}>\n {message.tool_calls.map((tool, idx) => {\n const defaultRender = (): ReactNode =>\n isDebug ? <ToolDebugCard tool={tool} defaultOpen={idx === 0} /> : null;\n const node = renderTool\n ? renderTool(tool, { index: idx, isDebug, defaultRender })\n : defaultRender();\n if (node === null || node === undefined) return null;\n return <div key={tool.tool_call_id || idx}>{node}</div>;\n })}\n </div>\n );\n}\n",
|
|
38
35
|
"import { cn } from '../lib/cn';\nimport { type ComponentProps, memo } from 'react';\nimport { Streamdown } from 'streamdown';\n\nexport type ResponseProps = ComponentProps<typeof Streamdown>;\n\nexport const Response = memo(\n ({ className, ...props }: ResponseProps) => (\n <Streamdown\n className={cn('size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0', className)}\n {...props}\n />\n ),\n (prevProps, nextProps) => prevProps.children === nextProps.children,\n);\n\nResponse.displayName = 'Response';\n",
|
|
39
36
|
"import { Response } from '../../components/response';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageContent() {\n const { message } = useAgnoMessageContext();\n if (!message.content) return null;\n return (\n <div className=\"prose prose-sm dark:prose-invert max-w-none prose-p:leading-relaxed prose-pre:bg-muted prose-pre:border prose-pre:border-border\">\n <Response>{message.content}</Response>\n </div>\n );\n}\n",
|
|
40
37
|
"import { FileText } from 'lucide-react';\nimport { cn } from '../../lib/cn';\nimport { useAgnoMessageContext } from './context';\n\nexport function AgnoMessageReferences() {\n const { message, classNames } = useAgnoMessageContext();\n const references = message.extra_data?.references;\n if (!references || references.length === 0) return null;\n\n return (\n <div className={cn('space-y-2 pt-1', classNames?.assistant?.references)}>\n <div className=\"flex items-center gap-2 text-xs font-medium text-muted-foreground\">\n <FileText className=\"h-3.5 w-3.5\" />\n References ({references.length})\n </div>\n <div className=\"space-y-2\">\n {references.map((refData, idx) => (\n <div key={idx} className=\"text-xs space-y-1.5\">\n {refData.query && (\n <div className=\"font-medium text-foreground\">Query: {refData.query}</div>\n )}\n {refData.references.map((ref, refIdx) => (\n <div key={refIdx} className=\"bg-muted/50 border border-border p-2.5 rounded-lg\">\n <div className=\"italic text-muted-foreground mb-1\">\"{ref.content}\"</div>\n <div className=\"text-muted-foreground/70\">\n Source: {ref.name} (chunk {ref.meta_data.chunk}/{ref.meta_data.chunk_size})\n </div>\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n );\n}\n",
|
|
@@ -48,7 +45,7 @@
|
|
|
48
45
|
"import { useState, useEffect, useCallback } from 'react';\nimport type {\n TraceSummary,\n TraceDetail,\n TraceNode,\n TraceSessionStats,\n ListTracesOptions,\n GetTraceOptions,\n GetTraceSessionStatsOptions,\n} from '@rodrigocoliveira/agno-types';\nimport type {\n PaginatedTracesResult,\n PaginatedTraceSessionStatsResult,\n} from '@rodrigocoliveira/agno-client';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n// Re-export for convenience\nexport type { PaginatedTracesResult, PaginatedTraceSessionStatsResult };\n\n/**\n * Hook for traces management\n *\n * Provides methods to:\n * - List traces with filters (fetchTraces)\n * - Get trace detail or specific span (getTraceDetail)\n * - Get trace session statistics (fetchTraceSessionStats)\n *\n * @example\n * ```tsx\n * const { traces, fetchTraces, isLoading, error } = useAgnoTraces();\n *\n * // Fetch traces for a specific session\n * useEffect(() => {\n * fetchTraces({ session_id: 'my-session-id' });\n * }, []);\n *\n * // Fetch traces with pagination\n * const result = await fetchTraces({ page: 1, limit: 10 });\n * console.log(result.pagination.total_count);\n * ```\n */\nexport function useAgnoTraces() {\n const client = useAgnoClient();\n const [traces, setTraces] = useState<TraceSummary[]>([]);\n const [traceSessionStats, setTraceSessionStats] = useState<TraceSessionStats[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n // Listen to state changes from client\n useEffect(() => {\n const handleStateChange = () => {\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n };\n\n client.on('state:change', handleStateChange);\n\n // Initialize from current state\n const state = client.getState();\n setTraces(state.traces);\n setTraceSessionStats(state.traceSessionStats);\n\n return () => {\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n /**\n * Fetch traces with optional filters\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Traces result with pagination info\n */\n const fetchTraces = useCallback(\n async (\n options: ListTracesOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTracesResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraces(options, requestOptions);\n setTraces(result.traces);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Get trace detail or a specific span\n *\n * @param traceId - The trace ID to fetch\n * @param options - Options including optional span_id, run_id, db_id\n * @param requestOptions - Optional per-request headers and params\n * @returns TraceDetail (full trace) or TraceNode (specific span)\n */\n const getTraceDetail = useCallback(\n async (\n traceId: string,\n options: GetTraceOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<TraceDetail | TraceNode> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getTraceDetail(traceId, options, requestOptions);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n /**\n * Fetch trace session statistics\n *\n * @param options - Filter and pagination options\n * @param requestOptions - Optional per-request headers and params\n * @returns Trace session stats result with pagination info\n */\n const fetchTraceSessionStats = useCallback(\n async (\n options: GetTraceSessionStatsOptions = {},\n requestOptions?: { headers?: Record<string, string>; params?: Record<string, string> }\n ): Promise<PaginatedTraceSessionStatsResult> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const result = await client.fetchTraceSessionStats(options, requestOptions);\n setTraceSessionStats(result.stats);\n return result;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n /** Current list of traces (from last fetchTraces call) */\n traces,\n /** Current trace session statistics (from last fetchTraceSessionStats call) */\n traceSessionStats,\n /** Fetch traces with optional filters and pagination */\n fetchTraces,\n /** Get trace detail or specific span */\n getTraceDetail,\n /** Fetch trace session statistics */\n fetchTraceSessionStats,\n /** Loading state */\n isLoading,\n /** Error message if last operation failed */\n error,\n };\n}\n",
|
|
49
46
|
"import { useState, useEffect, useCallback } from 'react';\nimport type {\n ComponentResponse,\n ComponentCreate,\n ComponentUpdate,\n ComponentConfigResponse,\n ConfigCreate,\n ConfigUpdate,\n ComponentsListResponse,\n ListComponentsParams,\n} from '@rodrigocoliveira/agno-types';\nimport { useAgnoClient } from '../context/AgnoContext';\n\n/**\n * Hook for AgentOS Studio components (DB-stored agents/teams/workflows).\n *\n * Covers both component CRUD and config versioning. Components live in the\n * AgentOS database and represent agents/teams/workflows that can be created,\n * edited, and published without code changes.\n *\n * Note: the Agno `/components` endpoint has no native filter by `user_id`.\n * For per-user scoping, either store `user_id` in `metadata` and filter\n * client-side, or extend your backend and pass `params: { user_id }` through.\n */\nexport function useAgnoComponents() {\n const client = useAgnoClient();\n const [components, setComponents] = useState<ComponentResponse[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | undefined>();\n\n useEffect(() => {\n const handleComponentCreated = (component: ComponentResponse) => {\n setComponents((prev) => [component, ...prev]);\n };\n\n const handleComponentUpdated = (component: ComponentResponse) => {\n setComponents((prev) =>\n prev.map((c) => (c.component_id === component.component_id ? component : c))\n );\n };\n\n const handleComponentDeleted = ({ componentId }: { componentId: string }) => {\n setComponents((prev) => prev.filter((c) => c.component_id !== componentId));\n };\n\n const handleStateChange = () => {\n setComponents(client.getState().components);\n };\n\n client.on('component:created', handleComponentCreated);\n client.on('component:updated', handleComponentUpdated);\n client.on('component:deleted', handleComponentDeleted);\n client.on('state:change', handleStateChange);\n\n setComponents(client.getState().components);\n\n return () => {\n client.off('component:created', handleComponentCreated);\n client.off('component:updated', handleComponentUpdated);\n client.off('component:deleted', handleComponentDeleted);\n client.off('state:change', handleStateChange);\n };\n }, [client]);\n\n const fetchComponents = useCallback(\n async (\n queryParams?: ListComponentsParams,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentsListResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n const response = await client.fetchComponents(queryParams, options);\n setComponents(response.data);\n return response;\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const getComponentById = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getComponentById(componentId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const createComponent = useCallback(\n async (\n request: ComponentCreate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.createComponent(request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const updateComponent = useCallback(\n async (\n componentId: string,\n request: ComponentUpdate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateComponent(componentId, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const deleteComponent = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteComponent(componentId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const fetchComponentConfigs = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse[]> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.fetchComponentConfigs(componentId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const createComponentConfig = useCallback(\n async (\n componentId: string,\n request: ConfigCreate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.createComponentConfig(componentId, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const getCurrentComponentConfig = useCallback(\n async (\n componentId: string,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getCurrentComponentConfig(componentId, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const getComponentConfigByVersion = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.getComponentConfigByVersion(componentId, version, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const updateComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n request: ConfigUpdate,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.updateComponentConfig(componentId, version, request, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const deleteComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<void> => {\n setIsLoading(true);\n setError(undefined);\n try {\n await client.deleteComponentConfig(componentId, version, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n const setCurrentComponentConfig = useCallback(\n async (\n componentId: string,\n version: number,\n options?: { params?: Record<string, string> }\n ): Promise<ComponentConfigResponse> => {\n setIsLoading(true);\n setError(undefined);\n try {\n return await client.setCurrentComponentConfig(componentId, version, options);\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : String(err);\n setError(errorMessage);\n throw err;\n } finally {\n setIsLoading(false);\n }\n },\n [client]\n );\n\n return {\n components,\n isLoading,\n error,\n fetchComponents,\n getComponentById,\n createComponent,\n updateComponent,\n deleteComponent,\n fetchComponentConfigs,\n createComponentConfig,\n getCurrentComponentConfig,\n getComponentConfigByVersion,\n updateComponentConfig,\n deleteComponentConfig,\n setCurrentComponentConfig,\n };\n}\n"
|
|
50
47
|
],
|
|
51
|
-
"mappings": "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",
|
|
52
|
-
"debugId": "
|
|
48
|
+
"mappings": ";;;;;;;;;AAAA;AACA;AAAA;AAMA,IAAM,cAAc,cAAiC,IAAI;AAUlD,SAAS,YAAY,GAAG,QAAQ,YAA+B;AAAA,EAGpE,MAAM,SAAS,QAAQ,MAAM,IAAI,WAAW,MAAM,GAAG,CAAC,CAAC;AAAA,EAGvD,UAAU,MAAM;AAAA,IACd,OAAO,aAAa,MAAM;AAAA,KACzB,CAAC,QAAQ,MAAM,CAAC;AAAA,EAGnB,UAAU,MAAM;AAAA,IACd,OAAO,MAAM;AAAA,MAEX,OAAO,mBAAmB;AAAA;AAAA,KAE3B,CAAC,MAAM,CAAC;AAAA,EAEX,uBACE,IAEE,YAAY,UAFd;AAAA,IAAsB,OAAO;AAAA,IAA7B;AAAA,GAEE;AAAA;AAOC,SAAS,aAAa,GAAe;AAAA,EAC1C,MAAM,SAAS,WAAW,WAAW;AAAA,EAErC,IAAI,CAAC,QAAQ;AAAA,IACX,MAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AAAA,EAEA,OAAO;AAAA;;ACpDT,0BAAgB,8BAAe;AAAA;AAe/B,IAAM,qBAAqB,eAA8C,IAAI;AAwBtE,SAAS,mBAAmB,GAAG,UAAU,kBAAkB,CAAC,GAAG,YAAsC;AAAA,EAC1G,OAAO,UAAU,eAAe,SAAsC,eAAe;AAAA,EAKrF,MAAM,kBAAkB,YAAY,CAAC,MAAc,YAAyB;AAAA,IAC1E,YAAY,WAAS,KAAK,OAAO,OAAO,QAAQ,EAAE;AAAA,KACjD,CAAC,CAAC;AAAA,EAKL,MAAM,oBAAoB,YAAY,CAAC,SAAiB;AAAA,IACtD,YAAY,UAAQ;AAAA,MAClB,SAAS,OAAO,MAAM,SAAS;AAAA,MAC/B,OAAO;AAAA,KACR;AAAA,KACA,CAAC,CAAC;AAAA,EAEL,MAAM,QAAiC;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,uBACE,KAEE,mBAAmB,UAFrB;AAAA,IAA6B;AAAA,IAA7B;AAAA,GAEE;AAAA;AAcC,SAAS,eAAe,GAAmC;AAAA,EAChE,OAAO,YAAW,kBAAkB;AAAA;;ACzC/B,SAAS,cAAc,CAC5B,MACA,MACA,MACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,MAAM,KAAK,IAAI,UAAQ;AAAA,QACrB,KAAK,IAAI;AAAA,QACT,OAAO,IAAI,SAAS,IAAI;AAAA,QACxB,OAAO,IAAI;AAAA,MACb,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,MACA,MACA,OACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,MAAM,IAAI,WAAS;AAAA,QACxB,KAAK,KAAK;AAAA,QACV,OAAO,KAAK,SAAS,KAAK;AAAA,QAC1B,OAAO,KAAK;AAAA,MACd,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,cAAc,CAC5B,MACA,SACA,SACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,KAAK;AAAA,QACH;AAAA,QACA;AAAA,QACA,OAAO,SAAS,aAAa;AAAA,MAC/B;AAAA,MACA,YAAY,SAAS,cAAc;AAAA,MACnC,QAAQ,SAAS,UAAU;AAAA,MAC3B,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAMK,SAAS,eAAe,CAC7B,MACA,MACA,OACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,WAAW;AAAA,IACX,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,MAAM,IAAI,WAAS;AAAA,QACxB,KAAK,KAAK;AAAA,QACV,OAAO,KAAK,SAAS,KAAK;AAAA,QAC1B,OAAO,KAAK;AAAA,MACd,EAAE;AAAA,MACF,YAAY,SAAS,cAAc;AAAA,MACnC,UAAU,SAAS,YAAY;AAAA,MAC/B,QAAQ,SAAS;AAAA,MACjB,OAAO,SAAS;AAAA,IAClB;AAAA,EACF;AAAA;AAuBK,SAAS,cAAc,CAC5B,OACA,SACuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,SAAS,SAAS,WAAW,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,EAAE;AAAA,MACxD,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,UAAU,CACxB,IACA,OACA,aACA,SAKU;AAAA,EACV,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,EACpB;AAAA;AAsBK,SAAS,WAAW,CACzB,MACA,SACA,SACoB;AAAA,EACpB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU,SAAS,YAAY;AAAA,MAC/B,YAAY,SAAS;AAAA,MACrB,YAAY,SAAS;AAAA,MACrB,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,YAAY,CAC1B,KACA,QACA,SAMa;AAAA,EACb,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,UAAU,SAAS;AAAA,IACnB,UAAU,SAAS,YAAY;AAAA,IAC/B,QAAQ,SAAS;AAAA,EACnB;AAAA;AAMK,SAAS,cAAc,CAC5B,SACA,SAMuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,SAAS;AAAA,IACjB,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,iBAAiB,SAAS,mBAAmB;AAAA,IAC/C;AAAA,EACF;AAAA;AAMK,SAAS,cAAc,CAC5B,SACA,SAKuB;AAAA,EACvB,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO,SAAS;AAAA,IAChB,aAAa,SAAS;AAAA,IACtB,OAAO;AAAA,MACL;AAAA,MACA,SAAS,SAAS,WAAW;AAAA,IAC/B;AAAA,EACF;AAAA;AAMK,SAAS,gBAAgB,CAC9B,MACA,SAQoB;AAAA,EAEpB,IAAI,CAAC,QAAQ,KAAK,WAAW,GAAG;AAAA,IAC9B,OAAO,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO;AAAA,EAC3C;AAAA,EAGA,MAAM,YAAY,KAAK;AAAA,EACvB,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,EAGlC,MAAM,OACJ,SAAS,QACT,KAAK,KAAK,OACR,CAAC,QAAQ,SAAS,YAAY,QAAQ,QAAQ,SAAS,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CACzF,KACA,KAAK;AAAA,EAGP,MAAM,cAAc,KAAK,OAAO,OAAK,MAAM,QAAQ,OAAO,UAAU,OAAO,QAAQ;AAAA,EACnF,MAAM,QAAQ,SAAS,SAAS;AAAA,EAGhC,IAAI,SAAS,eAAe;AAAA,IAC1B,QAAQ,QAAQ;AAAA,WACT;AAAA,QACH,OAAO,eACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,WACG;AAAA,QACH,OAAO,eAAe,MAAM,MAAM,IAAI,MAAM,OAAO;AAAA;AAAA,EAEzD;AAAA,EAIA,IAAI,MAAM,WAAW,KAAK,OAAO,UAAU,UAAU,UAAU;AAAA,IAC7D,OAAO,eAAe,MAAM,MAAM,IAAI,MAAM,OAAO;AAAA,EACrD;AAAA,EAGA,IACE,KAAK,YAAY,EAAE,SAAS,MAAM,KAClC,KAAK,YAAY,EAAE,SAAS,MAAM,KAClC,KAAK,YAAY,EAAE,SAAS,OAAO,KACnC,KAAK,YAAY,EAAE,SAAS,MAAM,GAClC;AAAA,IACA,OAAO,gBACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA,EACF;AAAA,EAGA,OAAO,eACL,MACA,MACA,MAAM,IAAI,UAAQ,EAAE,IAAI,EAAE,GAC1B,OACF;AAAA;AAMK,SAAS,gBAAgB,CAAC,MAAW,IAAwC;AAAA,EAClF,OAAO,EAAE,MAAM,GAAG;AAAA;AAMb,SAAS,kBAAkB,CAChC,MACA,MACA,MACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,eAAe,MAAM,MAAM,MAAM,OAAO,CAAC;AAAA;AAMlE,SAAS,oBAAoB,CAClC,MACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,iBAAiB,MAAM,OAAO,CAAC;AAAA;AAMxD,SAAS,kBAAkB,CAChC,OACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,OAAO,eAAe,OAAO,OAAO,CAAC;AAAA;AAMxD,SAAS,eAAe,CAC7B,MACA,SACA,SACmB;AAAA,EACnB,OAAO,iBAAiB,MAAM,YAAY,MAAM,SAAS,OAAO,CAAC;AAAA;;ACvdnE,qBAAS,wBAAU,2BAAW;AAQvB,SAAS,WAAW,GAAG;AAAA,EAC5B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,UAAwB,OAAO,YAAY,CAAC;AAAA,EAC5E,OAAO,OAAO,YAAY,UAAsB,OAAO,SAAS,CAAC;AAAA,EAGjE,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,oBAAmC;AAAA,MAC9D,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,wBAAwB,CAAC,oBAAmC;AAAA,MAChE,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,yBAAyB,CAAC,oBAAmC;AAAA,MACjE,YAAY,eAAe;AAAA;AAAA,IAG7B,MAAM,oBAAoB,CAAC,aAA0B;AAAA,MACnD,SAAS,QAAQ;AAAA;AAAA,IAInB,MAAM,iBAAiB,CAAC,UAAe;AAAA,MACrC,QAAQ,UAAU;AAAA,MAGlB,WAAW,QAAQ,OAAO;AAAA,QACxB,IAAK,KAAa,cAAc;AAAA,UAC9B,OAAO,kBAAkB,KAAK,cAAe,KAAa,YAAY;AAAA,QACxE;AAAA,MACF;AAAA;AAAA,IAIF,MAAM,qBAAqB,MAAM;AAAA,IAKjC,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,oBAAoB,qBAAqB;AAAA,IACnD,OAAO,GAAG,qBAAqB,sBAAsB;AAAA,IACrD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAC3C,OAAO,GAAG,aAAa,cAAc;AAAA,IACrC,OAAO,GAAG,iBAAiB,kBAAkB;AAAA,IAG7C,YAAY,OAAO,YAAY,CAAC;AAAA,IAChC,SAAS,OAAO,SAAS,CAAC;AAAA,IAE1B,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,oBAAoB,qBAAqB;AAAA,MACpD,OAAO,IAAI,qBAAqB,sBAAsB;AAAA,MACtD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA,MAC5C,OAAO,IAAI,aAAa,cAAc;AAAA,MACtC,OAAO,IAAI,iBAAiB,kBAAkB;AAAA;AAAA,KAE/C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAClB,OAAO,SAA4B,YAAoF;AAAA,IACrH,IAAI;AAAA,MACF,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,MACzC,OAAO,KAAK;AAAA,MACZ,MAAM;AAAA;AAAA,KAGV,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aAAY,MAAM;AAAA,IACtC,OAAO,cAAc;AAAA,IACrB,YAAY,CAAC,CAAC;AAAA,KACb,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,YAAY,aAAY,YAAY;AAAA,IACxC,MAAM,OAAO,UAAU;AAAA,KACtB,CAAC,MAAM,CAAC;AAAA,EAEX,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,UAAU,MAAM;AAAA,IAChB,cAAc,MAAM;AAAA,IACpB,cAAc,MAAM;AAAA,IACpB,OAAO,MAAM;AAAA,IACb;AAAA,EACF;AAAA;;AC/GF,qBAAS,wBAAU,2BAAW;AAgBvB,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,UAAyB,CAAC,CAAC;AAAA,EAC3D,OAAO,kBAAkB,uBAAuB,UAC9C,OAAO,UAAU,EAAE,SACrB;AAAA,EACA,OAAO,WAAW,gBAAgB,UAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,UAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,cAAsB;AAAA,MACjD,oBAAoB,SAAS;AAAA;AAAA,IAG/B,MAAM,uBAAuB,CAAC,YAA0B;AAAA,MACtD,YAAY,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;AAAA,MACxC,oBAAoB,QAAQ,UAAU;AAAA;AAAA,IAGxC,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAS,OAAO,UAAU;AAAA,MAChC,oBAAoB,OAAO,SAAS;AAAA,MACpC,YAAY,OAAO,SAAS,EAAE,QAAQ;AAAA;AAAA,IAGxC,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,mBAAmB,oBAAoB;AAAA,IACjD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,YAAY,OAAO,SAAS,EAAE,QAAQ;AAAA,IACtC,oBAAoB,OAAO,UAAU,EAAE,SAAS;AAAA,IAEhD,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,mBAAmB,oBAAoB;AAAA,MAClD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAClB,OAAO,WAAmB,YAA0E;AAAA,IAClG,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,YAAY,WAAW,OAAO;AAAA,MAC5D,oBAAoB,SAAS;AAAA,MAC7B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aAAY,OAAO,YAA2E;AAAA,IAClH,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,kBAAkB,MAAM,OAAO,cAAc,OAAO;AAAA,MAC1D,YAAY,eAAe;AAAA,MAC3B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAEnB,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,iBAAiB,aACrB,OACE,WACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,eAAe,WAAW,OAAO;AAAA,MACrD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,aACjB,OACE,WACA,OACA,YACuC;AAAA,IACvC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO,OAAO;AAAA,MACxD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,UAAU,MAAM,OAAO,cAAc,SAAS,OAAO;AAAA,MAC3D,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAC7D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,SACA,YACgE;AAAA,IAChE,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAC7D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,WACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,cAAc,WAAW,OAAO;AAAA,MAC7C,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,yBAAyB,aAC7B,OACE,YACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,uBAAuB,YAAY,OAAO;AAAA,MACvD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;ACrRF,qBAAS,0BAAU;AAOZ,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,gBAAgB,qBAAqB,UAAS,KAAK;AAAA,EAC1D,OAAO,OAAO,YAAY,UAA6B;AAAA,EAKvD,MAAM,aAAa,aAAY,OAAO,YAGhC;AAAA,IACJ,kBAAkB,IAAI;AAAA,IACtB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,WAAW,OAAO;AAAA,MAC9C,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,kBAAkB,KAAK;AAAA;AAAA,KAExB,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAAY,OAAO,YAAoE;AAAA,IACzG,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,YAAY,OAAO;AAAA,MACvC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,OAAO;AAAA;AAAA,KAER,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,cAAc,aAAY,OAAO,YAA2E;AAAA,IAChH,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,YAAY,OAAO;AAAA,MACvC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAEP,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,aAAa,aAAY,OAAO,YAA0E;AAAA,IAC9G,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,OAAO;AAAA,MACtC,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA;AAAA,KAEP,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,eAAe,aACnB,CAAC,YAAgE;AAAA,IAC/D,OAAO,aAAa,OAAO;AAAA,KAE7B,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC7FF,qBAAS,wBAAU,2BAAW,yBAAa;AAW3C,SAAS,mBAAmB,CAAC,OAAwC;AAAA,EACnE,OAAO,SAAS,OAAO,UAAU,cAAa,UAAU,WAAS,QAAQ;AAAA;AAG3E,SAAS,iBAAiB,CAAC,OAAsC;AAAA,EAC/D,OAAO,SAAS,OAAO,UAAU,YAAY,UAAU;AAAA;AAQlD,SAAS,iBAAiB,CAAC,QAAa,OAG7C;AAAA,EACA,IAAI,oBAAoB,MAAM,GAAG;AAAA,IAC/B,QAAQ,MAAM,OAAO;AAAA,IACrB,OAAO;AAAA,MACL,YAAY,OAAO,SAAS,WAAW,OAAO,KAAK,UAAU,IAAI;AAAA,MACjE,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,IAAI,kBAAkB,MAAM,GAAG;AAAA,IAC7B,OAAO;AAAA,MACL,YAAY,KAAK,UAAU,MAAM;AAAA,MACjC,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,YAAY,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,MAAM;AAAA,IACvE,aAAa;AAAA,EACf;AAAA;AAuCK,SAAS,oBAAoB,CAClC,WAAwC,CAAC,GACzC,cAAuB,MACvB,SACA;AAAA,EACA,MAAM,SAAS,cAAc;AAAA,EAC7B,MAAM,qBAAqB,gBAAgB;AAAA,EAG3C,MAAM,aAAa,OAAO,UAAU,EAAE,SAAS;AAAA,EAG/C,WAAU,MAAM;AAAA,IACd,IAAI,YAAY;AAAA,MACd,QAAQ,KACN,yGACA,sFACF;AAAA,IACF;AAAA,KACC,CAAC,UAAU,CAAC;AAAA,EAGf,MAAM,iBAAiB,SAAQ,MAAM;AAAA,IACnC,MAAM,iBAAiB,oBAAoB,YAAY,CAAC;AAAA,IACxD,OAAO,KAAK,mBAAmB,SAAS;AAAA,KACvC,CAAC,oBAAoB,UAAU,QAAQ,CAAC;AAAA,EAE3C,OAAO,cAAc,mBAAmB,UAAqB,CAAC,CAAC;AAAA,EAC/D,OAAO,UAAU,eAAe,UAAS,KAAK;AAAA,EAC9C,OAAO,aAAa,kBAAkB,UAAS,KAAK;AAAA,EACpD,OAAO,gBAAgB,qBAAqB,UAA6B;AAAA,EAGzE,WAAU,MAAM;AAAA,IAEd,IAAI,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IAEA,MAAM,kBAAkB,CAAC,UAA8B;AAAA,MACrD,YAAY,IAAI;AAAA,MAChB,gBAAgB,MAAM,KAAK;AAAA,MAC3B,kBAAkB,SAAS;AAAA;AAAA,IAG7B,MAAM,qBAAqB,MAAM;AAAA,MAC/B,YAAY,KAAK;AAAA,MACjB,gBAAgB,CAAC,CAAC;AAAA,MAClB,eAAe,KAAK;AAAA,MACpB,kBAAkB,SAAS;AAAA;AAAA,IAG7B,OAAO,GAAG,cAAc,eAAe;AAAA,IACvC,OAAO,GAAG,iBAAiB,kBAAkB;AAAA,IAE7C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,cAAc,eAAe;AAAA,MACxC,OAAO,IAAI,iBAAiB,kBAAkB;AAAA;AAAA,KAE/C,CAAC,QAAQ,UAAU,CAAC;AAAA,EAKvB,MAAM,qBAAqB,aAAY,YAAY;AAAA,IACjD,IAAI,CAAC,YAAY,aAAa,WAAW,GAAG;AAAA,MAC1C,QAAQ,KAAK,yDAAyD;AAAA,MACtE;AAAA,IACF;AAAA,IAEA,eAAe,IAAI;AAAA,IACnB,kBAAkB,SAAS;AAAA,IAE3B,IAAI;AAAA,MAEF,MAAM,eAAe,MAAM,QAAQ,IACjC,aAAa,IAAI,OAAO,SAAS;AAAA,QAC/B,MAAM,UAAU,eAAe,KAAK;AAAA,QAEpC,IAAI,CAAC,SAAS;AAAA,UACZ,OAAO;AAAA,eACF;AAAA,YACH,QAAQ,KAAK,UAAU;AAAA,cACrB,OAAO,6BAA6B,KAAK;AAAA,YAC3C,CAAC;AAAA,UACH;AAAA,QACF;AAAA,QAEA,IAAI;AAAA,UACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,UAG3C,QAAQ,YAAY,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,UAElE,OAAO;AAAA,eACF;AAAA,YACH,QAAQ;AAAA,YACR,cAAc;AAAA,UAChB;AAAA,UACA,OAAO,OAAO;AAAA,UACd,OAAO;AAAA,eACF;AAAA,YACH,QAAQ,KAAK,UAAU;AAAA,cACrB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,YAC9D,CAAC;AAAA,UACH;AAAA;AAAA,OAEH,CACH;AAAA,MAIA,MAAM,cAAc,aAAa,OAAO,OAAM,EAAU,YAAY;AAAA,MACpE,IAAI,YAAY,SAAS,GAAG;AAAA,QAE1B,OAAO,KAAK,aAAa;AAAA,UACvB,OAAO;AAAA,UACP,OAAO,OAAO,SAAS,EAAE;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,MAIA,OAAO,0BAA0B,YAAY;AAAA,MAG7C,MAAM,OAAO,YAAY,YAAY;AAAA,MACrC,OAAO,OAAO;AAAA,MACd,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,MAC1E,kBAAkB,YAAY;AAAA,MAC9B,eAAe,KAAK;AAAA,MACpB,MAAM;AAAA;AAAA,KAEP,CAAC,QAAQ,gBAAgB,UAAU,YAAY,CAAC;AAAA,EAKnD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,OAAO,eAAuB;AAAA,MACxD,MAAM,WAAW,OAAO,YAAY;AAAA,MAEpC,WAAW,WAAW,UAAU;AAAA,QAC9B,IAAI,CAAC,QAAQ;AAAA,UAAY;AAAA,QAEzB,WAAW,QAAQ,QAAQ,YAAY;AAAA,UAErC,IAAK,KAAa;AAAA,YAAc;AAAA,UAIhC,IAAI,SAAS,wBAAwB,SAAS,KAAK,SAAS;AAAA,YAAG;AAAA,UAE/D,MAAM,UAAU,eAAe,KAAK;AAAA,UACpC,IAAI,CAAC;AAAA,YAAS;AAAA,UAEd,IAAI;AAAA,YACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,YAC3C,QAAQ,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,YAEtD,IAAI,aAAa;AAAA,cACf,OAAO,kBAAkB,KAAK,cAAc,WAAW;AAAA,YACzD;AAAA,YACA,OAAO,KAAK;AAAA,YACZ,QAAQ,MAAM,4BAA4B,KAAK,cAAc,GAAG;AAAA;AAAA,QAEpE;AAAA,MACF;AAAA;AAAA,IAGF,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA;AAAA,KAEjD,CAAC,QAAQ,cAAc,CAAC;AAAA,EAM3B,MAAM,eAAe,aACnB,OAAO,UAA2C;AAAA,IAChD,OAAO,QAAQ,IACb,MAAM,IAAI,OAAO,SAAS;AAAA,MACxB,MAAM,UAAU,eAAe,KAAK;AAAA,MACpC,IAAI,CAAC;AAAA,QAAS,OAAO;AAAA,MAErB,IAAI;AAAA,QACF,MAAM,SAAS,MAAM,QAAQ,KAAK,SAAS;AAAA,QAG3C,QAAQ,YAAY,gBAAgB,kBAAkB,QAAQ,IAAI;AAAA,QAElE,OAAO;AAAA,aACF;AAAA,UACH,QAAQ;AAAA,UACR,cAAc;AAAA,QAChB;AAAA,QACA,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,aACF;AAAA,UACH,QAAQ,KAAK,UAAU;AAAA,YACrB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,UAC9D,CAAC;AAAA,QACH;AAAA;AAAA,KAEH,CACH;AAAA,KAEF,CAAC,cAAc,CACjB;AAAA,EAKA,MAAM,sBAAsB,aAC1B,OAAO,OAAmB,aAAoF;AAAA,IAC5G,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,IAAI,MAAM,2BAA2B;AAAA,IAC7C;AAAA,IACA,eAAe,IAAI;AAAA,IACnB,IAAI;AAAA,MACF,MAAM,OAAO,YAAY,OAAO,QAAO;AAAA,MACvC,OAAO,OAAO;AAAA,MACd,eAAe,KAAK;AAAA,MACpB,MAAM;AAAA;AAAA,KAGV,CAAC,QAAQ,QAAQ,CACnB;AAAA,EAGA,WAAU,MAAM;AAAA,IACd,IAAI,eAAe,YAAY,CAAC,eAAe,aAAa,SAAS,GAAG;AAAA,MACtE,mBAAmB;AAAA,IACrB;AAAA,KACC,CAAC,aAAa,UAAU,aAAa,aAAa,QAAQ,kBAAkB,CAAC;AAAA,EAEhF,OAAO;AAAA,IAEL;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EACF;AAAA;;ACrUK,SAAS,UAAU,CACxB,KACA,UACY;AAAA,EACZ,OAAO,CAAC,MAAM,SAAS;AAAA,IAGrB,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,KAAK,KAAK,SAAS,GAAG;AAAA,MAC9D,OAAO,WAAW,SAAS,MAAM,IAAI,IAAI,KAAK,cAAc;AAAA,IAC9D;AAAA,IACA,MAAM,QAAQ,IAAI,KAAK;AAAA,IACvB,IAAI,UAAU;AAAA,MAAO,OAAO;AAAA,IAC5B,OAAO,MAAM,MAAM,IAAI;AAAA;AAAA;;ACxB3B;;;ACDA;AACA;AAEO,SAAS,EAAE,IAAI,QAAsB;AAAA,EAC1C,OAAO,QAAQ,KAAK,MAAM,CAAC;AAAA;;;;ADA7B,IAAM,gBAAgB,IACpB,wKACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CACF;AAIA,SAAS,KAAK,GAAG,WAAW,YAAY,SAAqB;AAAA,EAC3D,uBAAO,KAAC,OAAD;AAAA,IAAK,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,OAAO;AAAA,GAAO;AAAA;;;AExB/E;AAEA,IAAM,cAAmC;AACzC,IAAM,sBAA0C;AAChD,IAAM,sBAA0C;;;ACAhD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA;;;ACbA;AACA;AACA,gBAAS;;AAGT,IAAM,iBAAiB,KACrB,ySACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAW;AAAA,MACX,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF,CACF;AAQA,IAAM,SAAe,kBACnB,GAAG,WAAW,SAAS,MAAM,UAAU,UAAU,SAAS,QAAQ;AAAA,EAChE,MAAM,OAAO,UAAU,OAAO;AAAA,EAC9B,uBAAO,KAAC,MAAD;AAAA,IAAM,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,IAAG;AAAA,OAAc;AAAA,GAAO;AAAA,CAEnG;AACA,OAAO,cAAc;;;ACzCrB;AACA;AAAA,mBAEE;AAAA,gBAEA;AAAA,eACA;AAAA;AAAA,cAEA;AAAA;AAAA;AAaF,IAAM,mBAAmB,eAAoC;AAAA,EAC3D,MAAM;AACR,CAAC;AAKD,eAAe,aAAa,CAAC,MAAc,UAAkB,kBAAkB,OAAkC;AAAA,EAC/G,IAAI;AAAA,IACF,MAAM,QAAQ,MAAa;AAAA,IAC3B,MAAM,wBAAwB,kBAC1B;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,IAAI,CAAC,MAAW,MAAc;AAAA,UAC5B,KAAK,SAAS,QAAQ;AAAA,YACpB,MAAM;AAAA,YACN,SAAS;AAAA,YACT,YAAY;AAAA,cACV,WAAW,CAAC,gBAAgB,YAAY,QAAQ,cAAc,eAAe,uBAAuB;AAAA,YACtG;AAAA,YACA,UAAU,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,IAAI,EAAE,CAAC;AAAA,UAClD,CAAC;AAAA;AAAA,MAEL;AAAA,IACF,IACA,CAAC;AAAA,IAEL,OAAO,OAAO,QAAQ,MAAM,QAAQ,IAAI;AAAA,MACtC,MAAM,WAAW,MAAM,EAAE,MAAM,UAAiB,OAAO,aAAa,cAAc,sBAAsB,CAAC;AAAA,MACzG,MAAM,WAAW,MAAM,EAAE,MAAM,UAAiB,OAAO,gBAAgB,cAAc,sBAAsB,CAAC;AAAA,IAC9G,CAAC;AAAA,IACD,OAAO,CAAC,OAAO,IAAI;AAAA,IACnB,MAAM;AAAA,IAEN,OAAO,CAAC,IAAI,EAAE;AAAA;AAAA;AAIX,IAAM,YAAY;AAAA,EACvB;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,KACG;AAAA,MACiB;AAAA,EACpB,OAAO,MAAM,WAAW,UAAiB,EAAE;AAAA,EAC3C,OAAO,UAAU,eAAe,UAAiB,EAAE;AAAA,EACnD,MAAM,cAAc,OAAO,CAAC;AAAA,EAE5B,WAAU,MAAM;AAAA,IACd,MAAM,KAAK,EAAE,YAAY;AAAA,IACzB,cAAc,MAAM,UAAU,eAAe,EAAE,KAAK,EAAE,OAAO,UAAU;AAAA,MACrE,IAAI,OAAO,YAAY,SAAS;AAAA,QAC9B,QAAQ,KAAK;AAAA,QACb,YAAY,IAAI;AAAA,MAClB;AAAA,KACD;AAAA,KACA,CAAC,MAAM,UAAU,eAAe,CAAC;AAAA,EAEpC,MAAM,cAAc,CAAC,QAAQ,CAAC;AAAA,EAE9B,uBACE,KA4BE,iBAAiB,UA5BnB;AAAA,IAA2B,OAAO,EAAE,KAAK;AAAA,IAAzC,0BACE,KA0BE,OA1BF;AAAA,MACE,WAAW,GACT,yFACA,SACF;AAAA,SACI;AAAA,MALN,0BAOE,KAkBE,OAlBF;AAAA,QAAK,WAAU;AAAA,QAAf,UAkBE;AAAA,UAjBC,8BACC,KAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,0BACE,KAA4C,QAA5C;AAAA,cAAM,WAAU;AAAA,cAAhB,UAAqC;AAAA,aAAO;AAAA,WAC5C,oBAEF;AAAA,sBASE;AAAA,8BARA,KAAC,OAAD;AAAA,gBACE,WAAU;AAAA,gBACV,yBAAyB,EAAE,QAAQ,KAAK;AAAA,eAC1C;AAAA,8BACA,KAAC,OAAD;AAAA,gBACE,WAAU;AAAA,gBACV,yBAAyB,EAAE,QAAQ,SAAS;AAAA,eAC9C;AAAA;AAAA,WACA;AAAA,UAEH,4BAAY,KAA4E,OAA5E;AAAA,YAAK,WAAU;AAAA,YAAf;AAAA,WAA4E;AAAA;AAAA,OACzF;AAAA,KACF;AAAA,GACF;AAAA;;;;AFjGC,IAAM,OAAO,GAAG,cAAc,4BACnC,KAAC,aAAD;AAAA,EAAa,WAAW,GAAG,2CAA2C,SAAS;AAAA,KAAO;AAAA,CAAO;AAU/F,IAAM,iBAAiB,CAAC,WAAsB;AAAA,EAC5C,MAAM,SAAiC;AAAA,IACrC,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,EACnB;AAAA,EAEA,MAAM,QAAmC;AAAA,IACvC,mCAAmB,KAAC,YAAD;AAAA,MAAY,WAAU;AAAA,KAAS;AAAA,IAClD,mCAAmB,KAAC,WAAD;AAAA,MAAW,WAAU;AAAA,KAAuB;AAAA,IAC/D,sCAAsB,KAAC,WAAD;AAAA,MAAW,WAAU;AAAA,KAAyB;AAAA,IACpE,sCAAsB,KAAC,iBAAD;AAAA,MAAiB,WAAU;AAAA,KAAuB;AAAA,IACxE,oCAAoB,KAAC,iBAAD;AAAA,MAAiB,WAAU;AAAA,KAAwB;AAAA,IACvE,gCAAgB,KAAC,aAAD;AAAA,MAAa,WAAU;AAAA,KAAsB;AAAA,IAC7D,iCAAiB,KAAC,aAAD;AAAA,MAAa,WAAU;AAAA,KAAyB;AAAA,EACnE;AAAA,EAEA,uBACE,MAGE,OAHF;AAAA,IAAO,WAAU;AAAA,IAA+B,SAAQ;AAAA,IAAxD,UAGE;AAAA,MAFC,MAAM;AAAA,MACN,OAAO;AAAA;AAAA,GACR;AAAA;AAIC,IAAM,aAAa,GAAG,WAAW,OAAO,MAAM,UAAU,4BAC7D,MAOE,qBAPF;AAAA,EAAoB,WAAW,GAAG,4DAA4D,SAAS;AAAA,KAAO;AAAA,EAA9G,UAOE;AAAA,oBANA,MAIE,OAJF;AAAA,MAAK,WAAU;AAAA,MAAf,UAIE;AAAA,wBAHA,KAAC,YAAD;AAAA,UAAY,WAAU;AAAA,SAA+B;AAAA,wBACrD,KAAgG,QAAhG;AAAA,UAAM,WAAU;AAAA,UAAhB,UAAuC,SAAS,MAAM,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK;AAAA,SAAS;AAAA,QAC/F,eAAe,KAAK;AAAA;AAAA,KACrB;AAAA,oBACF,KAAC,iBAAD;AAAA,MAAiB,WAAU;AAAA,KAAuF;AAAA;AAAA,CAClH;AAKG,IAAM,cAAc,GAAG,cAAc,4BAC1C,KAAC,qBAAD;AAAA,EACE,WAAW,GACT,iNACA,SACF;AAAA,KACI;AAAA,CACN;AAOK,IAAM,YAAY,GAAG,WAAW,UAAU,4BAC/C,MAKE,OALF;AAAA,EAAK,WAAW,GAAG,iCAAiC,SAAS;AAAA,KAAO;AAAA,EAApE,UAKE;AAAA,oBAJA,KAA8F,MAA9F;AAAA,MAAI,WAAU;AAAA,MAAd;AAAA,KAA8F;AAAA,oBAC9F,KAEE,OAFF;AAAA,MAAK,WAAU;AAAA,MAAf,0BACE,KAAC,WAAD;AAAA,QAAW,MAAM,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,QAAG,UAAS;AAAA,OAAO;AAAA,KACjE;AAAA;AAAA,CACF;AAQG,IAAM,aAAa,GAAG,WAAW,QAAQ,cAAc,YAA6B;AAAA,EACzF,IAAI,EAAE,UAAU,YAAY;AAAA,IAC1B,OAAO;AAAA,EACT;AAAA,EAEA,IAAI,yBAAS,KAA4B,OAA5B;AAAA,cAAM;AAAA,GAAsB;AAAA,EAEzC,IAAI,OAAO,WAAW,YAAY,CAAC,eAAe,MAAM,GAAG;AAAA,IACzD,yBAAS,KAAC,WAAD;AAAA,MAAW,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,MAAG,UAAS;AAAA,KAAO;AAAA,EAC7E,EAAO,SAAI,OAAO,WAAW,UAAU;AAAA,IACrC,yBAAS,KAAC,WAAD;AAAA,MAAW,MAAM;AAAA,MAAQ,UAAS;AAAA,KAAO;AAAA,EACpD;AAAA,EAEA,uBACE,MAaE,OAbF;AAAA,IAAK,WAAW,GAAG,iBAAiB,SAAS;AAAA,OAAO;AAAA,IAApD,UAaE;AAAA,sBAZA,KAEE,MAFF;AAAA,QAAI,WAAU;AAAA,QAAd,UACG,YAAY,UAAU;AAAA,OACvB;AAAA,sBACF,MAQE,OARF;AAAA,QACE,WAAW,GACT,uDACA,YAAY,uCAAuC,6BACrD;AAAA,QAJF,UAQE;AAAA,UAFC,6BAAa,KAAkB,OAAlB;AAAA,sBAAM;AAAA,WAAY;AAAA,UAC/B;AAAA;AAAA,OACD;AAAA;AAAA,GACF;AAAA;;;;AGrHN,IAAM,eAAe,CAAC,SACpB,KAAK,kBAAkB,iBAAiB;AAEnC,SAAS,aAAa,GAAG,MAAM,eAAmC;AAAA,EACvE,MAAM,SAAS,KAAK,UAAU,KAAK;AAAA,EACnC,uBACE,MAWE,MAXF;AAAA,IAAM;AAAA,IAAN,UAWE;AAAA,sBAVA,KAAC,YAAD;AAAA,QAAY,OAAO,KAAK;AAAA,QAAW,MAAK;AAAA,QAAW,OAAO,aAAa,IAAI;AAAA,OAAG;AAAA,sBAC9E,MAQE,aARF;AAAA,kBAQE;AAAA,0BAPA,KAAC,WAAD;AAAA,YAAW,OAAO,KAAK;AAAA,WAAW;AAAA,UACjC,yBACC,KAAC,YAAD;AAAA,YACE;AAAA,YACA,WAAW,KAAK,kBAAkB,0BAA0B;AAAA,WAC9D,IACE;AAAA;AAAA,OACJ;AAAA;AAAA,GACF;AAAA;;AC1BN,oBAAS,sBAAS;AAGlB,wBAAS,0BAAa,oBAAU;;;ACHhC;AACA;;AAGA,IAAM,kBAAmC;AACzC,IAAM,UAA2B;AACjC,IAAM,iBAAkC;AAExC,IAAM,iBAAuB,kBAG3B,GAAG,WAAW,aAAa,MAAM,SAAS,wBAC1C,KAUmB,yBAVnB;AAAA,4BACE,KAAkB,0BAAlB;AAAA,IACE;AAAA,IACA;AAAA,IACA,WAAW,GACT,uaACA,SACF;AAAA,OACI;AAAA,GACN;AAAA,CACA,CACH;AACD,eAAe,cAA+B,yBAAQ;;;ACd/C,SAAS,oBAAoB,CAAC,MAAoB;AAAA,EACvD,MAAM,MAAM,IAAI;AAAA,EAChB,MAAM,UACJ,KAAK,YAAY,MAAM,IAAI,YAAY,KACvC,KAAK,SAAS,MAAM,IAAI,SAAS,KACjC,KAAK,QAAQ,MAAM,IAAI,QAAQ;AAAA,EAEjC,IAAI,SAAS;AAAA,IACX,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,MACxC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV,CAAC,EAAE,OAAO,IAAI;AAAA,EAChB;AAAA,EAEA,MAAM,aAAa,KAAK,YAAY,MAAM,IAAI,YAAY;AAAA,EAE1D,IAAI,YAAY;AAAA,IACd,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,MACxC,OAAO;AAAA,MACP,KAAK;AAAA,IACP,CAAC,EAAE,OAAO,IAAI;AAAA,EAChB;AAAA,EAEA,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,IACxC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR,CAAC,EAAE,OAAO,IAAI;AAAA;AAOT,SAAS,mBAAmB,CAAC,MAAoB;AAAA,EACtD,OAAO,IAAI,KAAK,eAAe,WAAW;AAAA,IACxC,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC,EAAE,OAAO,IAAI;AAAA;;;;AC3CT,SAAS,cAAc,GAAG,MAAM,aAAa,aAAkC;AAAA,EACpF,MAAM,YAAY,cAAc,YAAY,IAAI,IAAI,qBAAqB,IAAI;AAAA,EAC7E,MAAM,WAAW,oBAAoB,IAAI;AAAA,EAEzC,uBACE,KASE,iBATF;AAAA,8BACE,MAOE,SAPF;AAAA,gBAOE;AAAA,wBANA,KAEE,gBAFF;AAAA,UAAgB,SAAO;AAAA,UAAvB,0BACE,KAAyC,QAAzC;AAAA,YAAM;AAAA,YAAN,UAA6B;AAAA,WAAY;AAAA,SACzC;AAAA,wBACF,KAEE,gBAFF;AAAA,oCACE,KAAe,KAAf;AAAA,sBAAI;AAAA,WAAW;AAAA,SACf;AAAA;AAAA,KACF;AAAA,GACF;AAAA;;;ACnBC,SAAS,kBAAkB,CAAC,UAAoC;AAAA,EACrE,IAAI,CAAC;AAAA,IAAU,OAAO;AAAA,EACtB,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,IAAI,aAAa;AAAA,IAAmB,OAAO;AAAA,EAC3C,IAAI,SAAS,WAAW,OAAO;AAAA,IAAG,OAAO;AAAA,EACzC,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,IAAI,SAAS,WAAW,QAAQ;AAAA,IAAG,OAAO;AAAA,EAC1C,OAAO;AAAA;AAOF,SAAS,cAAc,CAAC,OAAuB;AAAA,EACpD,IAAI,UAAU;AAAA,IAAG,OAAO;AAAA,EACxB,MAAM,QAAQ,CAAC,KAAK,MAAM,MAAM,MAAM,IAAI;AAAA,EAC1C,MAAM,IAAI;AAAA,EACV,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;AAAA,EAClD,MAAM,QAAQ,QAAQ,KAAK,IAAI,GAAG,CAAC;AAAA,EACnC,OAAO,GAAG,QAAQ,MAAM,IAAI,QAAQ,MAAM,QAAQ,CAAC,KAAK,MAAM;AAAA;AAOzD,SAAS,gBAAgB,CAAC,UAAkB,UAA2B;AAAA,EAC5E,MAAM,UAAU,SAAS,YAAY,GAAG;AAAA,EACxC,IAAI,YAAY,MAAM,YAAY,GAAG;AAAA,IACnC,OAAO,SAAS,MAAM,UAAU,CAAC,EAAE,YAAY;AAAA,EACjD;AAAA,EAEA,IAAI,UAAU;AAAA,IACZ,OAAO,kBAAkB,QAAQ;AAAA,EACnC;AAAA,EACA,OAAO;AAAA;AAGT,IAAM,YAAoC;AAAA,EACxC,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gCAAgC;AAAA,EAChC,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,2EAA2E;AAAA,EAC3E,4BAA4B;AAAA,EAC5B,qEAAqE;AAAA,EACrE,iCAAiC;AAAA,EACjC,6EAA6E;AAAA,EAC7E,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,mBAAmB;AACrB;AAEA,SAAS,iBAAiB,CAAC,UAA0B;AAAA,EACnD,IAAI,UAAU;AAAA,IAAW,OAAO,UAAU;AAAA,EAE1C,MAAM,UAAU,SAAS,MAAM,GAAG,EAAE;AAAA,EACpC,IAAI,WAAW,CAAC,QAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;AAAA,IAC/D,OAAO,QAAQ,YAAY;AAAA,EAC7B;AAAA,EACA,OAAO;AAAA;AAMF,SAAS,aAAa,CAAC,UAA4B;AAAA,EACxD,MAAM,OAAO,mBAAmB,QAAQ;AAAA,EACxC,OAAO,SAAS,WAAW,SAAS;AAAA;;;AC5EtC;AAAA;AAgBA,SAAS,QAAQ,GAAG,OAAwB;AAAA,EAC1C,IAAI,CAAC;AAAA,IAAK,OAAO;AAAA,EACjB,uBACE,MAEE,QAFF;AAAA,IAAM,WAAU;AAAA,IAAhB,UACG;AAAA,GACD;AAAA;AAIC,SAAS,eAAe,GAAG,MAAM,SAAS,aAAmC;AAAA,EAClF,MAAM,cAAc,mBAAmB,KAAK,IAAI;AAAA,EAChD,MAAM,cAAc,CAAC,CAAC;AAAA,EACtB,MAAM,MAAM,iBAAiB,KAAK,MAAM,KAAK,IAAI;AAAA,EAEjD,MAAM,WAAW,GACf,sGACA,eAAe,mKACf,SACF;AAAA,EAGA,IAAI,gBAAgB,WAAW,KAAK,KAAK;AAAA,IACvC,uBACE,MAQE,UARF;AAAA,MAAQ,MAAK;AAAA,MAAS;AAAA,MAAkB,UAAU,CAAC;AAAA,MAAa,WAAW;AAAA,MAA3E,UAQE;AAAA,wBAPA,MAAC,OAAD;AAAA,UAAK,KAAK,KAAK;AAAA,UAAK,KAAK,KAAK;AAAA,UAAM,WAAU;AAAA,SAA6B;AAAA,wBAC3E,MAAC,UAAD;AAAA,UAAU;AAAA,SAAU;AAAA,QACnB,+BACC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,MAAC,QAAD;AAAA,YAAQ,WAAU;AAAA,WAA0E;AAAA,SAC5F;AAAA;AAAA,KAEJ;AAAA,EAEN;AAAA,EAGA,IAAI,gBAAgB,SAAS,KAAK,KAAK;AAAA,IACrC,uBACE,MAoBE,UApBF;AAAA,MAAQ,MAAK;AAAA,MAAS;AAAA,MAAkB,UAAU,CAAC;AAAA,MAAa,WAAW;AAAA,MAA3E,UAoBE;AAAA,wBAnBA,MAYE,OAZF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,MAUE,UAVF;AAAA,YACE,MAAM,GAAG,KAAK;AAAA,YACd,MAAK;AAAA,YACL,WAAU;AAAA,YACV,cAAY,KAAK;AAAA,YAJnB,0BAOE,MAEE,OAFF;AAAA,cAAK,WAAU;AAAA,cAAf,0BACE,MAAC,UAAD;AAAA,gBAAU,WAAU;AAAA,eAAmC;AAAA,aACvD;AAAA,WACF;AAAA,SACF;AAAA,wBACF,MAAC,UAAD;AAAA,UAAU;AAAA,SAAU;AAAA,QACnB,+BACC,MAEE,OAFF;AAAA,UAAK,WAAU;AAAA,UAAf,0BACE,MAAC,QAAD;AAAA,YAAQ,WAAU;AAAA,WAAqF;AAAA,SACvG;AAAA;AAAA,KAEJ;AAAA,EAEN;AAAA,EAGA,uBACE,MAkBE,UAlBF;AAAA,IAAQ,MAAK;AAAA,IAAS;AAAA,IAAkB,UAAU,CAAC;AAAA,IAAa,WAAW;AAAA,IAA3E,UAkBE;AAAA,sBAjBA,MAEE,OAFF;AAAA,QAAK,WAAU;AAAA,QAAf,0BACE,MAAC,UAAD;AAAA,UAAU,WAAU;AAAA,SAAmC;AAAA,OACvD;AAAA,sBAGF,MASE,OATF;AAAA,QAAK,WAAU;AAAA,QAAf,UASE;AAAA,0BARA,MAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAqD,OAAO,KAAK;AAAA,YAA9E,UACG,KAAK;AAAA,WACN;AAAA,UACD,KAAK,QAAQ,QAAQ,KAAK,OAAO,qBAChC,MAEE,KAFF;AAAA,YAAG,WAAU;AAAA,YAAb,UACG,eAAe,KAAK,IAAI;AAAA,WACzB;AAAA;AAAA,OAEJ;AAAA,sBAEF,MAAC,UAAD;AAAA,QAAU;AAAA,OAAU;AAAA;AAAA,GACpB;AAAA;;;ACpGN;AACA;AACA,gBAAS;AACT;;AAGA,IAAM,SAAyB;AAI/B,IAAM,eAA+B;AAIrC,IAAM,gBAAsB,kBAG1B,GAAG,cAAc,SAAS,wBAC1B,MAAiB,yBAAjB;AAAA,EACE;AAAA,EACA,WAAW,GACT,0JACA,SACF;AAAA,KACI;AAAA,CACN,CACD;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,wBAAwB,KAC5B,6dACA;AAAA,EACE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CACF;AAMA,IAAM,gBAAsB,kBAG1B,GAAG,WAAW,SAAS,aAAa,SAAS,wBAC7C,MAaE,cAbF;AAAA,YAaE;AAAA,oBAZA,MAAC,eAAD,EAAe;AAAA,oBACf,MAUkB,yBAVlB;AAAA,MACE;AAAA,MACA,WAAW,GAAG,sBAAsB,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,SACvD;AAAA,MAHN,UAUE;AAAA,QALC;AAAA,wBACD,MAGkB,uBAHlB;AAAA,UAAuB,WAAU;AAAA,UAAjC,UAGE;AAAA,4BAFA,MAAC,GAAD;AAAA,cAAG,WAAU;AAAA,aAAU;AAAA,4BACvB,MAAiC,QAAjC;AAAA,cAAM,WAAU;AAAA,cAAhB;AAAA,aAAiC;AAAA;AAAA,SACjC;AAAA;AAAA,KACF;AAAA;AAAA,CACF,CACH;AACD,cAAc,cAA8B,wBAAQ;AAEpD,IAAM,eAAe,GAAG,cAAc,4BACpC,MAAC,OAAD;AAAA,EAAK,WAAW,GAAG,sDAAsD,SAAS;AAAA,KAAO;AAAA,CAAO;AAElG,aAAa,cAAc;AAE3B,IAAM,eAAe,GAAG,cAAc,4BACpC,MAAC,OAAD;AAAA,EACE,WAAW,GAAG,iEAAiE,SAAS;AAAA,KACpF;AAAA,CACN;AAEF,aAAa,cAAc;AAE3B,IAAM,cAAoB,kBAGxB,GAAG,cAAc,SAAS,wBAC1B,MAAiB,uBAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,qDAAqD,SAAS;AAAA,KACxE;AAAA,CACN,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,oBAA0B,kBAG9B,GAAG,cAAc,SAAS,wBAC1B,MAAiB,6BAAjB;AAAA,EACE;AAAA,EACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,KACpD;AAAA,CACN,CACD;AACD,kBAAkB,cAA8B,4BAAY;;;AChG5D,+BAAmB;AAAA;AASZ,SAAS,gBAAgB,GAAG,MAAM,cAAc,QAA+B;AAAA,EACpF,IAAI,CAAC;AAAA,IAAM,OAAO;AAAA,EAElB,MAAM,cAAc,mBAAmB,KAAK,IAAI;AAAA,EAChD,MAAM,aAAa,cAAc,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK;AAAA,EAEtD,uBACE,MA6DE,QA7DF;AAAA,IAAQ;AAAA,IAAY;AAAA,IAApB,UACG,gBAAgB,WAAW,KAAK,sBAC/B,MAOE,eAPF;AAAA,MAAe,SAAQ;AAAA,MAAW,oBAAkB;AAAA,MAApD,UAOE;AAAA,wBANA,MAA8C,aAA9C;AAAA,UAAa,WAAU;AAAA,UAAvB,UAAkC,KAAK;AAAA,SAAO;AAAA,wBAC9C,MAAC,OAAD;AAAA,UACE,KAAK,KAAK;AAAA,UACV,KAAK,KAAK;AAAA,UACV,WAAU;AAAA,SACZ;AAAA;AAAA,KACA,IACA,gBAAgB,SAAS,KAAK,sBAChC,MAoBE,eApBF;AAAA,MAAe,SAAQ;AAAA,MAAW,WAAU;AAAA,MAAoB,oBAAkB;AAAA,MAAlF,UAoBE;AAAA,wBAnBA,MAA8C,aAA9C;AAAA,UAAa,WAAU;AAAA,UAAvB,UAAkC,KAAK;AAAA,SAAO;AAAA,wBAC9C,MAiBE,UAjBF;AAAA,UACE,MAAM,KAAK;AAAA,UACX,MAAK;AAAA,UACL,WAAU;AAAA,UAHZ,0BAKE,MAWE,OAXF;AAAA,YAAK,WAAU;AAAA,YAAf,UAWE;AAAA,8BAVA,MAA8C,KAA9C;AAAA,gBAAG,WAAU;AAAA,gBAAb;AAAA,eAA8C;AAAA,8BAC9C,MAQE,KARF;AAAA,gBACE,MAAM,KAAK;AAAA,gBACX,QAAO;AAAA,gBACP,KAAI;AAAA,gBACJ,WAAU;AAAA,gBAJZ,UAQE;AAAA,kCAFA,MAAC,UAAD;AAAA,oBAAU,WAAU;AAAA,mBAAU;AAAA,kBANhC;AAAA,kBAOY,KAAK;AAAA;AAAA,eACf;AAAA;AAAA,WACF;AAAA,SACF;AAAA;AAAA,KACF,oBAEF,MA0BE,eA1BF;AAAA,gBA0BE;AAAA,wBAzBA,MASE,cATF;AAAA,oBASE;AAAA,4BARA,MAGE,aAHF;AAAA,cAAa,WAAU;AAAA,cAAvB,UAGE;AAAA,gCAFA,MAAC,WAAD;AAAA,kBAAU,WAAU;AAAA,iBAAgC;AAAA,gBACnD,KAAK;AAAA;AAAA,aACN;AAAA,4BACF,MAGE,mBAHF;AAAA,wBAGE;AAAA,gBAFC,KAAK,QAAQ,QAAQ,KAAK,OAAO,qBAAK,MAAmC,QAAnC;AAAA,4BAAO,eAAe,KAAK,IAAI;AAAA,iBAAI;AAAA,gBACzE,CAAC,8BAAc,MAA0D,QAA1D;AAAA;AAAA,iBAA0D;AAAA;AAAA,aAC1E;AAAA;AAAA,SACF;AAAA,wBACF,MAcE,OAdF;AAAA,UAAK,WAAU;AAAA,UAAf,UAcE;AAAA,4BAbA,MAAC,WAAD;AAAA,cAAU,WAAU;AAAA,aAAY;AAAA,4BAChC,MAA8C,KAA9C;AAAA,cAAG,WAAU;AAAA,cAAb;AAAA,aAA8C;AAAA,YAC7C,KAAK,OAAO,gBAAgB,KAAK,KAAK,GAAG,qBACxC,MAQE,KARF;AAAA,cACE,MAAM,KAAK;AAAA,cACX,QAAO;AAAA,cACP,KAAI;AAAA,cACJ,WAAU;AAAA,cAJZ,UAQE;AAAA,gCAFA,MAAC,UAAD;AAAA,kBAAU,WAAU;AAAA,iBAAU;AAAA,gBANhC;AAAA;AAAA,aAQE;AAAA;AAAA,SAEJ;AAAA;AAAA,KACF;AAAA,GAEJ;AAAA;;;ACrFN,qBAAS,wBAAU,2BAAW;AAE9B;;AAeO,SAAS,aAAa,GAAG,MAAM,cAAc,QAAQ,eAAe,KAAyB;AAAA,EAClG,OAAO,cAAc,mBAAmB,UAAS,YAAY;AAAA,EAC7D,MAAM,cAAc,OAAO,SAAS;AAAA,EAEpC,WAAU,MAAM;AAAA,IACd,IAAI;AAAA,MAAM,gBAAgB,YAAY;AAAA,KACrC,CAAC,MAAM,YAAY,CAAC;AAAA,EAEvB,MAAM,SAAS,aAAY,MAAM;AAAA,IAC/B,gBAAgB,CAAC,OAAO,IAAI,KAAK,OAAO,MAAM;AAAA,KAC7C,CAAC,OAAO,MAAM,CAAC;AAAA,EAElB,MAAM,SAAS,aAAY,MAAM;AAAA,IAC/B,gBAAgB,CAAC,OAAO,IAAI,IAAI,OAAO,UAAU,OAAO,MAAM;AAAA,KAC7D,CAAC,OAAO,MAAM,CAAC;AAAA,EAElB,WAAU,MAAM;AAAA,IACd,IAAI,CAAC,QAAQ,CAAC;AAAA,MAAa;AAAA,IAC3B,MAAM,UAAU,CAAC,MAAqB;AAAA,MACpC,IAAI,EAAE,QAAQ;AAAA,QAAc,OAAO;AAAA,MACnC,IAAI,EAAE,QAAQ;AAAA,QAAa,OAAO;AAAA;AAAA,IAEpC,OAAO,iBAAiB,WAAW,OAAO;AAAA,IAC1C,OAAO,MAAM,OAAO,oBAAoB,WAAW,OAAO;AAAA,KACzD,CAAC,MAAM,aAAa,QAAQ,MAAM,CAAC;AAAA,EAEtC,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO;AAAA,EAChC,MAAM,UAAU,OAAO;AAAA,EACvB,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAErB,uBACE,MA2CE,QA3CF;AAAA,IAAQ;AAAA,IAAY;AAAA,IAApB,0BACE,MAyCE,eAzCF;AAAA,MAAe,SAAQ;AAAA,MAAW,oBAAkB;AAAA,MAApD,UAyCE;AAAA,wBAxCA,MAEE,aAFF;AAAA,UAAa,WAAU;AAAA,UAAvB,UACG,QAAQ,OAAO,SAAS,eAAe,QAAQ,OAAO;AAAA,SACvD;AAAA,wBACF,MAoCE,OApCF;AAAA,UAAK,WAAU;AAAA,UAAf,UAoCE;AAAA,4BAnCA,MAAC,OAAD;AAAA,cACE,KAAK,QAAQ;AAAA,cACb,KAAK,QAAQ,OAAO;AAAA,cACpB,WAAU;AAAA,aACZ;AAAA,YAEC,+BACC;AAAA,wBA0BE;AAAA,gCAzBA,MAUE,UAVF;AAAA,kBACE,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,WAAW,GACT,oFACA,6GACF;AAAA,kBANF,UAUE;AAAA,oCAFA,MAAC,aAAD;AAAA,sBAAa,WAAU;AAAA,qBAAU;AAAA,oCACjC,MAA0C,QAA1C;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA0C;AAAA;AAAA,iBAC1C;AAAA,gCACF,MAUE,UAVF;AAAA,kBACE,MAAK;AAAA,kBACL,SAAS;AAAA,kBACT,WAAW,GACT,qFACA,6GACF;AAAA,kBANF,UAUE;AAAA,oCAFA,MAAC,cAAD;AAAA,sBAAc,WAAU;AAAA,qBAAU;AAAA,oCAClC,MAAsC,QAAtC;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAsC;AAAA;AAAA,iBACtC;AAAA,gCACF,MAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBADC,eAAe;AAAA,oBADlB;AAAA,oBACwB,OAAO;AAAA;AAAA,iBAC7B;AAAA;AAAA,aACF;AAAA;AAAA,SAEJ;AAAA;AAAA,KACF;AAAA,GACF;AAAA;;;AC3FN,0BAAS,8BAAe;AAyBjB,IAAM,qBAAqB,eAA8C,IAAI;AAE7E,SAAS,qBAAqB,GAA4B;AAAA,EAC/D,MAAM,MAAM,YAAW,kBAAkB;AAAA,EACzC,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI,MACR,0EACE,mDACJ;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;ACnCT;;;ACAA;AACA;AACA;;AAGA,IAAM,YAA+B;AAErC,IAAM,gBAAsB,kBAG1B,GAAG,cAAc,SAAS,wBAC1B,MAAoB,yBAApB;AAAA,EAAyB;AAAA,EAAU,WAAW,GAAG,YAAY,SAAS;AAAA,KAAO;AAAA,CAAO,CACrF;AACD,cAAc,cAAc;AAE5B,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,aAAa,SAAS,wBACpC,MAYqB,2BAZrB;AAAA,EAA2B,WAAU;AAAA,EAArC,0BACE,MAUqB,4BAVrB;AAAA,IACE;AAAA,IACA,WAAW,GACT,kJACA,SACF;AAAA,OACI;AAAA,IANN,UAUE;AAAA,MAFC;AAAA,sBACD,MAAC,aAAD;AAAA,QAAa,WAAU;AAAA,OAA2E;AAAA;AAAA,GAClG;AAAA,CACF,CACH;AACD,iBAAiB,cAAiC,2BAAQ;AAE1D,IAAM,mBAAyB,kBAG7B,GAAG,WAAW,aAAa,SAAS,wBACpC,MAMqB,4BANrB;AAAA,EACE;AAAA,EACA,WAAU;AAAA,KACN;AAAA,EAHN,0BAKE,MAAwD,OAAxD;AAAA,IAAK,WAAW,GAAG,aAAa,SAAS;AAAA,IAAzC;AAAA,GAAwD;AAAA,CACxD,CACH;AACD,iBAAiB,cAAiC,2BAAQ;;;;AD1CnD,SAAS,oBAAoB,GAAG;AAAA,EACrC,QAAQ,SAAS,eAAe,sBAAsB;AAAA,EACtD,MAAM,QAAQ,QAAQ,YAAY;AAAA,EAClC,IAAI,CAAC,SAAS,MAAM,WAAW;AAAA,IAAG,OAAO;AAAA,EAEzC,uBACE,OAqCE,OArCF;AAAA,IAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,SAAS;AAAA,IAArE,UAqCE;AAAA,sBApCA,OAGE,OAHF;AAAA,QAAK,WAAU;AAAA,QAAf,UAGE;AAAA,0BAFA,MAAC,WAAD;AAAA,YAAW,WAAU;AAAA,WAAc;AAAA,UADrC;AAAA,UAEc,MAAM;AAAA,UAFpB;AAAA;AAAA,OAGE;AAAA,sBACF,MA+BE,WA/BF;AAAA,QAAW,MAAK;AAAA,QAAW,WAAU;AAAA,QAArC,UACG,MAAM,IAAI,CAAC,MAAM,wBAChB,OA2BE,eA3BF;AAAA,UAAyB,OAAO,aAAa;AAAA,UAAO,WAAU;AAAA,UAA9D,UA2BE;AAAA,4BA1BA,MAEE,kBAFF;AAAA,cAAkB,WAAU;AAAA,cAA5B,UACG,KAAK,SAAS,QAAQ,MAAM;AAAA,aAC7B;AAAA,4BACF,OAsBE,kBAtBF;AAAA,cAAkB,WAAU;AAAA,cAA5B,UAsBE;AAAA,gBArBC,KAAK,0BACJ,OAEE,OAFF;AAAA,4BAEE;AAAA,oCADA,MAAuD,QAAvD;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAuD;AAAA,oBADzD;AAAA,oBACgE,KAAK;AAAA;AAAA,iBACnE;AAAA,gBAEH,KAAK,6BACJ,OAEE,OAFF;AAAA,4BAEE;AAAA,oCADA,MAA0D,QAA1D;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA0D;AAAA,oBAD5D;AAAA,oBACmE,KAAK;AAAA;AAAA,iBACtE;AAAA,gBAEH,KAAK,0BACJ,OAEE,OAFF;AAAA,4BAEE;AAAA,oCADA,MAAuD,QAAvD;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAAuD;AAAA,oBADzD;AAAA,oBACgE,KAAK;AAAA;AAAA,iBACnE;AAAA,gBAEH,KAAK,eAAe,6BACnB,OAGE,OAHF;AAAA,4BAGE;AAAA,oCAFA,MAA2D,QAA3D;AAAA,sBAAM,WAAU;AAAA,sBAAhB;AAAA,qBAA2D;AAAA,oBAAM;AAAA,qBAC/D,KAAK,aAAa,KAAK,QAAQ,CAAC;AAAA,oBAFpC;AAAA;AAAA,iBAGE;AAAA;AAAA,aAEJ;AAAA;AAAA,WA1BgB,GA2BlB,CACH;AAAA,OACD;AAAA;AAAA,GACF;AAAA;;;AEhDN,qBAAS,oBAAU;;AAKZ,SAAS,gBAAgB,GAAG;AAAA,EACjC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,sBAAsB;AAAA,EAC1B,MAAM,iBAAiB,YAAY,WAAW;AAAA,EAE9C,MAAM,YAAY,CAAC,CAAC,QAAQ,UAAU,QAAQ,OAAO,SAAS;AAAA,EAC9D,MAAM,YAAY,CAAC,CAAC,QAAQ,UAAU,QAAQ,OAAO,SAAS;AAAA,EAC9D,MAAM,WAAW,CAAC,CAAC,QAAQ,SAAS,QAAQ,MAAM,SAAS;AAAA,EAC3D,MAAM,WAAW,CAAC,CAAC,QAAQ,SAAS,QAAQ,MAAM,SAAS;AAAA,EAC3D,MAAM,mBAAmB,CAAC,CAAC,QAAQ;AAAA,EAEnC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC;AAAA,IAAkB,OAAO;AAAA,EAEpF,uBACE;AAAA,cAgKE;AAAA,MA/JC,6BACC,OAwCE,OAxCF;AAAA,QAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,QAAnD,UAwCE;AAAA,0BAvCA,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFA,MAAC,WAAD;AAAA,gBAAW,WAAU;AAAA,eAAc;AAAA,cADrC;AAAA,cAEW,QAAQ,OAAQ;AAAA,cAF3B;AAAA;AAAA,WAGE;AAAA,0BACF,MAkCE,OAlCF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,QAAQ,OAAQ,IAAI,CAAC,KAAK,wBACzB,OA8BE,OA9BF;AAAA,cAAe,WAAU;AAAA,cAAzB,UA8BE;AAAA,gBA7BC,oCACC,MAeE,UAfF;AAAA,kBACE,MAAK;AAAA,kBACL,SAAS,MACP,kBACE,QAAQ,OAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,eAAe,EAAE,GAClE,GACF;AAAA,kBAEF,WAAU;AAAA,kBARZ,0BAUE,MAAC,OAAD;AAAA,oBACE,KAAK,IAAI;AAAA,oBACT,KAAK,IAAI,kBAAkB;AAAA,oBAC3B,WAAU;AAAA,mBACZ;AAAA,iBACA,oBAEF,MAAC,OAAD;AAAA,kBACE,KAAK,IAAI;AAAA,kBACT,KAAK,IAAI,kBAAkB;AAAA,kBAC3B,WAAU;AAAA,iBACZ;AAAA,gBAED,IAAI,kCACH,MAEE,KAFF;AAAA,kBAAG,WAAU;AAAA,kBAAb,UACG,IAAI;AAAA,iBACL;AAAA;AAAA,eA5BI,GA8BR,CACH;AAAA,WACD;AAAA;AAAA,OACF;AAAA,MAGH,6BACC,OAkBE,OAlBF;AAAA,QAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,QAAnD,UAkBE;AAAA,0BAjBA,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFA,MAAC,OAAD;AAAA,gBAAO,WAAU;AAAA,eAAc;AAAA,cADjC;AAAA,cAEW,QAAQ,OAAQ;AAAA,cAF3B;AAAA;AAAA,WAGE;AAAA,0BACF,MAYE,OAZF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,QAAQ,OAAQ,IAAI,CAAC,OAAO,wBAC3B,MAQE,OARF;AAAA,wBACG,MAAM,sBACL,MAAC,SAAD;AAAA,gBAAO,KAAK,MAAM;AAAA,gBAAK,UAAQ;AAAA,gBAAC,WAAU;AAAA,eAAyC,oBAEnF,OAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UAEE;AAAA,kBAFF;AAAA,kBACa,MAAM;AAAA,kBADnB;AAAA,kBAC8B,MAAM;AAAA,kBADpC;AAAA;AAAA,eAEE;AAAA,eANI,GAQR,CACH;AAAA,WACD;AAAA;AAAA,OACF;AAAA,MAGH,4BACC,OAwBE,OAxBF;AAAA,QAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,QAAnD,UAwBE;AAAA,0BAvBA,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFA,MAAC,OAAD;AAAA,gBAAO,WAAU;AAAA,eAAc;AAAA,cADjC;AAAA,cAEU,QAAQ,MAAO;AAAA,cAFzB;AAAA;AAAA,WAGE;AAAA,0BACF,MAkBE,OAlBF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,QAAQ,MAAO,IAAI,CAAC,OAAO,wBAC1B,MAcE,OAdF;AAAA,wBACG,MAAM,sBACL,MAAC,SAAD;AAAA,gBAAO,KAAK,MAAM;AAAA,gBAAK,UAAQ;AAAA,gBAAC,WAAU;AAAA,eAAS,IACjD,MAAM,+BACR,MAAC,SAAD;AAAA,gBACE,KAAK,QAAQ,MAAM,aAAa,sBAAsB,MAAM;AAAA,gBAC5D,UAAQ;AAAA,gBACR,WAAU;AAAA,eACZ,oBAEA,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf;AAAA,eAEE;AAAA,eAZI,GAcR,CACH;AAAA,WACD;AAAA;AAAA,OACF;AAAA,MAGH,4BACC,OAyCE,OAzCF;AAAA,QAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,QAAnD,UAyCE;AAAA,0BAxCA,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFA,MAAC,WAAD;AAAA,gBAAW,WAAU;AAAA,eAAc;AAAA,cADrC;AAAA,cAEU,QAAQ,MAAO;AAAA,cAFzB;AAAA;AAAA,WAGE;AAAA,0BACF,MAmCE,OAnCF;AAAA,YAAK,WAAU;AAAA,YAAf,UACG,QAAQ,MAAO,IAAI,CAAC,MAAM,QACzB,kCACE,MAAC,iBAAD;AAAA,cAEE,MAAM,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,cACzE,SAAS,MACP,gBAAgB,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC;AAAA,eAHjF,GAKP,oBAEA,OAqBE,OArBF;AAAA,cAEE,WAAU;AAAA,cAFZ,UAqBE;AAAA,gCAjBA,MAAC,WAAD;AAAA,kBAAU,WAAU;AAAA,iBAA6C;AAAA,gCACjE,MAAsD,QAAtD;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAA0C,KAAK;AAAA,iBAAO;AAAA,gBACrD,KAAK,wBACJ,OAEE,QAFF;AAAA,kBAAM,WAAU;AAAA,kBAAhB,UAEE;AAAA,oBAFF;AAAA,qBACK,KAAK,OAAO,MAAM,QAAQ,CAAC;AAAA,oBADhC;AAAA;AAAA,iBAEE;AAAA,gBAEH,KAAK,OAAO,gBAAgB,KAAK,KAAK,GAAG,qBACxC,MAOE,KAPF;AAAA,kBACE,MAAM,KAAK;AAAA,kBACX,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,WAAU;AAAA,kBAJZ;AAAA,iBAOE;AAAA;AAAA,eAlBC,GAoBL,CAEN;AAAA,WACA;AAAA;AAAA,OACF;AAAA,MAGH,oBAAoB,QAAQ,kCAC3B,OAiBE,OAjBF;AAAA,QAAK,WAAW,GAAG,kBAAkB,cAAc;AAAA,QAAnD,UAiBE;AAAA,0BAhBA,OAGE,OAHF;AAAA,YAAK,WAAU;AAAA,YAAf,UAGE;AAAA,8BAFA,MAAC,OAAD;AAAA,gBAAO,WAAU;AAAA,eAAc;AAAA,cADjC;AAAA;AAAA,WAGE;AAAA,UACD,QAAQ,eAAe,8BACtB,OAEE,OAFF;AAAA,YAAK,WAAU;AAAA,YAAf,UAEE;AAAA,cAFF;AAAA,cACI,QAAQ,eAAe;AAAA,cAD3B;AAAA;AAAA,WAEE;AAAA,UAEH,QAAQ,eAAe,2BACtB,MAAC,SAAD;AAAA,YACE,KAAK,yBAAyB,QAAQ,eAAe;AAAA,YACrD,UAAQ;AAAA,YACR,WAAU;AAAA,WACZ;AAAA;AAAA,OAEF;AAAA;AAAA,GAEJ;AAAA;;;ACzLN,0BAAS,8BAAe;AA6CjB,IAAM,kBAAkB,eAA2C,IAAI;AAEvE,SAAS,kBAAkB,GAAyB;AAAA,EACzD,MAAM,MAAM,YAAW,eAAe;AAAA,EACtC,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI,MACR,oEACE,2CACJ;AAAA,EACF;AAAA,EACA,OAAO;AAAA;;;;AC3CF,SAAS,gBAAgB,GAAG,YAAY,mBAA0C,CAAC,GAAG;AAAA,EAC3F,QAAQ,SAAS,YAAY,YAAY,qBAAqB,sBAAsB;AAAA,EACpF,QAAQ,YAAY,mBAAmB,YAAY,mBAAmB;AAAA,EACtE,MAAM,aAAa,kBAAkB,oBAAoB;AAAA,EAEzD,IAAI,CAAC,QAAQ,cAAc,QAAQ,WAAW,WAAW;AAAA,IAAG,OAAO;AAAA,EAEnE,uBACE,MAUE,OAVF;AAAA,IAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,SAAS;AAAA,IAArE,UACG,QAAQ,WAAW,IAAI,CAAC,MAAM,QAAQ;AAAA,MACrC,MAAM,gBAAgB,MACpB,0BAAU,MAAC,eAAD;AAAA,QAAe;AAAA,QAAY,aAAa,QAAQ;AAAA,OAAG,IAAK;AAAA,MACpE,MAAM,OAAO,aACT,WAAW,MAAM,EAAE,OAAO,KAAK,SAAS,cAAc,CAAC,IACvD,cAAc;AAAA,MAClB,IAAI,SAAS,QAAQ,SAAS;AAAA,QAAW,OAAO;AAAA,MAChD,uBAAO,MAA4C,OAA5C;AAAA,kBAAqC;AAAA,SAA3B,KAAK,gBAAgB,GAAa;AAAA,KACpD;AAAA,GACD;AAAA;;;AC7BN;AACA;AAAA;AAIO,IAAM,WAAW,KACtB,GAAG,cAAc,4BACf,MAAC,YAAD;AAAA,EACE,WAAW,GAAG,0DAA0D,SAAS;AAAA,KAC7E;AAAA,CACN,GAEF,CAAC,WAAW,cAAc,UAAU,aAAa,UAAU,QAC7D;AAEA,SAAS,cAAc;;;;ACbhB,SAAS,kBAAkB,GAAG;AAAA,EACnC,QAAQ,YAAY,sBAAsB;AAAA,EAC1C,IAAI,CAAC,QAAQ;AAAA,IAAS,OAAO;AAAA,EAC7B,uBACE,MAEE,OAFF;AAAA,IAAK,WAAU;AAAA,IAAf,0BACE,MAA6B,UAA7B;AAAA,gBAAW,QAAQ;AAAA,KAAU;AAAA,GAC7B;AAAA;;;ACTN;;AAIO,SAAS,qBAAqB,GAAG;AAAA,EACtC,QAAQ,SAAS,eAAe,sBAAsB;AAAA,EACtD,MAAM,aAAa,QAAQ,YAAY;AAAA,EACvC,IAAI,CAAC,cAAc,WAAW,WAAW;AAAA,IAAG,OAAO;AAAA,EAEnD,uBACE,OAsBE,OAtBF;AAAA,IAAK,WAAW,GAAG,kBAAkB,YAAY,WAAW,UAAU;AAAA,IAAtE,UAsBE;AAAA,sBArBA,OAGE,OAHF;AAAA,QAAK,WAAU;AAAA,QAAf,UAGE;AAAA,0BAFA,MAAC,UAAD;AAAA,YAAU,WAAU;AAAA,WAAc;AAAA,UADpC;AAAA,UAEe,WAAW;AAAA,UAF1B;AAAA;AAAA,OAGE;AAAA,sBACF,MAgBE,OAhBF;AAAA,QAAK,WAAU;AAAA,QAAf,UACG,WAAW,IAAI,CAAC,SAAS,wBACxB,OAYE,OAZF;AAAA,UAAe,WAAU;AAAA,UAAzB,UAYE;AAAA,YAXC,QAAQ,yBACP,OAAqE,OAArE;AAAA,cAAK,WAAU;AAAA,cAAf,UAAqE;AAAA,gBAArE;AAAA,gBAAqD,QAAQ;AAAA;AAAA,aAAQ;AAAA,YAEtE,QAAQ,WAAW,IAAI,CAAC,KAAK,2BAC5B,OAKE,OALF;AAAA,cAAkB,WAAU;AAAA,cAA5B,UAKE;AAAA,gCAJA,OAAoE,OAApE;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAAoE;AAAA,oBAApE;AAAA,oBAAqD,IAAI;AAAA,oBAAzD;AAAA;AAAA,iBAAoE;AAAA,gCACpE,OAEE,OAFF;AAAA,kBAAK,WAAU;AAAA,kBAAf,UAEE;AAAA,oBAFF;AAAA,oBACW,IAAI;AAAA,oBADf;AAAA,oBAC6B,IAAI,UAAU;AAAA,oBAD3C;AAAA,oBACmD,IAAI,UAAU;AAAA,oBADjE;AAAA;AAAA,iBAEE;AAAA;AAAA,eAJM,MAKR,CACH;AAAA;AAAA,WAXO,GAYR,CACH;AAAA,OACD;AAAA;AAAA,GACF;AAAA;;;AChCN;;AAWO,SAAS,iBAAiB,GAAG,gBAAgB,SAAiC,CAAC,GAAG;AAAA,EACvF,QAAQ,SAAS,YAAY,SAAS,wBAAwB,oBAC5D,sBAAsB;AAAA,EACxB,MAAM,WAAW,QAAQ;AAAA,EACzB,MAAM,oBAAoB,CAAC,CAAC;AAAA,EAC5B,MAAM,0BAA0B,mBAAmB;AAAA,EAEnD,IAAI,CAAC,SAAS,aAAa,CAAC,iBAAiB,CAAC;AAAA,IAAU,OAAO;AAAA,EAE/D,uBACE,OAkCE,OAlCF;AAAA,IAAK,WAAU;AAAA,IAAf,UAkCE;AAAA,MAjCC,SAAS,cAAc,MAAM;AAAA,QAC5B,MAAM,aAAa,QAAQ,cAAc;AAAA,QACzC,IAAI,eAAe,oBAAoB,CAAC;AAAA,UAAwB,OAAO;AAAA,QAEvE,MAAM,WACJ,eAAe,WACd,eAAe,wBAAwB,CAAC;AAAA,QAE3C,uBACE,MAQE,OARF;AAAA,UACE,WAAW,GACT,8CACA,YAAY,6CACZ,YAAY,WAAW,OACzB;AAAA,UALF,UAOG,QAAQ,UAAU,OAAO;AAAA,SAC1B;AAAA,SAEH;AAAA,MACF,4BACC,OAGE,QAHF;AAAA,QAAM,WAAU;AAAA,QAAhB,UAGE;AAAA,0BAFA,MAAC,aAAD;AAAA,YAAa,WAAU;AAAA,WAAU;AAAA,UADnC;AAAA;AAAA,OAGE;AAAA,MAEH,iCACC,MAAC,gBAAD;AAAA,QACE,MAAM,IAAI,KAAK,QAAQ,aAAa,IAAI;AAAA,QACxC,aAAa,oBAAoB,0BAA0B;AAAA,QAC3D,WAAU;AAAA,OACZ;AAAA;AAAA,GAEF;AAAA;;;;AlBDN,SAAS,2BAA2B,GAAG,iBAA6C;AAAA,EAClF,uBACE;AAAA,cAOE;AAAA,sBANA,MAAC,sBAAD,EAAsB;AAAA,sBACtB,MAAC,kBAAD,EAAkB;AAAA,sBAClB,MAAC,kBAAD,EAAkB;AAAA,sBAClB,MAAC,oBAAD,EAAoB;AAAA,sBACpB,MAAC,uBAAD,EAAuB;AAAA,sBACvB,MAAC,mBAAD;AAAA,QAAmB;AAAA,OAA8B;AAAA;AAAA,GACjD;AAAA;AAIC,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,yBAAyB;AAAA,EACzB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,GACmB;AAAA,EACnB,MAAM,SAAS,QAAQ,SAAS;AAAA,EAChC,MAAM,WAAW,QAAQ;AAAA,EACzB,OAAO,SAAS,cAAc,UAAuB,IAAI;AAAA,EAEzD,MAAM,oBAAoB,CAAC,CAAC;AAAA,EAC5B,MAAM,0BAA0B,mBAAmB;AAAA,EAEnD,MAAM,MAAM,SACV,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB,CAAC,QAAQ,UAAU;AAAA,MACpC,IAAI,CAAC;AAAA,QAAmB;AAAA,MACxB,WAAW,EAAE,MAAM,SAAS,QAAQ,cAAc,MAAM,CAAC;AAAA;AAAA,IAE3D,iBAAiB,CAAC,SAAS;AAAA,MACzB,IAAI,CAAC;AAAA,QAAiB;AAAA,MACtB,WAAW,EAAE,MAAM,QAAQ,KAAK,CAAC;AAAA;AAAA,IAEnC;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAAA,EAEA,MAAM,eAAe,MAAM,WAAW,IAAI;AAAA,EAE1C,uBACE,MA0CE,mBAAmB,UA1CrB;AAAA,IAA6B,OAAO;AAAA,IAApC,0BACE,OAwCE,OAxCF;AAAA,MAAK,WAAW,GAAG,mBAAmB,SAAS,qBAAqB,IAAI,YAAY,MAAM,SAAS;AAAA,MAAnG,UAwCE;AAAA,QAvCC,yBACC,MAAC,mBAAD;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,mBAAmB,IAAI;AAAA,UACvB,iBAAiB,IAAI;AAAA,UACrB;AAAA,SACF,oBAEA,OAKE,OALF;AAAA,UAAK,WAAU;AAAA,UAAf,UAKE;AAAA,YAJC,SAAS;AAAA,4BACV,MAEE,OAFF;AAAA,cAAK,WAAW,GAAG,4BAA4B,YAAY,WAAW,SAAS;AAAA,cAA/E,UACG,4BAAY,MAAC,6BAAD;AAAA,gBAA6B;AAAA,eAA8B;AAAA,aACxE;AAAA;AAAA,SACF;AAAA,QAGH,SAAS,SAAS,2BACjB,MAAC,eAAD;AAAA,UACE,MAAI;AAAA,UACJ,cAAc,CAAC,SAAS;AAAA,YAAE,IAAI,CAAC;AAAA,cAAM,aAAa;AAAA;AAAA,UAClD,QAAQ,QAAQ;AAAA,UAChB,cAAc,QAAQ;AAAA,SACxB;AAAA,QAED,SAAS,SAAS,0BACjB,MAAC,kBAAD;AAAA,UACE,MAAI;AAAA,UACJ,cAAc,CAAC,SAAS;AAAA,YAAE,IAAI,CAAC;AAAA,cAAM,aAAa;AAAA;AAAA,UAClD,MAAM,QAAQ;AAAA,SAChB;AAAA;AAAA,KAEF;AAAA,GACF;AAAA;AAIN,YAAY,YAAY;AACxB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,aAAa;AACzB,YAAY,SAAS;AAiBrB,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GACyB;AAAA,EACzB,uBACE,OA+EE,OA/EF;AAAA,IAAK,WAAU;AAAA,IAAf,UA+EE;AAAA,MA9EC,SAAS;AAAA,sBACV,OA4EE,OA5EF;AAAA,QAAK,WAAU;AAAA,QAAf,UA4EE;AAAA,WA3EG,QAAQ,UAAU,QAAQ,OAAO,SAAS,KAC1C,QAAQ,SAAS,QAAQ,MAAM,SAAS,KACxC,QAAQ,SAAS,QAAQ,MAAM,SAAS,sBACzC,OA4CE,OA5CF;AAAA,YAAK,WAAU;AAAA,YAAf,UA4CE;AAAA,cA3CC,QAAQ,QAAQ,IAAI,CAAC,KAAK,wBACzB,MAAC,iBAAD;AAAA,gBAEE,MAAM,EAAE,MAAM,IAAI,kBAAkB,SAAS,MAAM,KAAK,MAAM,aAAa,KAAK,IAAI,IAAI;AAAA,gBACxF,SACE,oBACI,MACE,kBACE,QAAQ,OAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,eAAe,EAAE,GAClE,GACF,IACF;AAAA,iBATD,OAAO,KAWd,CACD;AAAA,cACA,QAAQ,OAAO,IAAI,CAAC,OAAO,wBAC1B,OAME,OANF;AAAA,gBAEE,WAAU;AAAA,gBAFZ,UAME;AAAA,kCAFA,MAAC,QAAD;AAAA,oBAAO,WAAU;AAAA,mBAAoC;AAAA,kCACrD,MAA2E,QAA3E;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAA0C,MAAM,MAAM,SAAS,MAAM;AAAA,mBAAM;AAAA;AAAA,iBAJtE,SAAS,KAKd,CACH;AAAA,cACA,QAAQ,OAAO,IAAI,CAAC,MAAM,QACzB,kCACE,MAAC,iBAAD;AAAA,gBAEE,MAAM,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK;AAAA,gBACzE,SAAS,MACP,gBAAgB,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC;AAAA,iBAHjF,QAAQ,KAKf,oBAEA,OAME,OANF;AAAA,gBAEE,WAAU;AAAA,gBAFZ,UAME;AAAA,kCAFA,MAAC,WAAD;AAAA,oBAAU,WAAU;AAAA,mBAAoC;AAAA,kCACxD,MAAsD,QAAtD;AAAA,oBAAM,WAAU;AAAA,oBAAhB,UAA0C,KAAK;AAAA,mBAAO;AAAA;AAAA,iBAJjD,QAAQ,KAKb,CAEN;AAAA;AAAA,WACA;AAAA,UAEH,QAAQ,2BACP,MAQE,OARF;AAAA,YACE,WAAW,GACT,yCACA,YAAY,MAAM,UAAU,sCAC5B,YAAY,YACd;AAAA,YALF,0BAOE,MAA8D,KAA9D;AAAA,cAAG,WAAU;AAAA,cAAb,UAA4C,QAAQ;AAAA,aAAU;AAAA,WAC9D;AAAA,WAEF,iBAAiB,SAAS,yBAC1B,OAYE,OAZF;AAAA,YAAK,WAAU;AAAA,YAAf,UAYE;AAAA,cAXC,SAAS,wBACR,MAEE,OAFF;AAAA,gBAAK,WAAU;AAAA,gBAAf,UACG,QAAQ,KAAK,OAAO;AAAA,eACrB;AAAA,8BAEJ,MAAC,gBAAD;AAAA,gBACE,MAAM,IAAI,KAAK,QAAQ,aAAa,IAAI;AAAA,gBACxC,aAAa,oBAAoB,0BAA0B;AAAA,gBAC3D,WAAU;AAAA,eACZ;AAAA,cACC,4BAAY,MAAC,cAAD;AAAA,gBAAa,WAAU;AAAA,eAA2B;AAAA;AAAA,WAC/D;AAAA;AAAA,OAEJ;AAAA;AAAA,GACF;AAAA;;AmB9RN,qBAAS,wBAAU,2BAAW,wBAAa;AAoCpC,SAAS,mBAAmB,CACjC,SAIA;AAAA,EACA,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,QAAQ,aAAa,UAA4B,CAAC,CAAC;AAAA,EAG1D,MAAM,aAAa,QAAO,OAAO;AAAA,EACjC,WAAW,UAAU;AAAA,EAErB,WAAU,MAAM;AAAA,IACd,MAAM,oBAAoB,CAAC,UAA2B;AAAA,MACpD,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,MACpC,WAAW,UAAU,KAAK;AAAA;AAAA,IAG5B,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAE3C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,cAAc,aAAY,MAAM;AAAA,IACpC,UAAU,CAAC,CAAC;AAAA,KACX,CAAC,CAAC;AAAA,EAEL,OAAO,EAAE,QAAQ,YAAY;AAAA;;AClE/B,qBAAS,yBAAU,2BAAW;AAevB,SAAS,aAAa,GAAG;AAAA,EAC9B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,WAAuB,CAAC,CAAC;AAAA,EACzD,OAAO,QAAQ,aAAa,WAAmB,CAAC,CAAC;AAAA,EACjD,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAGvD,WAAU,MAAM;AAAA,IACd,MAAM,sBAAsB,CAAC,WAAuB;AAAA,MAClD,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA;AAAA,IAGzC,MAAM,sBAAsB,CAAC,WAAuB;AAAA,MAClD,YAAY,CAAC,SACX,KAAK,IAAI,CAAC,MAAO,EAAE,cAAc,OAAO,YAAY,SAAS,CAAE,CACjE;AAAA;AAAA,IAGF,MAAM,sBAAsB,GAAG,eAAqC;AAAA,MAClE,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,cAAc,QAAQ,CAAC;AAAA;AAAA,IAGpE,MAAM,wBAAwB,GAAG,gBAAyC;AAAA,MACxE,MAAM,aAAa,IAAI,IAAI,SAAS;AAAA,MACpC,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,SAAS,CAAC,CAAC;AAAA;AAAA,IAGxE,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAQ,OAAO,SAAS;AAAA,MAC9B,YAAY,OAAM,QAAQ;AAAA,MAC1B,UAAU,OAAM,YAAY;AAAA;AAAA,IAG9B,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,kBAAkB,mBAAmB;AAAA,IAC/C,OAAO,GAAG,oBAAoB,qBAAqB;AAAA,IACnD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,MAAM,QAAQ,OAAO,SAAS;AAAA,IAC9B,YAAY,MAAM,QAAQ;AAAA,IAC1B,UAAU,MAAM,YAAY;AAAA,IAE5B,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,kBAAkB,mBAAmB;AAAA,MAChD,OAAO,IAAI,oBAAoB,qBAAqB;AAAA,MACpD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAKX,MAAM,gBAAgB,aACpB,OACE,aACA,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,cAAc,aAAa,OAAO;AAAA,MAChE,YAAY,SAAS,IAAI;AAAA,MACzB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,aACpB,OACE,UACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,cAAc,UAAU,OAAO;AAAA,MACnD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,kBAAkB,aACtB,OACE,YACsB;AAAA,IACtB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,gBAAgB,OAAO;AAAA,MACnD,UAAU,MAAM;AAAA,MAChB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,qBAAqB,aACzB,OACE,aACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,mBAAmB,aAAa,OAAO;AAAA,MAC3D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,aAAa,SAAS,OAAO;AAAA,MACjD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,UACA,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,aAAa,UAAU,SAAS,OAAO;AAAA,MAC3D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,aACnB,OACE,UACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,aAAa,UAAU,OAAO;AAAA,MAC3C,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,yBAAyB,aAC7B,OACE,WACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,uBAAuB,WAAW,OAAO;AAAA,MACtD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC9QF,wBAAS,2BAAa,wBAAW;AAuB1B,SAAS,mBAEf,GAMC;AAAA,EACA,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,cAAc,wBAAwB,WAAmB,MAC9D,OAAO,gBAAmB,CAC5B;AAAA,EACA,OAAO,cAAc,mBAAmB,WACtC,MAAM,OAAO,SAAS,EAAE,4BAA4B,KACtD;AAAA,EAEA,WAAU,MAAM;AAAA,IACd,MAAM,oBAAoB,CAAC,UAAoB;AAAA,MAC7C,qBAAqB,KAAK;AAAA;AAAA,IAE5B,MAAM,qBAAqB,MAAM,gBAAgB,IAAI;AAAA,IACrD,MAAM,mBAAmB,MAAM,gBAAgB,KAAK;AAAA,IAEpD,OAAO,GAAG,wBAAwB,iBAAiB;AAAA,IACnD,OAAO,GAAG,+BAA+B,kBAAkB;AAAA,IAC3D,OAAO,GAAG,6BAA6B,gBAAgB;AAAA,IAGvD,qBAAqB,OAAO,gBAAmB,CAAC;AAAA,IAChD,gBAAgB,OAAO,SAAS,EAAE,4BAA4B,KAAK;AAAA,IAEnE,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,wBAAwB,iBAAiB;AAAA,MACpD,OAAO,IAAI,+BAA+B,kBAAkB;AAAA,MAC5D,OAAO,IAAI,6BAA6B,gBAAgB;AAAA;AAAA,KAEzD,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,kBAAkB,aACtB,OAAO,SAAqD;AAAA,IAC1D,MAAM,WACJ,OAAO,SAAS,aACX,KAA+B,OAAO,gBAAmB,CAAC,IAC3D;AAAA,IACN,MAAM,OAAO,gBAAgB,QAAQ;AAAA,KAEvC,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,oBAAoB,aACxB,OAAO,YAAuC;AAAA,IAC5C,MAAM,UAAW,OAAO,gBAAmB,KAAM,CAAC;AAAA,IAClD,MAAM,SAAS,KAAK,YAAY,QAAQ;AAAA,IACxC,MAAM,OAAO,gBAAgB,MAAM;AAAA,KAErC,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,sBAAsB,aAAY,YAA+B;AAAA,IACrE,MAAM,SAAS,MAAM,OAAO,oBAAoB;AAAA,IAChD,OAAQ,UAAuB;AAAA,KAC9B,CAAC,MAAM,CAAC;AAAA,EAEX,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC7FF,qBAAS,2BAAU;AAgBZ,SAAS,gBAAgB,GAAG;AAAA,EACjC,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EACvD,OAAO,QAAQ,aAAa,WAA8C;AAAA,EAC1E,OAAO,SAAS,cAAc,WAA4B,CAAC,CAAC;AAAA,EAK5D,MAAM,YAAY,cAChB,OACE,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,mBAAmB,OAAO;AAAA,MACtD,UAAU,MAAM;AAAA,MAChB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,cAAc,cAClB,OACE,aACA,YACiC;AAAA,IACjC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,qBAAqB,aAAa,OAAO;AAAA,MACrE,WAAW,OAAO,IAAI;AAAA,MACtB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,cACjB,OACE,WACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,oBAAoB,WAAW,OAAO;AAAA,MAC1D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,mBAAmB,cACvB,OACE,WACA,YACmC;AAAA,IACnC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,0BAA0B,WAAW,OAAO;AAAA,MAChE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,SAAS,cACb,OACE,SACA,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,gBAAgB,SAAS,OAAO;AAAA,MACpD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,MAcA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,MAAM,OAAO;AAAA,MAEhE,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA,MACtC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,SACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAC1B,WACA,SACA,OACF;AAAA,MAEA,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,MAAO,EAAE,OAAO,YAAY,SAAS,CAAE,CAAC;AAAA,MACvE,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,mBAAmB,cACvB,OACE,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,0BAA0B,OAAO;AAAA,MAC9C,WAAW,CAAC,CAAC;AAAA,MACb,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,YAC6B;AAAA,IAC7B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,WAAW,OAAO;AAAA,MAErE,WAAW,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,OAAO,SAAS,CAAC;AAAA,MAC3D,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;ACpRF,qBAAS,2BAAU;AAiDZ,SAAS,cAAc,GAAG;AAAA,EAC/B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,cAAc,mBAAmB,WAAS,KAAK;AAAA,EACtD,OAAO,OAAO,YAAY,WAA6B;AAAA,EACvD,OAAO,SAAS,cAAc,WAAsC;AAAA,EAQpE,MAAM,eAAe,cACnB,OAAO,YAAuD;AAAA,IAC5D,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,aAAa,OAAO;AAAA,MAChD,WAAW,MAAM;AAAA,MACjB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAQA,MAAM,iBAAiB,cACrB,OAAO,YAAqE;AAAA,IAC1E,gBAAgB,IAAI;AAAA,IACpB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,eAAe,OAAO;AAAA,MAClD,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,gBAAgB,KAAK;AAAA;AAAA,KAGzB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,eAAe,cAAY,MAAM;AAAA,IACrC,WAAW,SAAS;AAAA,IACpB,SAAS,SAAS;AAAA,KACjB,CAAC,CAAC;AAAA,EAEL,OAAO;AAAA,IAEL;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AC9HF,qBAAS,2BAAU;AAaZ,SAAS,YAAY,GAAG;AAAA,EAC7B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,UAAU,eAAe,WAAuB,CAAC,CAAC;AAAA,EACzD,OAAO,YAAY,iBAAiB,WAAmD;AAAA,EACvF,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAKvD,MAAM,eAAe,cACnB,OACE,aAAiC,CAAC,GAClC,YACkC;AAAA,IAClC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,aAAa,YAAY,OAAO;AAAA,MAC9D,YAAY,SAAS,IAAI;AAAA,MACzB,cAAc,SAAS,IAAI;AAAA,MAC3B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,aAAa,cACjB,OACE,WACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO;AAAA,MACjD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,cAAc,cAClB,OACE,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,YAAY,SAAS,OAAO;AAAA,MAExD,YAAY,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;AAAA,MACvC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,SACA,YACwB;AAAA,IACxB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,cAAc,WAAW,SAAS,OAAO;AAAA,MAErE,YAAY,CAAC,SACX,KAAK,IAAI,CAAC,YAAa,QAAQ,OAAO,YAAY,SAAS,OAAQ,CACrE;AAAA,MACA,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,iBAAiB,cACrB,OACE,YACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,eAAe,YAAY,OAAO;AAAA,MAE/C,MAAM,aAAa,IAAI,IAAI,UAAU;AAAA,MACrC,YAAY,CAAC,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,WAAW,IAAI,QAAQ,EAAE,CAAC,CAAC;AAAA,MAC3E,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAKA,MAAM,gBAAgB,cACpB,OACE,WACA,SACA,YACwB;AAAA,IACxB,OAAO,cAAc,WAAW,EAAE,MAAM,QAAQ,GAAG,OAAO;AAAA,KAE5D,CAAC,aAAa,CAChB;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAGA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;;AClLF,qBAAS,yBAAU,4BAAW;AAyCvB,SAAS,aAAa,GAAG;AAAA,EAC9B,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,QAAQ,aAAa,WAAyB,CAAC,CAAC;AAAA,EACvD,OAAO,mBAAmB,wBAAwB,WAA8B,CAAC,CAAC;AAAA,EAClF,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAGvD,YAAU,MAAM;AAAA,IACd,MAAM,oBAAoB,MAAM;AAAA,MAC9B,MAAM,SAAQ,OAAO,SAAS;AAAA,MAC9B,UAAU,OAAM,MAAM;AAAA,MACtB,qBAAqB,OAAM,iBAAiB;AAAA;AAAA,IAG9C,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAG3C,MAAM,QAAQ,OAAO,SAAS;AAAA,IAC9B,UAAU,MAAM,MAAM;AAAA,IACtB,qBAAqB,MAAM,iBAAiB;AAAA,IAE5C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EASX,MAAM,cAAc,cAClB,OACE,UAA6B,CAAC,GAC9B,mBACmC;AAAA,IACnC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,YAAY,SAAS,cAAc;AAAA,MAC/D,UAAU,OAAO,MAAM;AAAA,MACvB,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAUA,MAAM,iBAAiB,cACrB,OACE,SACA,UAA2B,CAAC,GAC5B,mBACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,eAAe,SAAS,SAAS,cAAc;AAAA,MACnE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EASA,MAAM,yBAAyB,cAC7B,OACE,UAAuC,CAAC,GACxC,mBAC8C;AAAA,IAC9C,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,SAAS,MAAM,OAAO,uBAAuB,SAAS,cAAc;AAAA,MAC1E,qBAAqB,OAAO,KAAK;AAAA,MACjC,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IAEL;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,IAEA;AAAA,EACF;AAAA;;AC1KF,qBAAS,yBAAU,4BAAW;AAwBvB,SAAS,iBAAiB,GAAG;AAAA,EAClC,MAAM,SAAS,cAAc;AAAA,EAC7B,OAAO,YAAY,iBAAiB,WAA8B,CAAC,CAAC;AAAA,EACpE,OAAO,WAAW,gBAAgB,WAAS,KAAK;AAAA,EAChD,OAAO,OAAO,YAAY,WAA6B;AAAA,EAEvD,YAAU,MAAM;AAAA,IACd,MAAM,yBAAyB,CAAC,cAAiC;AAAA,MAC/D,cAAc,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;AAAA;AAAA,IAG9C,MAAM,yBAAyB,CAAC,cAAiC;AAAA,MAC/D,cAAc,CAAC,SACb,KAAK,IAAI,CAAC,MAAO,EAAE,iBAAiB,UAAU,eAAe,YAAY,CAAE,CAC7E;AAAA;AAAA,IAGF,MAAM,yBAAyB,GAAG,kBAA2C;AAAA,MAC3E,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,iBAAiB,WAAW,CAAC;AAAA;AAAA,IAG5E,MAAM,oBAAoB,MAAM;AAAA,MAC9B,cAAc,OAAO,SAAS,EAAE,UAAU;AAAA;AAAA,IAG5C,OAAO,GAAG,qBAAqB,sBAAsB;AAAA,IACrD,OAAO,GAAG,qBAAqB,sBAAsB;AAAA,IACrD,OAAO,GAAG,qBAAqB,sBAAsB;AAAA,IACrD,OAAO,GAAG,gBAAgB,iBAAiB;AAAA,IAE3C,cAAc,OAAO,SAAS,EAAE,UAAU;AAAA,IAE1C,OAAO,MAAM;AAAA,MACX,OAAO,IAAI,qBAAqB,sBAAsB;AAAA,MACtD,OAAO,IAAI,qBAAqB,sBAAsB;AAAA,MACtD,OAAO,IAAI,qBAAqB,sBAAsB;AAAA,MACtD,OAAO,IAAI,gBAAgB,iBAAiB;AAAA;AAAA,KAE7C,CAAC,MAAM,CAAC;AAAA,EAEX,MAAM,kBAAkB,cACtB,OACE,aACA,YACoC;AAAA,IACpC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,OAAO,gBAAgB,aAAa,OAAO;AAAA,MAClE,cAAc,SAAS,IAAI;AAAA,MAC3B,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,mBAAmB,cACvB,OACE,aACA,YAC+B;AAAA,IAC/B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,iBAAiB,aAAa,OAAO;AAAA,MACzD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,kBAAkB,cACtB,OACE,SACA,YAC+B;AAAA,IAC/B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,gBAAgB,SAAS,OAAO;AAAA,MACpD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,kBAAkB,cACtB,OACE,aACA,SACA,YAC+B;AAAA,IAC/B,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,gBAAgB,aAAa,SAAS,OAAO;AAAA,MACjE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,kBAAkB,cACtB,OACE,aACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,gBAAgB,aAAa,OAAO;AAAA,MACjD,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,wBAAwB,cAC5B,OACE,aACA,YACuC;AAAA,IACvC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,sBAAsB,aAAa,OAAO;AAAA,MAC9D,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,wBAAwB,cAC5B,OACE,aACA,SACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,sBAAsB,aAAa,SAAS,OAAO;AAAA,MACvE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,4BAA4B,cAChC,OACE,aACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,0BAA0B,aAAa,OAAO;AAAA,MAClE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,8BAA8B,cAClC,OACE,aACA,SACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,4BAA4B,aAAa,SAAS,OAAO;AAAA,MAC7E,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,wBAAwB,cAC5B,OACE,aACA,SACA,SACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,sBAAsB,aAAa,SAAS,SAAS,OAAO;AAAA,MAChF,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,wBAAwB,cAC5B,OACE,aACA,SACA,YACkB;AAAA,IAClB,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,MAAM,OAAO,sBAAsB,aAAa,SAAS,OAAO;AAAA,MAChE,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,MAAM,4BAA4B,cAChC,OACE,aACA,SACA,YACqC;AAAA,IACrC,aAAa,IAAI;AAAA,IACjB,SAAS,SAAS;AAAA,IAClB,IAAI;AAAA,MACF,OAAO,MAAM,OAAO,0BAA0B,aAAa,SAAS,OAAO;AAAA,MAC3E,OAAO,KAAK;AAAA,MACZ,MAAM,eAAe,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACpE,SAAS,YAAY;AAAA,MACrB,MAAM;AAAA,cACN;AAAA,MACA,aAAa,KAAK;AAAA;AAAA,KAGtB,CAAC,MAAM,CACT;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;",
|
|
49
|
+
"debugId": "D4A0A1768653051B64756E2164756E21",
|
|
53
50
|
"names": []
|
|
54
51
|
}
|