{"version":3,"file":"40585.4649d72a.js","sources":["webpack://app/./src/components/campaign/CampaignInputOutputToDWLForm.module.scss?87d5","webpack://app/./src/components/campaign/campaignBlocks/CampaignTaskProgress.module.scss?b59d","webpack://app/./src/components/campaign/campaignBlocks/CampaignTimelineBlock.module.scss?5e24","webpack://app/./src/components/blocks/TaskBlockHeader.tsx","webpack://app/./src/components/campaign/CampaignButton.tsx","webpack://app/./src/components/campaign/CampaignChat.tsx","webpack://app/./src/components/campaign/CampaignChatMessage.tsx","webpack://app/./src/components/campaign/CampaignFooter.tsx","webpack://app/./src/components/campaign/CampaignInputOutputExamples.tsx","webpack://app/./src/components/chat/campaignIcons.tsx","webpack://app/./src/components/campaign/CampaignNavBarDropDown.tsx","webpack://app/./src/components/campaign/CampaignNavBar.tsx","webpack://app/./src/components/campaign/CampaignReadOnlyEditor.tsx","webpack://app/./src/components/VerificationInput.tsx","webpack://app/./src/components/campaign/CampaignSignup.tsx","webpack://app/./src/components/campaign/CampaignSiteLayout.tsx","webpack://app/./src/components/campaign/CampaignTryExample.tsx","webpack://app/./src/components/campaign/CampaignTryOwnData.tsx","webpack://app/./src/components/campaign/CampaignWhiteButton.tsx","webpack://app/./src/components/campaign/MuleProjectUpload.tsx","webpack://app/./src/components/campaign/TryAgentsSection.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignContextBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignDividerBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignErrorBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignRadioBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignShimmerBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignTaskBlock.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignTaskDuration.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignTaskProgressBar.tsx","webpack://app/./src/components/campaign/campaignBlocks/CampaignTimelineBlock.tsx","webpack://app/./src/components/icons.tsx","webpack://app/./src/constants/icon.tsx","webpack://app/./src/constants/settings.tsx","webpack://app/./src/constants/task-status.tsx","webpack://app/./src/data/InputOutputExamples.ts","webpack://app/./src/hooks/campaign/useCampaignAgentType.tsx","webpack://app/./src/hooks/task/useFlowNamesCampaign.tsx","webpack://app/./src/hooks/task/useS3Task.tsx","webpack://app/./src/hooks/task/useTaskProgress.tsx","webpack://app/./src/hooks/task/useTaskStatus.ts","webpack://app/./src/hooks/task/useTerminatedStatus.tsx","webpack://app/./src/hooks/useMaxCapProgress.tsx","webpack://app/./src/hooks/useRepositoryNames.tsx","webpack://app/./src/hooks/useSource.ts","webpack://app/./src/services/campaignService.ts","webpack://app/./src/services/socket.ts","webpack://app/./src/services/taskService.ts","webpack://app/./src/services/userService.ts","webpack://app/./src/store/chatSlice.ts","webpack://app/../storybook/components/Link.tsx","webpack://app/../storybook/components/buttons/SecondaryButton.tsx"],"sourcesContent":["// extracted by css-extract-rspack-plugin\nexport default {\"details\":\"details-fYSxLV\"};","// extracted by css-extract-rspack-plugin\nexport default {\"progress\":\"progress-JGbvz6\"};","// extracted by css-extract-rspack-plugin\nexport default {\"timeline\":\"timeline-Qrh3r2\",\"line\":\"line-I7t7R3\"};","import { AgentCommands, isBranchRequired, UsedCommandType } from '~/constants/commands'\nimport { useIsS3Task, useS3UploadedPath } from '~/hooks/task/useS3Task'\nimport { useRepositoryNames } from '~/hooks/useRepositoryNames'\n\ninterface TaskBlockHeaderProps {\n command: UsedCommandType\n taskId?: number\n repository?: string\n branch?: string\n}\n\nexport function TaskBlockHeader({ command, taskId, branch }: TaskBlockHeaderProps) {\n const isS3STask = useIsS3Task()\n const s3UploadedPath = useS3UploadedPath()\n const repositoryNames = useRepositoryNames()\n\n const renderCodeContext = () => {\n if (isS3STask) {\n return s3UploadedPath ? (\n
\n
Repository:
\n
{s3UploadedPath.split('___').pop()}
\n
\n ) : null\n }\n return (\n <>\n
\n
Repository:
\n
{repositoryNames}
\n
\n\n {isBranchRequired(command) ? (\n
\n
Branch:
\n
{branch ? branch : 'No branch selected'}
\n
\n ) : null}\n \n )\n }\n\n return (\n <>\n {taskId ? (\n
\n
Task:
\n
\n #{taskId} -{' '}\n {command && AgentCommands[command] ? AgentCommands[command].label : 'Unknown Task'}\n
\n
\n ) : null}\n {renderCodeContext()}\n \n )\n}\n","import React from 'react'\n\ninterface ButtonProps extends React.ButtonHTMLAttributes {\n children: React.ReactNode\n className?: string\n isDisabled?: boolean\n}\n\nexport function CampaignButton({\n children,\n isDisabled = false,\n className = '',\n type = 'button',\n onClick,\n ...props\n}: ButtonProps) {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n","import { useEffect, useRef } from 'react'\nimport { AppEvents, globalEventEmitter } from '~/utils/shared'\nimport CampaignChatMessage from './CampaignChatMessage'\n\nexport interface CampaignChatProps {\n messages: Message[]\n inlineChat?: boolean\n}\n\nfunction CampaignChat({ messages, inlineChat }: CampaignChatProps) {\n const endOfMessagesRef = useRef(null)\n\n useEffect(() => {\n const onScrollMessagesToBottom = () => {\n const animationDelay = 400\n setTimeout(() => {\n endOfMessagesRef.current?.scrollIntoView({ behavior: 'smooth' })\n }, animationDelay)\n }\n globalEventEmitter.on(AppEvents.ScrollMessagesToBottom, onScrollMessagesToBottom)\n return () => {\n globalEventEmitter.off(AppEvents.ScrollMessagesToBottom, onScrollMessagesToBottom)\n }\n }, [])\n\n return (\n
\n {messages.map((message, index) => (\n \n ))}\n
\n
\n )\n}\n\nexport default CampaignChat\n","import { memo } from 'react'\nimport CurieAvatar from '~/assets/curie-avatar.png'\nimport { CurieMarkdown } from '~/components/markdown'\nimport { isTaskCommand, UsedCommandType } from '~/constants/commands'\nimport { useConversationMetadata, useUser } from '~/hooks'\nimport { cm, generateAvatar } from '~/utils/utils'\nimport { CampaignBlock } from './campaignBlocks/CampaignBlock'\n\nexport interface CampaignMessageProps {\n message: Message\n inlineChat?: boolean\n}\n\nfunction CampaignChatMessage({ message, inlineChat }: CampaignMessageProps) {\n const className = 'px-6 py-2 text-black max-w-[90%] overflow-y-auto rounded-lg min-w-full'\n const isUser = message.role === 'user'\n const { command } = useConversationMetadata()\n\n const renderMessage = (message: Message) => {\n if (message.blocks) {\n const messageType = message.blocks[0].type\n let text = ''\n\n if (messageType === 'pr') text += 'Done! Please check the PR: '\n if (messageType === 'image') text += 'Done! Please check the image below:\\n'\n\n return message.blocks.map((block, index) => (\n \n ))\n }\n\n return \n }\n\n if (!inlineChat && isTaskCommand(command as UsedCommandType)) {\n if (message.role == 'user') {\n return null\n }\n return renderMessage(message)\n }\n\n const messageUserName = message.message_metadata?.user_name || 'User'\n\n return (\n
\n
\n \n
\n {isUser ? messageUserName : 'Curie'}\n
\n
\n {renderMessage(message)}\n
\n )\n}\n\nexport default memo(\n CampaignChatMessage,\n (prev, next) => JSON.stringify(prev.message) === JSON.stringify(next.message)\n)\n","import { Link } from '@curie/react'\nimport { CurieLogo } from '../icons'\n\nconst CampaignFooter = () => {\n return (\n
\n
\n
\n \n \n \n
\n \n\n
\n

© Curie — All rights reserved.

\n
\n Terms\n Privacy\n
\n
\n
\n
\n )\n}\n\nexport default CampaignFooter\n","import { SecondaryButton } from '@curie/react'\nimport { IoIosRemoveCircleOutline } from '@react-icons/all-files/io/IoIosRemoveCircleOutline'\nimport { useEffect, useState } from 'react'\nimport useAsync from 'react-use/esm/useAsync'\nimport { CurieSelect } from '~/components/CurieSelect'\nimport { MonacoTextEditor } from '~/components/editors/monaco/MonacoTextEditor'\nimport { SimpleTextarea } from '~/components/SimpleTextarea'\nimport {\n AgentRequest,\n SourceOutputExamples,\n SourceOutputExampleType,\n sourceOutputExampleTypeFromJSON,\n sourceOutputExampleTypeToJSON\n} from '~/protos/agents'\nimport { toCamelCase } from '~/utils/shared'\nimport { cm } from '~/utils/utils'\nimport { TaskParams } from '../modals/task-forms/BaseTaskForm'\nimport styles from './CampaignInputOutputToDWLForm.module.scss'\nimport { InfoTooltip } from '../modals/task-forms/ToolTip'\n\ninterface CampaignInputOutputToDWLFormProps {\n onChange: (task: TaskParams) => void\n maxRows?: number\n minRows?: number\n collapsible?: boolean\n inputDefaultValue?: string\n outputDefaultValue?: string\n inputClassName?: string\n inputTypeDefaultValue?: string\n handleEditorSourceChange?: (value: string) => void\n handleEditorOutputChange?: (value: string) => void\n onError?: () => void\n onErrorClear?: () => void\n vmAware?: boolean\n isReadOnly?: boolean\n}\n\nexport const InputOutputExamples = {\n [sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_XML)]: `\n\n \n John Doe\n 30\n New York\n \n\n `.trim(),\n [sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_JSON)]: `\n{\n \"person\": {\n \"name\": \"John Doe\",\n \"age\": 30,\n \"city\": \"New York\"\n }\n}\n `.trim(),\n [sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_CSV)]: `\nname,age,city\nJohn Doe,30,New York\n `.trim(),\n [sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_YAML)]: `\nperson:\n name: John Doe\n age: 30\n city: New York\n `.trim()\n}\n\nconst mapSourceDataTypeToLanguage = (sourceDataType: string) => {\n switch (sourceDataType) {\n case 'DATA_TYPE_JSON':\n return 'json'\n case 'DATA_TYPE_CSV':\n return 'csv'\n case 'DATA_TYPE_YAML':\n return 'yaml'\n default:\n return 'xml'\n }\n}\n\nexport function CampaignInputOutputToDWLForm({\n onChange,\n minRows = 10,\n maxRows = 13,\n collapsible = false,\n inputTypeDefaultValue,\n inputDefaultValue,\n outputDefaultValue,\n inputClassName,\n handleEditorSourceChange,\n handleEditorOutputChange,\n onError,\n onErrorClear,\n vmAware = false,\n isReadOnly = false\n}: CampaignInputOutputToDWLFormProps) {\n const [samples, setSamples] = useState([\n SourceOutputExamples.fromJSON({\n sourceData: inputDefaultValue,\n outputData: outputDefaultValue,\n sourceDataType: sourceOutputExampleTypeFromJSON(inputTypeDefaultValue)\n })\n ])\n const [inputOutputNotes, setInputOutputNotes] = useState('')\n const [sourceDataType, setSourceDataType] = useState(\n inputTypeDefaultValue || sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_XML)\n )\n const [sourceDataValidationError, setSourceDataValidationError] = useState(false)\n const [outputDataValidationError, setOutputDataValidationError] = useState(false)\n const [vmArgs, setVMArgs] = useState('')\n\n useEffect(() => {\n if (sourceDataValidationError || outputDataValidationError) {\n onError?.()\n } else {\n onErrorClear?.()\n }\n }, [sourceDataValidationError, outputDataValidationError])\n\n useAsync(async () => {\n let text =\n '### Sample Input Data\\n' +\n samples[0].sourceData +\n '\\n### Sample Output Data\\n' +\n samples[0].outputData +\n '\\n### Notes\\n' +\n inputOutputNotes\n\n const request = AgentRequest.fromPartial({\n command: { commandString: text },\n sourceOutputExamples: samples.map(example =>\n SourceOutputExamples.fromJSON({\n sourceData: example.sourceData,\n outputData: example.outputData,\n sourceDataType: sourceOutputExampleTypeFromJSON(sourceDataType)\n })\n ),\n inputOutputNotes,\n vmArgs\n })\n onChange?.({ request })\n }, [samples, sourceDataType, inputOutputNotes, vmArgs])\n\n const items = Object.keys(SourceOutputExampleType)\n .filter(\n type =>\n type.startsWith('DATA_') &&\n !type.endsWith('UNKNOWN') &&\n !type.endsWith('TEXT') &&\n !type.endsWith('MULTIPART')\n )\n .map(key => {\n const label = toCamelCase(key).split(' ').pop()!.toUpperCase()\n return { label, key: key }\n })\n\n const [sampleInputErrors, setSampleInputErrors] = useState(\n Array.from({ length: samples.length }, () => '')\n )\n const [sampleOutputErrors, setSampleOutputErrors] = useState(\n Array.from({ length: samples.length }, () => '')\n )\n\n const handleExampleDelete = (index: number) => {\n setSamples(samples.filter((_, i) => i !== index))\n }\n\n return (\n
\n
\n
\n Sample Input Format\n
\n {\n if (typeof selectedKeys === 'string' || selectedKeys.size === 0) {\n return\n }\n const format = selectedKeys.values().next().value as string\n setSourceDataType(format)\n }}\n />\n
\n
\n {samples.map((example, index) => (\n
\n
\n
\n
\n {index === 0 ? (\n
\n Sample Input Data:\n
\n ) : null}\n {\n const newExamples = [...samples]\n newExamples[index].sourceData = value\n handleEditorSourceChange?.(value)\n setSamples(newExamples)\n }}\n onError={() => setSourceDataValidationError(true)}\n onErrorClear={() => setSourceDataValidationError(false)}\n isReadOnly={isReadOnly}\n />\n {sampleInputErrors[index] && (\n
{sampleInputErrors[index]}
\n )}\n {index > 0 && (\n handleExampleDelete(index)}\n className='absolute -right-8 top-0 p-1 text-gray-500 hover:text-red-500 transition-colors'\n aria-label='Delete example'\n >\n \n \n )}\n
\n
\n {index === 0 ? (\n
\n Sample Output Data:\n
\n ) : null}\n {\n const newExamples = [...samples]\n newExamples[index].outputData = value\n handleEditorOutputChange?.(value)\n setSamples(newExamples)\n }}\n onError={() => setOutputDataValidationError(true)}\n onErrorClear={() => setOutputDataValidationError(false)}\n isReadOnly={isReadOnly}\n />\n
\n {sampleOutputErrors[index] && (\n
{sampleOutputErrors[index]}
\n )}\n
\n ))}\n {/* \n setSamples([\n ...samples,\n SourceOutputExamples.fromJSON({\n sourceData: '',\n outputData: '',\n sourceDataType: sourceOutputExampleTypeFromJSON(inputTypeDefaultValue)\n })\n ])\n }\n >\n Add another input output sample\n */}\n
\n {collapsible ? (\n
\n Advanced\n
\n
\n Notes:\n
\n \n
\n
\n ) : (\n
\n
\n Notes (Optional):\n
\n \n {vmAware ? (\n <>\n
\n VM Args:\n \n
\n \n \n ) : null}\n
\n )}\n
\n )\n}\n","export const CodingAgent = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const TestingAgent = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const DocumentationAgent = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const CodeReviewAgent = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const MigrationAgent = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const SecurityIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const UsecasesIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const BlogIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const ResourcesLibraryIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\n\nexport const MuleSoftIntegrityIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const AboutUsIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const CareersIcon = () => {\n return (\n \n \n \n \n \n )\n}\n\nexport const ContactIcon = () => {\n return (\n \n \n \n \n \n )\n}\n","import { Card } from \"@nextui-org/react\";\nimport { AboutUsIcon, BlogIcon, CareersIcon, CodeReviewAgent, CodingAgent, ContactIcon, DocumentationAgent, MigrationAgent, MuleSoftIntegrityIcon, ResourcesLibraryIcon, SecurityIcon, TestingAgent, UsecasesIcon } from \"../chat/campaignIcons\";\nimport DataweaveGenerator from '../../assets/campaign/DataweaveGenerator.png'\nimport IntegrationGenerator from '../../assets/campaign/IntegrationGenerator.png'\nimport { FaArrowRightLong } from '@react-icons/all-files/fa6/FaArrowRightLong'\n\ninterface CampaignNavBarDropDownProps {\n title: string\n menuItems?: { label: string; href: string }[]\n url?: string\n type?: string\n}\n\ninterface containerProps {\n title: string\n linkTitle?: string\n linkUrl?: string\n children: React.ReactNode\n className?: string\n}\n\ninterface showCardProps {\n image: JSX.Element | string\n title: string\n description: string\n link?: string\n linkTitle?: string\n className?: string\n}\n\ninterface platFormType {\n label: string\n href: string\n icon: JSX.Element\n}\n\ninterface listItemType {\n label: string\n href: string\n description: string\n icon: JSX.Element\n}\n\ninterface companyItemsType {\n title: string\n description: string\n link: string\n icon: JSX.Element\n badge: string | null\n}\n\nconst platformMenuItems: platFormType[] = [\n { label: 'Coding Agents', href: 'https://www.curietech.ai/product/coding-agents', icon: },\n { label: 'Testing Agents', href: 'https://www.curietech.ai/product/testing-agents', icon: },\n { label: 'Documentation Agents', href: 'https://www.curietech.ai/product/documentation-agents', icon: },\n { label: 'Code Insight Agents', href: 'https://www.curietech.ai/product/code-insight-agents', icon: },\n { label: 'Migration Agents', href: 'https://www.curietech.ai/product/migration-documentation-agent', icon: },\n]\n\nconst resourcesItems: listItemType[] = [\n { label: 'Blog', href: 'https://www.curietech.ai/blog', description: 'The latest industry news curated by our expert team.', icon: },\n { label: 'Resource Library', href: 'https://www.curietech.ai/resources', description: 'Explore to get the most out of our tools.', icon: },\n { label: 'Guide: MuleSoft Integration', href: 'https://www.curietech.ai/mulesoft-integration', description: 'Using AI to accelerate the development cycle and avoid human errors.', icon: },\n]\n\nconst companyItems: companyItemsType[] = [\n {\n title: \"About us\",\n description: \"Learn about the company, our team, and what we're working towards.\",\n icon: ,\n link: \"https://www.curietech.ai/about\",\n badge: null\n },\n {\n title: \"Careers\",\n description: \"We're always looking for talented people. Join our team!\",\n icon: ,\n link: \"https://www.curietech.ai/careers\",\n badge: \"We're hiring!\"\n },\n {\n title: \"Contact\",\n description: \"Contact us to learn how you can expedite your coding tasks.\",\n icon: ,\n link: \"https://www.curietech.ai/contact-us\",\n badge: null\n }\n]\n\nconst Container = ({ title, linkTitle, linkUrl, children, className }: containerProps) => {\n return (\n
\n
\n

{title}

\n {linkTitle && linkUrl && (\n window.location.href = linkUrl}\n className=\"flex font-semibold text-black text-sm cursor-pointer items-center gap-1\"\n >\n {linkTitle} \n \n )}\n
\n {children}\n
\n )\n}\n\nconst ShowCard = (\n { image, title, description, link, linkTitle, className }: showCardProps\n) => {\n return (\n
{if (link) window.location.href = link}}>\n \n
\n {typeof image === \"string\" ? (\n
\n {title}/\n
\n ) : (\n
\n {image}\n
\n )}\n
\n

{title}

\n {description}\n

{linkTitle}

\n
\n
\n
\n
\n )\n}\n\nconst renderPlatformDropdown = (platformMenuItems: platFormType[]) => {\n return (\n <>\n \n
\n {platformMenuItems.map((item, index) => (\n
\n \n {item.icon}\n {item.label}\n \n
\n ))}\n
\n
\n \n }\n title=\"Enterprise Grade Security\"\n description=\"You are always protected and always in control of your code and IP.\"\n link=\"https://www.curietech.ai/security\"\n linkTitle=\"Learn More\"\n className=\"p-3\"\n />\n \n \n )\n}\n\nconst renderUseCasesDropdown = () => {\n return (\n \n
\n
\n \n \n
\n

Platform Migration

\n

Ensure high quality code and

\n

faster delivery in less time.

\n
\n \n
\n
\n
\n )\n}\n\nconst renderResourceDropdown = (resourceMenuItems: listItemType[]) => {\n return (\n <>\n \n
\n {resourceMenuItems.map((item, index) => (\n
\n \n {item.icon}\n
\n

{item.label}

\n

{item.description}

\n
\n \n
\n ))}\n
\n
\n \n \n \n \n \n )\n}\n\nconst renderCompanyDropdown = (companyItems: companyItemsType[]) => {\n return (\n \n
\n {companyItems.map((item, index) => (\n
\n \n {item.icon}\n
\n
\n

{item.title}

\n {item.badge && (\n \n {item.badge}\n \n )}\n
\n

{item.description}

\n
\n \n
\n ))}\n
\n
\n )\n}\n\nconst CampaignNavBarDropDown = ({\n title,\n menuItems,\n url,\n type,\n}: CampaignNavBarDropDownProps) => {\n\n return (\n
\n {/* Dropdown trigger */}\n {\n if (url) {\n window.location.href = url\n }\n }}\n >\n {title}\n \n\n {/* Only render dropdown if we have items */}\n {menuItems && (\n \n
\n
\n {type === \"product\" && renderPlatformDropdown(platformMenuItems)}\n {type === \"usecases\" && renderUseCasesDropdown()}\n {type === \"resources\" && renderResourceDropdown(resourcesItems)}\n {type === \"company\" && renderCompanyDropdown(companyItems)}\n
\n
\n
\n )}\n
\n )\n}\n\nexport default CampaignNavBarDropDown\n","import { Link } from \"@curie/react\"\nimport { CurieLogo, IconStartTrialCampaign } from \"../icons\"\nimport { CampaignButton } from \"./CampaignButton\"\nimport CampaignNavBarDropDown from \"./CampaignNavBarDropDown\"\n\n\nconst productMenuItems = [\n { label: 'All Products', href: 'https://www.curietech.ai/product' },\n { label: 'Coding Agents', href: 'https://www.curietech.ai/product/coding-agents' },\n { label: 'Testing Agents', href: 'https://www.curietech.ai/product/testing-agents' },\n { label: 'Documentation Agents', href: 'https://www.curietech.ai/product/documentation-agents' },\n { label: 'Code Insight Agents', href: 'https://www.curietech.ai/product/code-insight-agents' },\n { label: 'Migration Agents', href: 'https://www.curietech.ai/product/migration-documentation-agent' },\n { label: 'Security', href: 'https://www.curietech.ai/security' },\n]\n\nconst resourceMenuItems = [\n { label: 'Blog', href: 'https://www.curietech.ai/blog' },\n { label: 'Guide to MuleSoft Security', href: 'https://www.curietech.ai/mulesoft-integration/mulesoft-security' },\n]\n\nconst companyMenuItems = [\n { label: 'About', href: 'https://www.curietech.ai/about' },\n { label: 'Careers', href: 'https://www.curietech.ai/careers' },\n { label: 'Contact', href: 'https://www.curietech.ai/contact-us' },\n]\n\nexport const CampaignNavBar = () => {\n return (\n \n )\n}\n\nexport default CampaignNavBar","import React, { useEffect, useRef } from 'react'\nimport * as monaco from 'monaco-editor'\nimport { FaRegCopy } from '@react-icons/all-files/fa/FaRegCopy'\n\ninterface ReadOnlyEditorProps {\n code: string\n language?: string\n}\n\nconst CampaignReadOnlyEditor = ({ code, language = 'plaintext' }: ReadOnlyEditorProps) => {\n const editorRef = useRef(undefined)\n const containerRef = useRef(null)\n\n useEffect(() => {\n if (!containerRef.current) return\n\n const editor = monaco.editor.create(containerRef.current, {\n value: code,\n language,\n readOnly: true,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n lineNumbers: 'on',\n fontSize: 14,\n lineHeight: 20,\n padding: { top: 16, bottom: 16 },\n renderLineHighlight: 'none',\n hideCursorInOverviewRuler: true,\n cursorStyle: 'line-thin',\n cursorBlinking: 'solid',\n cursorWidth: 0,\n selectOnLineNumbers: false,\n selectionHighlight: false,\n occurrencesHighlight: false,\n renderWhitespace: 'none',\n contextmenu: false,\n folding: false,\n matchBrackets: 'never',\n bracketPairColorization: {\n enabled: false\n },\n guides: {\n bracketPairs: false,\n highlightActiveBracketPair: false\n }\n })\n\n editorRef.current = editor\n\n return () => {\n editor.dispose()\n }\n }, [code, language])\n\n return (\n
\n \n navigator.clipboard.writeText(code)}\n >\n \n \n
\n )\n}\n\nexport default CampaignReadOnlyEditor\n","import { FC, KeyboardEvent, useRef, useState } from 'react'\n\ninterface VerificationInputProps {\n value: string\n onChange: (value: string) => void\n disabled?: boolean\n}\n\nconst VerificationInput: FC = ({ value, onChange, disabled = false }) => {\n const [focused, setFocused] = useState(false)\n const inputRefs = useRef<(HTMLInputElement | null)[]>([])\n\n if (inputRefs.current.length === 0) {\n inputRefs.current = Array(6).fill(null)\n }\n\n const handleChange = (index: number, inputValue: string) => {\n const newValue = value.split('')\n const digit = inputValue.replace(/[^\\d]/g, '').slice(-1)\n newValue[index] = digit\n\n const combinedValue = newValue.join('')\n onChange(combinedValue)\n\n if (digit && index < 5) {\n inputRefs.current[index + 1]?.focus()\n }\n }\n\n const handleKeyDown = (index: number, e: KeyboardEvent) => {\n if (e.key === 'Backspace' && index > 0 && !value[index]) {\n inputRefs.current[index - 1]?.focus()\n }\n }\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault()\n const pastedData = e.clipboardData.getData('text')\n const digits = pastedData.replace(/[^\\d]/g, '').slice(0, 6)\n if (digits) {\n onChange(digits.padEnd(6, ''))\n // Focus last input or first empty input\n const lastIndex = Math.min(digits.length - 1, 5)\n inputRefs.current[lastIndex]?.focus()\n }\n }\n\n return (\n
setFocused(true)}\n onBlur={(e) => {\n if (!e.currentTarget.contains(e.relatedTarget)) {\n setFocused(false)\n }\n }}\n >\n {Array(6).fill(0).map((_, index) => (\n inputRefs.current[index] = el}\n type=\"text\"\n inputMode=\"numeric\"\n pattern=\"\\d*\"\n maxLength={1}\n value={value[index] || ''}\n disabled={disabled}\n className=\"\n w-10 h-12 text-center text-lg font-semibold\n border border-gray-300 rounded-md\n focus:border-blue-500 focus:outline-none\n disabled:bg-gray-100 disabled:text-gray-400\n \"\n onChange={e => handleChange(index, e.target.value)}\n onKeyDown={e => handleKeyDown(index, e)}\n onPaste={handlePaste}\n autoComplete=\"off\"\n />\n ))}\n
\n )\n}\n\nexport default VerificationInput\n","import { Input, PrimaryButton } from '@curie/react'\nimport { useEffect, useState } from 'react'\nimport { trace } from '~/services/analyticsService'\nimport { BetterToast } from '~/utils/toast'\nimport { sendVerificationCode, emailCodeVerification, emailverify } from '~/services/userService'\nimport VerificationInput from '../VerificationInput'\nimport { verifyEmail } from '~/utils/utils'\n\ninterface CampaignSignUpFormProps {\n onSuccess?: () => void\n}\n\ntype SignupState = {\n email: string\n}\n\ntype Step = 'signup' | 'verify'\n\nexport function CampaignSignUp({ onSuccess }: CampaignSignUpFormProps) {\n const [step, setStep] = useState('signup')\n const [formState, setFormState] = useState({ email: '' })\n const [verificationCode, setVerificationCode] = useState('')\n const [isDisabled, setIsDisabled] = useState(false)\n\n useEffect(() => {\n trace('signup_exposure')\n }, [])\n\n const handleInputChange = (field: keyof SignupState) => (\n e: React.ChangeEvent\n ) => {\n setFormState(prev => ({ ...prev, [field]: e.target.value }))\n }\n\n const handleSignUp = async (event: React.FormEvent) => {\n event.preventDefault()\n trace('signup_click')\n const { email } = formState\n\n if (!email) {\n return BetterToast.error('Please enter your email')\n }\n\n if (!verifyEmail(email)) {\n return BetterToast.error('Invalid email address')\n }\n\n try {\n setIsDisabled(true)\n await sendVerificationCode(email)\n BetterToast.success('We\\'ve sent you a code. Check your email!')\n setStep('verify')\n } catch (err) {\n BetterToast.error((err as Error).message)\n } finally {\n setIsDisabled(false)\n }\n }\n\n const handleVerificationSubmit = async (event: React.FormEvent) => {\n event.preventDefault()\n if (!verificationCode) {\n return BetterToast.error('Please enter verification code')\n }\n\n try {\n setIsDisabled(true)\n await emailverify(formState.email, verificationCode)\n trace({ event: 'signup_completed', labels: { status: 'success' } })\n trace({ event: 'campaign_register_email', labels: { email: formState.email } })\n BetterToast.success('Your email is verified!')\n localStorage.setItem('registered', 'true')\n onSuccess?.()\n } catch (err) {\n BetterToast.error((err as Error).message)\n trace({ event: 'signup_completed', labels: { status: 'failed', reason: (err as Error).message } })\n setIsDisabled(false)\n }\n }\n\n const handleResendCode = async () => {\n try {\n setIsDisabled(true)\n await sendVerificationCode(formState.email)\n BetterToast.success('Verification code resent. Check your email!')\n } catch (err) {\n BetterToast.error((err as Error).message)\n } finally {\n setIsDisabled(false)\n }\n }\n\n const renderSignupForm = () => (\n
\n
\n

\n Get Access\n

\n

\n Enter your email to try your own data.\n

\n
\n
\n \n
\n \n Continue\n \n \n
\n
\n )\n\n const renderVerificationForm = () => (\n
\n
\n

\n Check Your Email\n

\n

\n We sent a verification code to {formState.email}.\n

\n
\n
\n \n
\n \n Verify\n \n \n
\n \n Resend code\n \n
\n
\n
\n )\n\n return step === 'signup' ? renderSignupForm() : renderVerificationForm()\n}\n\nexport default CampaignSignUp\n","import type { FC } from 'react'\nimport { useEffect, useRef, useState } from 'react'\nimport { Toaster } from 'react-hot-toast'\nimport 'swiper/css'\nimport { TaskStatusDetailModal } from '~/components/modals/TaskStatusDetailsModal'\nimport { isSuccessTerminated, isTerminated } from '~/constants/task-status'\nimport { useCampaignAgentType, useConversationUuid, useTaskStatusFromTaskObj } from '~/hooks'\nimport { useMaxCapProgress } from '~/hooks/useMaxCapProgress'\nimport { CommonModal, ModalId, useModalController } from '~/hooks/useModal'\nimport { useSource } from '~/hooks/useSource'\nimport { AgentRequest, agentTaskStatusFromJSON, CommandType } from '~/protos/agents'\nimport { trace } from '~/services/analyticsService'\nimport { submitCampaignTask } from '~/services/campaignService'\nimport { SocketEvent } from '~/services/socket'\nimport store, { RootState } from '~/store'\nimport { setTaskObj } from '~/store/chatSlice'\nimport { ConversationWithMessages } from '~/types/Conversations'\nimport { AppEvents, globalEventEmitter } from '~/utils/shared'\nimport { getDeviceId } from '~/utils/storage'\nimport { BetterToast } from '~/utils/toast'\nimport WelcomeBackground from '../../assets/campaign/WelcomeBackground.png'\nimport { IconCurieStar, IconStartTrialCampaign } from '../icons'\nimport { CampaignButton } from './CampaignButton'\nimport CampaignFooter from './CampaignFooter'\nimport CampaignNavBar from './CampaignNavBar'\nimport CampaignSignUp from './CampaignSignup'\nimport CampaignTryExample from './CampaignTryExample'\nimport CampaignTryOwnData from './CampaignTryOwnData'\nimport { CampaignWhiteButton } from './CampaignWhiteButton'\nimport TryAgentsSection from './TryAgentsSection'\n\ninterface CampaignSiteLayoutProps {\n title: string\n description: string\n instructionsTitle?: string\n instructions?: React.ReactNode\n maxTimeCap?: number\n isDisabled?: boolean\n buttonText?: string\n}\n\nexport const CampaignSiteLayout: FC = ({\n title,\n description,\n instructionsTitle,\n instructions,\n maxTimeCap = 50,\n buttonText = 'Generate'\n}) => {\n const [isDisabled, setIsDisabled] = useState(false)\n const [isError, setIsError] = useState(false)\n const [exampleRequest, setExampleRequest] = useState(AgentRequest.fromPartial({}))\n const [ownDatarequest, setOwnDataRequest] = useState(AgentRequest.fromPartial({}))\n const [taskId, setTaskId] = useState(null)\n const taskStatus = useTaskStatusFromTaskObj()\n const [messages, setMessages] = useState([])\n const [showInstructions, setShowInstructions] = useState(true)\n const pageRef = useRef(null)\n const { progress: taskProgress, reset: resetTaskProgress } = useMaxCapProgress({\n isDone: isSuccessTerminated(taskStatus),\n maxTimeCap,\n taskStatus\n })\n\n const command = useCampaignAgentType()\n const renderWelcomeText = () => {\n switch (command) {\n case CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION:\n return 'Try DataWeave Generator agent from sample input and output data'\n case CommandType.GENERATE_IMAGE:\n return 'Try Diagram Generator agent from sample input'\n default:\n return 'Try DataWeave Generator agent from sample input and output data'\n }\n }\n\n const exampleRef = useRef(null)\n const ownDataRef = useRef(null)\n\n // {'example', 'ownData'}\n const [currentGenerationSection, setCurrentGenerationSection] = useState('example')\n\n const handleChangeGenerationSection = (section: string) => {\n setCurrentGenerationSection(section)\n }\n\n const handleSetExampleRequest = (request: AgentRequest) => {\n setExampleRequest(request)\n }\n\n const handleSetOwnDataRequest = (request: AgentRequest) => {\n setOwnDataRequest(request)\n }\n\n const handleSetError = (error: boolean) => {\n setIsError(error)\n }\n\n const handleTryExample = () => {\n setTimeout(() => {\n if (!exampleRef.current) return\n exampleRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }, 100)\n }\n\n const handleTryOwn = () => {\n setTimeout(() => {\n if (!ownDataRef.current) return\n ownDataRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }, 100)\n }\n\n const redirectToCurieTrialPage = () => {\n window.open('https://platform.curietech.ai/signup', '_blank')\n }\n\n // return false if any of the fields are not filled\n const checkFieldsFilled = (request: AgentRequest) => {\n if (command === CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION) {\n for (const inputOutputExample of request.sourceOutputExamples ?? []) {\n if (\n inputOutputExample.sourceData == null ||\n inputOutputExample.outputData == null ||\n inputOutputExample.sourceData?.length === 0 ||\n inputOutputExample.outputData?.length === 0\n ) {\n BetterToast.error('Please fill in all fields')\n trace('campaign_task_fields_not_filled')\n return false\n }\n }\n return true\n } else if (command === CommandType.GENERATE_IMAGE) {\n return !!(\n request.command?.commandString && request.metadata?.codeContext?.s3TarFilePath?.length\n )\n }\n }\n\n useEffect(() => {\n trace('campaign_task_exposure')\n }, [])\n useSource()\n\n const { openModal: openSignUpModal, closeModal: closeSignUpModal } = useModalController(\n ModalId.SignupModal\n )\n\n const preSubmitCheck = (request: AgentRequest, section=\"example\") => {\n trace('campaign_task_submit')\n if (!checkFieldsFilled(request)) {\n trace('campaign_task_fields_not_filled')\n BetterToast.error('Please fill in all fields')\n return false\n }\n\n if (section === 'ownData' && localStorage.getItem('registered') !== 'true') {\n openSignUpModal({\n onSuccess() {\n closeSignUpModal()\n }\n })\n return false\n }\n return true\n }\n\n const handleSubmit = async (request: AgentRequest, isExample?: boolean) => {\n store.dispatch(setTaskObj({ uuid, task: null }))\n setMessages([])\n setIsDisabled(true)\n\n request.command!.commandType = command\n request.deviceId = getDeviceId()\n\n try {\n const task = await submitCampaignTask(request)\n setTaskId(task.taskId)\n trace({\n event: 'campaign_task_submitted',\n labels: {\n task_id: task.taskId.toString(),\n is_example: String(isExample ?? false)\n }\n })\n } catch (err) {\n const error = err as Error\n setIsDisabled(false)\n if (error.message.includes('Usage limit exceeded')) {\n trace('waitlist_pre_exposure')\n openSignUpModal({\n onSuccess() {\n closeSignUpModal()\n }\n })\n return\n }\n trace({\n event: 'campaign_task_submit_failed',\n labels: {\n error: error.message\n }\n })\n console.error('Failed to submit task', error)\n BetterToast.error('Failed to submit task')\n }\n }\n const uuid = useConversationUuid()\n\n const renderFreeTrialButton = () => {\n return (\n
\n \n
\n Try More Curie Agents\n \n
\n \n
\n )\n }\n\n useEffect(() => {\n const onConversationUpdated = (data: {\n data: Pick\n event: string\n }) => {\n if (data.event !== SocketEvent.ConversationUpdated) return\n const { messages, task } = data.data\n store.dispatch(setTaskObj({ uuid, task }))\n setMessages(messages)\n if (isTerminated(agentTaskStatusFromJSON(task.status))) {\n setIsDisabled(false)\n trace({\n event: 'campaign_task_completed',\n labels: {\n task_id: String(task.task_id),\n task_status: task.status\n }\n })\n }\n }\n globalEventEmitter.on(AppEvents.SocketEvent, onConversationUpdated)\n return () => {\n globalEventEmitter.off(AppEvents.SocketEvent, onConversationUpdated)\n }\n }, [taskId])\n\n const progress = isSuccessTerminated(taskStatus) ? 100 : taskProgress\n\n return (\n
\n {/* welcome page */}\n
\n \n
\n
\n \n
\n
\n
\n

\n \n CURIE AI\n

\n

\n Welcome to \n \n Curie AI\n \n  Test Drive\n

\n

\n The simplest and fastest way to experience Curie AI agents. Curie Test Drive is an\n environment that allows you to try out selected agents.\n

\n

{renderWelcomeText()}

\n
\n \n Try Example\n \n \n Try with your own data\n \n
\n
\n
\n\n {/* try our example page */}\n \n {renderFreeTrialButton()}\n\n {/* try own data page */}\n \n {renderFreeTrialButton()}\n\n
\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n )\n}\n","import { Card, CardBody, CardHeader } from '@nextui-org/react'\nimport { useState } from 'react'\nimport { useAsync } from 'react-use'\nimport { InputOutputExamples } from '~/data/InputOutputExamples'\nimport { AgentRequest, AgentTaskStatus, CommandType, RuntimeSettings } from '~/protos/agents'\nimport { CurieSelect } from '../CurieSelect'\nimport { SimpleMultiSelect } from '../SimpleMultiSelect'\nimport { IconCurieStarButton } from '../icons'\nimport { TaskParams } from '../modals/task-forms/BaseTaskForm'\nimport { CampaignButton } from './CampaignButton'\nimport CampaignChat from './CampaignChat'\nimport { CampaignInputOutputToDWLForm } from './CampaignInputOutputExamples'\nimport MuleProjectUpload from './MuleProjectUpload'\nimport { CampaignTaskProgressBar } from './campaignBlocks/CampaignTaskProgressBar'\n\ninterface CampaignTryExampleProps {\n commandType?: CommandType\n currentGenerationSection: string\n exampleRef: React.RefObject\n handleChangeGenerationSection: (section: string) => void\n handleSetError: (error: boolean) => void\n handleSetRequest: (request: AgentRequest) => void\n handleSubmit: (request: AgentRequest, isExample?: boolean) => void\n handleTryOwn: () => void\n isDisabled: boolean\n isError: boolean\n messages: Message[]\n preSubmitCheck: (request: AgentRequest, section: string) => boolean\n progress: number\n request: AgentRequest\n resetTaskProgress: () => void\n taskStatus: AgentTaskStatus\n}\n\nconst DataWeaveGenerator = ({\n currentGenerationSection,\n exampleRef,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryOwn,\n isDisabled,\n isError,\n messages,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryExampleProps) => {\n const [example, setExample] = useState([InputOutputExamples[0].label])\n const [inputDefaultValue, setInputDefaultValue] = useState(\n InputOutputExamples[0].input\n )\n const [outputDefaultValue, setOutputDefaultValue] = useState(\n InputOutputExamples[0].output\n )\n const [inputTypeDefaultValue, setInputTypeDefaultValue] = useState(\n InputOutputExamples[0].inputType\n )\n const isTaskCompleted = taskStatus === AgentTaskStatus.DOCUMENT_GENERATED\n\n return (\n
\n \n \n
\n

\n Try one of our{' '}\n \n examples first\n \n , then see\n

\n

how Curie works with your own data

\n
\n
\n \n
\n
\n \n Examples:\n \n ({\n label: example.label,\n key: example.label\n }))}\n onSelectionChange={selectedKeys => {\n if (typeof selectedKeys === 'string' || selectedKeys.size === 0) {\n return\n }\n const key = selectedKeys.values().next().value as string\n setExample([key])\n const example = InputOutputExamples.find(example => example.label === key)!\n setInputDefaultValue(example.input)\n setOutputDefaultValue(example.output)\n setInputTypeDefaultValue(example.inputType)\n }}\n />\n
\n handleSetRequest(task.request)}\n inputDefaultValue={inputDefaultValue}\n outputDefaultValue={outputDefaultValue}\n inputTypeDefaultValue={inputTypeDefaultValue}\n inputClassName='h-[320px]'\n collapsible\n onError={() => handleSetError(true)}\n onErrorClear={() => handleSetError(false)}\n isReadOnly={true}\n />\n\n
\n {\n if (!preSubmitCheck(request, 'example')) return\n resetTaskProgress()\n if (exampleRef?.current)\n exampleRef.current.scrollIntoView({ behavior: 'instant', block: 'start' })\n handleChangeGenerationSection('example')\n handleSubmit(request, true)\n }}\n >\n
\n \n Generate\n
\n \n
\n
\n {currentGenerationSection === 'example' &&\n taskStatus !== AgentTaskStatus.NONE_TASK_STATUS ? (\n \n ) : null}\n
\n
\n {currentGenerationSection === 'example' &&\n Array.isArray(messages) &&\n messages.length ? (\n \n ) : null}\n {currentGenerationSection === 'example' && isTaskCompleted && (\n \n Try with your own data\n \n )}\n
\n
\n
\n
\n
\n )\n}\n\nconst DiagramGenerator = ({\n currentGenerationSection,\n exampleRef,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryOwn,\n isDisabled,\n isError,\n messages,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryExampleProps) => {\n const [uploadPath, setUploadPath] = useState(undefined)\n const exampleFlowNames = [\n 'get:\\\\members\\\\(memberId):loyalty-management-api-config',\n 'post:\\\\members:application\\\\json:loyalty-management-api-config',\n 'process-orders-flow'\n ]\n const exampleFlowNamesString = exampleFlowNames.join(', ')\n const isTaskCompleted = taskStatus === AgentTaskStatus.DOCUMENT_GENERATED\n const items = exampleFlowNames.map(flowName => ({\n value: flowName,\n label: flowName\n }))\n\n useAsync(async () => {\n const request = AgentRequest.fromPartial({\n command: { commandString: exampleFlowNamesString },\n metadata: {\n codeContext: {\n connType: 'S3',\n s3TarFilePath: uploadPath\n }\n },\n runtimeSettings: RuntimeSettings.fromPartial({\n javaVersion: '8.0',\n mavenVersion: '3.8'\n })\n })\n handleSetRequest(request)\n }, [currentGenerationSection, uploadPath])\n\n return (\n
\n \n \n
\n

\n Try one of our{' '}\n \n examples first\n \n , then see\n

\n

how Curie works with your own data

\n
\n
\n \n
\n
\n \n Examples:\n \n
\n\n \n\n {}}\n readOnly={true}\n disabled={false}\n items={items}\n isMultiSelect={true}\n size='sm'\n />\n\n
\n {\n if (!preSubmitCheck(request, 'example')) return\n resetTaskProgress()\n if (exampleRef?.current)\n exampleRef.current.scrollIntoView({ behavior: 'instant', block: 'start' })\n handleChangeGenerationSection('example')\n handleSubmit(request, true)\n }}\n >\n
\n \n Generate\n
\n \n
\n
\n {currentGenerationSection === 'example' &&\n taskStatus !== AgentTaskStatus.NONE_TASK_STATUS ? (\n \n ) : null}\n
\n
\n {currentGenerationSection === 'example' &&\n Array.isArray(messages) &&\n messages.length ? (\n \n ) : null}\n {currentGenerationSection === 'example' && isTaskCompleted && (\n \n Try with your own data\n \n )}\n
\n
\n
\n
\n
\n )\n}\n\nconst CampaignTryExample = ({\n commandType,\n currentGenerationSection,\n exampleRef,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryOwn,\n isDisabled,\n isError,\n messages,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryExampleProps) => {\n switch (commandType) {\n case CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION: // DataWeave generator\n return (\n \n )\n break\n case CommandType.GENERATE_IMAGE: // Diagram generator\n return (\n \n )\n break\n default:\n return null\n }\n}\n\nexport default CampaignTryExample\n","import { Card, CardBody, CardHeader } from '@nextui-org/react'\nimport { useState } from 'react'\nimport { useAsync } from 'react-use'\nimport { InputOutputExamples } from '~/data/InputOutputExamples'\nimport useFlowNamesCampaign from '~/hooks/task/useFlowNamesCampaign'\nimport { AgentRequest, AgentTaskStatus, CommandType, RuntimeSettings } from '~/protos/agents'\nimport { IconCurieStarButton } from '../icons'\nimport { TaskParams } from '../modals/task-forms/BaseTaskForm'\nimport { SimpleMultiSelect } from '../SimpleMultiSelect'\nimport { CampaignTaskProgressBar } from './campaignBlocks/CampaignTaskProgressBar'\nimport { CampaignButton } from './CampaignButton'\nimport CampaignChat from './CampaignChat'\nimport { CampaignInputOutputToDWLForm } from './CampaignInputOutputExamples'\nimport MuleProjectUpload from './MuleProjectUpload'\n\ninterface CampaignTryOwnDataProps {\n commandType?: CommandType\n currentGenerationSection: string\n handleChangeGenerationSection: (section: string) => void\n handleSetError: (error: boolean) => void\n handleSetRequest: (request: AgentRequest) => void\n handleSubmit: (request: AgentRequest) => void\n handleTryExample: () => void\n isDisabled: boolean\n isError: boolean\n messages: Message[]\n ownDataRef: React.RefObject\n preSubmitCheck: (request: AgentRequest, section: string) => boolean\n progress: number\n request: AgentRequest\n resetTaskProgress: () => void\n taskStatus: AgentTaskStatus\n}\n\nconst DataWeaveGenerator = ({\n currentGenerationSection,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryExample,\n isDisabled,\n isError,\n messages,\n ownDataRef,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryOwnDataProps) => {\n const [ownData, setOwnData] = useState([InputOutputExamples[0].label])\n const [currentOwnDataInput, setCurrentOwnDataInput] = useState('')\n const [currentOwnDataOutput, setCurrentOwnDataOutput] = useState('')\n const [inputTypeOwnData, setInputTypeOwnData] = useState(\n InputOutputExamples[0].inputType\n )\n\n const handleOwnDataClick = (key: string) => {\n setOwnData([key])\n const ownData = InputOutputExamples.find(ownData => ownData.label === key)!\n setInputTypeOwnData(ownData.inputType)\n }\n\n const handleEditorSourceChange = (value: string) => {\n setCurrentOwnDataInput(value)\n }\n\n const handleEditorOutputChange = (value: string) => {\n setCurrentOwnDataOutput(value)\n }\n\n const isTaskCompleted = taskStatus === AgentTaskStatus.DOCUMENT_GENERATED\n\n return (\n
\n \n \n
\n

Watch Curie write DataWeave

\n

\n tailor-made for your sample data\n

\n
\n

1. Enter your own sample input data.

\n

2. Enter your own sample output data.

\n

3. Click Generate.

\n
\n
\n
\n \n
\n handleSetRequest(task.request)}\n inputDefaultValue={currentOwnDataInput}\n outputDefaultValue={currentOwnDataOutput}\n inputTypeDefaultValue={inputTypeOwnData}\n inputClassName='h-[320px]'\n handleEditorSourceChange={handleEditorSourceChange}\n handleEditorOutputChange={handleEditorOutputChange}\n collapsible\n onError={() => handleSetError(true)}\n onErrorClear={() => handleSetError(false)}\n />\n\n
\n {\n if (!preSubmitCheck(request, 'ownData')) return\n resetTaskProgress()\n if (ownDataRef?.current)\n ownDataRef.current.scrollIntoView({ behavior: 'instant', block: 'start' })\n handleChangeGenerationSection('ownData')\n handleSubmit(request)\n }}\n >\n
\n \n Generate\n
\n \n
\n
\n {currentGenerationSection === 'ownData' &&\n taskStatus !== AgentTaskStatus.NONE_TASK_STATUS ? (\n \n ) : null}\n
\n {currentGenerationSection === 'ownData' &&\n Array.isArray(messages) &&\n messages.length ? (\n \n ) : null}\n {currentGenerationSection === 'ownData' && isTaskCompleted && (\n \n Try another sample\n \n )}\n
\n
\n
\n
\n )\n}\n\nconst DiagramGenerator = ({\n currentGenerationSection,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryExample,\n isDisabled,\n isError,\n messages,\n ownDataRef,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryOwnDataProps) => {\n const [uploadPath, setUploadPath] = useState(undefined)\n const [selectedKeys, setSelectedKeys] = useState([])\n const handleSelectionChange = (newSelection: string[]) => {\n setSelectedKeys(newSelection)\n }\n const flowNames = useFlowNamesCampaign({ s3TarFilePath: uploadPath ?? '' })\n const hasRequiredFields = Boolean(uploadPath)\n const hasFetchedFlowNames = !hasRequiredFields && flowNames === null\n const isLoading = Boolean(hasRequiredFields && flowNames === null)\n const hasFlowNames = flowNames && flowNames.length > 0\n const flowNamesString: string = selectedKeys.join(', ')\n const placeholderMessages = {\n initial: {\n none: '',\n codeContext: 'Select repository details to view flows',\n upload: 'Upload a repo to view flows',\n mappingTable: 'Select repository details to view flows'\n },\n loading: 'Loading flow names...',\n done: 'Select one or more flows',\n noFlows: 'No flows found'\n }\n\n const getPlaceholder = () => {\n if (isLoading) return placeholderMessages.loading\n else if (hasFetchedFlowNames) return placeholderMessages.initial['upload']\n else if (hasFlowNames) return placeholderMessages.done\n return placeholderMessages.noFlows\n }\n const items = (flowNames ?? []).map(flowName => ({\n value: flowName,\n label: flowName\n }))\n\n useAsync(async () => {\n const request = AgentRequest.fromPartial({\n command: { commandString: flowNamesString },\n metadata: {\n codeContext: {\n connType: 'S3',\n s3TarFilePath: uploadPath\n }\n },\n runtimeSettings: RuntimeSettings.fromPartial({\n javaVersion: '8.0',\n mavenVersion: '3.8'\n })\n })\n handleSetRequest(request)\n }, [currentGenerationSection, uploadPath, flowNamesString])\n const isTaskCompleted = taskStatus === AgentTaskStatus.DOCUMENT_GENERATED\n\n return (\n
\n \n \n
\n

Watch Curie generate Diagram

\n

\n tailor-made for your sample data\n

\n
\n
\n \n
\n \n\n \n
\n {\n if (!preSubmitCheck(request, 'ownData')) return\n resetTaskProgress()\n if (ownDataRef?.current)\n ownDataRef.current.scrollIntoView({ behavior: 'instant', block: 'start' })\n handleChangeGenerationSection('ownData')\n handleSubmit(request)\n }}\n >\n
\n \n Generate\n
\n \n
\n
\n {currentGenerationSection === 'ownData' &&\n taskStatus !== AgentTaskStatus.NONE_TASK_STATUS ? (\n \n ) : null}\n
\n {currentGenerationSection === 'ownData' &&\n Array.isArray(messages) &&\n messages.length ? (\n \n ) : null}\n {currentGenerationSection === 'ownData' && isTaskCompleted && (\n \n Try another sample\n \n )}\n
\n
\n
\n
\n )\n}\n\nconst CampaignTryOwnData = ({\n commandType,\n currentGenerationSection,\n handleChangeGenerationSection,\n handleSetError,\n handleSetRequest,\n handleSubmit,\n handleTryExample,\n isDisabled,\n isError,\n messages,\n ownDataRef,\n preSubmitCheck,\n progress,\n request,\n resetTaskProgress,\n taskStatus\n}: CampaignTryOwnDataProps) => {\n switch (commandType) {\n case CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION:\n return (\n \n )\n case CommandType.GENERATE_IMAGE:\n return (\n \n )\n default:\n return null\n }\n}\n\nexport default CampaignTryOwnData\n","import React from 'react'\n\ninterface ButtonProps extends React.ButtonHTMLAttributes {\n children: React.ReactNode\n className?: string\n isDisabled?: boolean\n}\n\nexport function CampaignWhiteButton({\n children,\n isDisabled = false,\n className = '',\n type = 'button',\n onClick,\n ...props\n}: ButtonProps) {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n","import { TarWriter } from '@gera2ld/tarjs'\nimport { FaFolder } from '@react-icons/all-files/fa/FaFolder'\nimport { GoTrash } from '@react-icons/all-files/go/GoTrash'\nimport dayjs from 'dayjs'\nimport ignore from 'ignore'\nimport pako from 'pako'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { FileUploadIcon } from '~/constants/icon'\nimport { uploadFile } from '~/services/campaignService'\nimport { isTar } from '~/utils/blob-types'\nimport { getDeviceId } from '~/utils/storage'\nimport { BetterToast } from '~/utils/toast'\nimport { cm } from '~/utils/utils'\nimport GitIgnore from './.gitignore'\n\ninterface MuleProjectUploadProps {\n onProgress?: (progress: number) => void\n onComplete?: (uploadedPath: string) => void\n className?: string\n withExamplePrefilled?: boolean\n}\n\ninterface WebkitDirectoryHTMLInputElement extends HTMLInputElement {\n webkitdirectory: boolean\n}\n\nexport async function loadExampleProjectAsFile(): Promise<{\n fileName: string\n file: File\n}> {\n const response = await fetch('/assets/example-repository.tar.gz', {\n headers: {\n 'Content-Type': 'application/gzip',\n 'Content-Encoding': 'br'\n }\n })\n if (!response.ok) {\n throw new Error('Failed to fetch example project')\n }\n\n const blob = await response.blob()\n const blobArray = new Uint8Array(await blob.arrayBuffer())\n\n let gzippedTar: Uint8Array = blobArray\n if (isTar(blobArray)) {\n gzippedTar = pako.gzip(blobArray)\n }\n\n const clientId = getDeviceId()\n const date = dayjs().format('YYYYMMDDHHmmss')\n const fileName = 'example-mule-project.tar.gz'\n const newFileName = `${clientId}-${date}___${fileName}`\n\n return {\n fileName,\n file: new File([gzippedTar], newFileName, { type: 'application/gzip' })\n }\n}\n\nexport async function loadExampleProjectAsS3Path(): Promise {\n const { file } = await loadExampleProjectAsFile()\n return new Promise((resolve, reject) => {\n uploadFile(file, {\n onProgress: () => {},\n onComplete: uploadedPath => {\n resolve(uploadedPath)\n },\n onError: error => {\n BetterToast.error('Failed to load example project')\n reject(error)\n }\n })\n })\n}\n\nexport default function MuleProjectUpload({\n onProgress = () => {},\n onComplete = () => {},\n className,\n withExamplePrefilled = false\n}: MuleProjectUploadProps) {\n const [dragOver, setDragOver] = useState(false)\n const [projectName, setProjectName] = useState(null)\n const [processing, setProcessing] = useState(false)\n const [uploadStatus, setUploadStatus] = useState(null)\n\n useEffect(() => {\n if (withExamplePrefilled) {\n loadExampleProject()\n }\n }, [withExamplePrefilled])\n\n const loadExampleProject = async () => {\n try {\n setUploadStatus('Loading example project...')\n const { fileName, file } = await loadExampleProjectAsFile()\n setProjectName(fileName)\n onTarFileChange(file)\n } catch (error) {\n console.error('Error loading example project:', error)\n BetterToast.error('Failed to load example project')\n setUploadStatus(null)\n }\n }\n\n const handleClear = useCallback(() => {\n if (withExamplePrefilled) return\n setProjectName(null)\n setUploadStatus(null)\n onComplete('')\n }, [onComplete, withExamplePrefilled])\n\n const onTarFileChange = useCallback(\n (tarFile: File | null) => {\n if (tarFile) {\n if (withExamplePrefilled) {\n setUploadStatus('Loading example project...')\n } else {\n setUploadStatus('Analyzing the project (0%)')\n }\n uploadFile(tarFile, {\n onProgress: progress => {\n if (withExamplePrefilled) {\n setUploadStatus('Loading example project...')\n } else {\n setUploadStatus(`Analyzing the project (${progress.toFixed(0)}%)`)\n }\n onProgress(progress)\n },\n onComplete: uploadedPath => {\n setUploadStatus(null)\n setProjectName(tarFile.name.replace('.tar.gz', '').split('___').pop()!)\n onComplete(uploadedPath)\n },\n onError: error => {\n BetterToast.error(`Failed to upload. ${error}`)\n handleClear()\n }\n })\n }\n },\n [onComplete, onProgress, handleClear]\n )\n\n const createCompressedTarArchive = useCallback(\n async (files: FileList, isDropped: boolean = false) => {\n if (withExamplePrefilled) return\n\n setProcessing(true)\n try {\n const tarWriter = new TarWriter()\n const fileArray = Array.from(files)\n const rootFolder = fileArray[0].webkitRelativePath.split('/')[0]\n\n const ig = ignore().add(GitIgnore)\n\n for (const file of fileArray) {\n const fileContent = await file.arrayBuffer()\n const filePath = isDropped\n ? file.webkitRelativePath.split('/').slice(1).join('/')\n : file.webkitRelativePath\n\n const relativePath = filePath.replace(`${rootFolder}/`, '')\n if (!ig.ignores(relativePath)) {\n await tarWriter.addFile(filePath, new Uint8Array(fileContent))\n }\n }\n\n const tarBlob = await tarWriter.write()\n const tarArray = new Uint8Array(await tarBlob.arrayBuffer())\n const gzippedTar = pako.gzip(tarArray)\n\n const tarFileName = `${fileArray[0].webkitRelativePath.split('/')[0]}.tar.gz`\n const clientId = getDeviceId()\n const date = dayjs().format('YYYYMMDDHHmmss')\n const newTarFileName = `${clientId}-${date}___${tarFileName}`\n\n const newTarFile = new File([gzippedTar], newTarFileName, {\n type: 'application/gzip'\n })\n\n setProjectName(tarFileName)\n onTarFileChange(newTarFile)\n } catch (error) {\n console.error('Error creating compressed tar archive:', error)\n BetterToast.error('Failed to create compressed tar archive of the project')\n } finally {\n setProcessing(false)\n }\n },\n [onTarFileChange, withExamplePrefilled]\n )\n\n const handleDragOver = useCallback(\n (e: React.DragEvent) => {\n e.preventDefault()\n if (!withExamplePrefilled) {\n setDragOver(true)\n }\n },\n [withExamplePrefilled]\n )\n\n const handleDragLeave = useCallback(() => {\n setDragOver(false)\n }, [])\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n e.preventDefault()\n if (withExamplePrefilled) return\n\n setDragOver(false)\n const items = e.dataTransfer.items\n\n if (items && items.length > 0) {\n const entry = items[0].webkitGetAsEntry()\n if (entry && entry.isDirectory) {\n const fileList: File[] = []\n const rootFolderName = entry.name\n\n const traverseFileTree = (item: FileSystemEntry, path: string) => {\n if (item.isFile) {\n ;(item as FileSystemFileEntry).file((file: File) => {\n const newFile = new File([file], file.name, { type: file.type })\n Object.defineProperty(newFile, 'webkitRelativePath', {\n writable: true,\n value: `${rootFolderName}/${path}${file.name}`\n })\n fileList.push(newFile)\n })\n } else if (item.isDirectory) {\n const dirReader = (item as FileSystemDirectoryEntry).createReader()\n dirReader.readEntries(entries => {\n for (let i = 0; i < entries.length; i++) {\n traverseFileTree(entries[i], path + item.name + '/')\n }\n })\n }\n }\n\n traverseFileTree(entry, '')\n\n setTimeout(() => {\n if (fileList.length > 0) {\n const dataTransfer = new DataTransfer()\n fileList.forEach(file => dataTransfer.items.add(file))\n createCompressedTarArchive(dataTransfer.files, true)\n }\n }, 100)\n } else {\n BetterToast.error('Please drop a folder containing your Mule project')\n }\n }\n },\n [createCompressedTarArchive, withExamplePrefilled]\n )\n\n const handleFolderSelect = useCallback(\n (e: React.ChangeEvent) => {\n if (withExamplePrefilled) return\n\n const files = e.target.files\n if (files && files.length > 0) {\n createCompressedTarArchive(files)\n }\n },\n [createCompressedTarArchive, withExamplePrefilled]\n )\n\n if (uploadStatus || projectName) {\n return (\n
\n \n
\n \n
\n \n {uploadStatus || projectName}\n
\n \n {!uploadStatus && (\n \n \n \n )}\n \n )\n }\n\n return (\n \n \n\n \n \n
\n {processing ? (\n 'Analyzing and compressing project...'\n ) : (\n
\n
\n {withExamplePrefilled ? (\n 'Loading example project...'\n ) : (\n <>\n Drag and drop or select your Mule project\n folder\n \n )}\n
\n
\n The code is used only for the purpose of the task and will be deleted once task is\n done\n
\n
\n )}\n
\n \n \n )\n}\n","import React from 'react'\nimport { CampaignButton } from './CampaignButton'\nimport TryAgentsBackground from '../../assets/campaign/TryAgentsBackground.png'\nimport { IconStartTrialCampaign } from '../icons'\nimport { Link } from '@curie/react'\n\ninterface AgentButtonProps {\n children: React.ReactNode\n}\n\ninterface HorizontalScrollProps {\n children: React.ReactNode\n className?: string\n direction?: 'normal' | 'reverse'\n}\n\nconst AGENTS_ROW_1 = [\n 'Integration Generator',\n 'Dataweave Generator',\n 'Code Enhancer',\n 'MUnit Test Generator',\n 'Sample Data Generator',\n 'Document Generator',\n 'Diagram Generator',\n]\n\nconst AGENTS_ROW_2 = [\n 'Domain Diagram Generator',\n 'Mapping Table Generator',\n 'Single Repo Code Lens',\n 'Multi Repo Code Lens',\n 'Code Review Lens',\n 'Migration Generator',\n 'MuleSoft to Node.js',\n]\n\nconst AgentButton: React.FC = ({ children }) => (\n \n \n {children}\n \n \n)\n\nconst HorizontalScroll: React.FC = ({\n children,\n direction = 'normal',\n className = ''\n}) => {\n return (\n
\n
\n
\n {children}\n
\n
\n {children}\n
\n
\n {children}\n
\n
\n \n
\n );\n}\n\nconst TryAgentsSection: React.FC = () => {\n return (\n
\n
\n \n
\n\n
\n

\n Try all 10+ Curie
\n Agents for Free\n

\n\n window.open('https://platform.curietech.ai/signup', '_blank')}\n >\n
\n Sign Up for Free\n \n
\n \n\n
\n \n {AGENTS_ROW_1.map(agent => (\n {agent}\n ))}\n \n\n \n {AGENTS_ROW_2.map(agent => (\n {agent}\n ))}\n \n
\n
\n
\n )\n}\n\nexport default TryAgentsSection","import { useConversationUuid } from '~/hooks'\nimport { cm, isCampaignUuid } from '~/utils/utils'\nimport { CurieMarkdown } from '../../markdown'\nimport { CampaignContextBlock, CampaignContextBlockProps } from './CampaignContextBlock'\nimport { CampaignDividerBlock, CampaignDividerBlockProps } from './CampaignDividerBlock'\nimport { CampaignErrorBlock, CampaignErrorBlockProps } from './CampaignErrorBlock'\nimport { RadioGroupBlock, RadioGroupBlockProps } from './CampaignRadioBlock'\nimport { CampaignShimmerBlock } from './CampaignShimmerBlock'\nimport { CampaignTaskBlock, CampaignTaskBlockProps } from './CampaignTaskBlock'\nimport { CampaignTimelineBlock, CampaignTimelineBlockProps } from './CampaignTimelineBlock'\n\ninterface CampaignBlockProps {\n block: Block\n className?: string\n childrenClassName?: string\n index: number\n totalBlock?: number\n}\n\nexport function CampaignBlock({ block, className, childrenClassName, index, totalBlock }: CampaignBlockProps) {\n const uuid = useConversationUuid()\n const childLength = block.children?.length\n function renderBlock(block: Block) {\n switch (block.type) {\n case 'image':\n return (\n \n )\n case 'pr':\n return (\n \n )\n case 'task': {\n const isCampaign = isCampaignUuid(uuid)\n return isCampaign ? null : (\n \n )\n }\n case 'context':\n return (\n \n )\n case 'divider':\n return \n case 'single-select':\n return (\n \n )\n case 'error':\n return (\n \n )\n case 'shimmer':\n return \n default:\n return (\n \n )\n }\n }\n\n if (block.type === 'timeline') {\n return (\n \n )\n }\n\n return (\n
\n {renderBlock(block)}\n
\n {Array.isArray(block.children)\n ? block.children.map((block, index) => {\n return (\n \n )\n })\n : null}\n
\n
\n )\n}\n","import { cm } from '~/utils/utils'\n\nexport interface CampaignContextBlockProps {\n text?: BlockText | null\n fields?: {\n align?: 'center' | 'left' | 'right'\n }\n}\n\nexport function CampaignContextBlock({ text, fields }: CampaignContextBlockProps) {\n const value = text?.text || ''\n const align = fields?.align || 'left'\n return
{value}
\n}\n","import dayjs from 'dayjs'\nimport { cm } from '~/utils/utils'\n\nexport interface CampaignDividerBlockProps {\n fields: {\n date: number | string\n }\n}\n\nexport function CampaignDividerBlock({ fields }: CampaignDividerBlockProps) {\n const renderDate = (date: number | string) => {\n if (typeof date === 'string') return date\n if (typeof date === 'number') {\n return dayjs(date).format('h:mm A, MMM DD, YYYY')\n }\n }\n return (\n
\n
\n
\n {renderDate(fields.date)}\n
\n
\n
\n )\n}\n","import { cm } from '~/utils/utils'\n\nexport interface CampaignErrorBlockProps {\n text?: BlockText | null\n fields?: {\n align?: 'center' | 'left' | 'right'\n }\n}\n\nexport function CampaignErrorBlock({ text, fields }: CampaignErrorBlockProps) {\n const value = text?.text || ''\n const align = fields?.align || 'left'\n return (\n
\n
\n {value}\n
\n
\n )\n}\n","import {\n RadioGroup,\n useRadio,\n VisuallyHidden,\n cn,\n RadioVariantProps,\n HTMLNextUIProps,\n RadioSlots,\n SlotsToClasses,\n RadioProps\n} from '@nextui-org/react'\nimport { DOMProps, AriaLabelingProps } from '@react-types/shared'\nimport { Ref, ReactNode } from 'react'\n\ninterface Props extends Omit, keyof RadioVariantProps> {\n ref?: Ref\n children?: ReactNode\n description?: string | ReactNode\n classNames?: SlotsToClasses\n}\nexport interface AriaRadioProps extends RadioProps, DOMProps, AriaLabelingProps {}\ntype UseRadioProps = Omit &\n Omit &\n RadioVariantProps\n\nexport interface RadioGroupBlockProps {\n fields: {\n options: {\n label: string\n description: string\n value: string\n }[]\n selected: string\n }\n}\n\nexport function CampaignCurieRadio(props: UseRadioProps) {\n const {\n Component,\n children,\n isSelected,\n description,\n getBaseProps,\n getWrapperProps,\n getInputProps,\n getLabelProps,\n getLabelWrapperProps,\n getControlProps\n } = useRadio(props)\n\n return (\n \n \n \n \n \n \n \n
\n {children && {children}}\n {description && (\n {description}\n )}\n
\n \n )\n}\n\nexport function RadioGroupBlock({ fields }: RadioGroupBlockProps) {\n const { options, selected } = fields\n return (\n \n {options.map(option => {\n return (\n \n {option.label}\n \n )\n })}\n \n )\n}\n","export interface CampaignShimmerBlock {\n value?: string | null\n}\n\nexport function CampaignShimmerBlock({ value }: CampaignShimmerBlock) {\n return (\n
\n
{value}
\n
\n )\n}\n","import dayjs from 'dayjs'\nimport duration from 'dayjs/plugin/duration'\nimport { TaskBlockHeader } from '~/components/blocks/TaskBlockHeader'\nimport { UsedCommandType } from '~/constants/commands'\nimport { useTaskId } from '~/hooks'\nimport { useConversationMetadata } from '~/hooks/conversation/useConversationMetadata'\nimport { useTaskProgress } from '~/hooks/task/useTaskProgress'\nimport { AgentTaskStatus, agentTaskStatusFromJSON, agentTaskStatusToJSON } from '~/protos/agents'\nimport { toCamelCase } from '~/utils/shared'\nimport { cm } from '~/utils/utils'\nimport { CampaignTaskDuration } from './CampaignTaskDuration'\nimport { CampaignTaskProgressBar } from './CampaignTaskProgressBar'\n\ndayjs.extend(duration)\n\nexport interface CampaignTaskBlockProps {\n children: Block[]\n fields: {\n task_id: number\n status: keyof typeof AgentTaskStatus\n title: string\n created_time: number\n }\n}\n\nexport const getStatusText = (status: string) => {\n if (status === agentTaskStatusToJSON(AgentTaskStatus.AGENT_INTERNAL_STATUS)) {\n return 'In Progress'\n }\n return toCamelCase(status)\n}\n\nexport const renderStatusBadge = (status: string) => {\n return (\n \n {getStatusText(status)}\n
\n )\n}\n\nexport function CampaignTaskBlock({ fields }: CampaignTaskBlockProps) {\n const progress = useTaskProgress()\n const { command, branch } = useConversationMetadata()\n const taskId = useTaskId()\n\n return (\n
\n
\n \n
\n \n
\n
\n
\n {dayjs(fields.created_time).format('YYYY-MM-DD HH:mm')}\n
\n \n
\n
\n
\n
\n )\n}\n","import { MdAccessTime } from '@react-icons/all-files/md/MdAccessTime'\nimport dayjs from 'dayjs'\nimport { useEffect, useState } from 'react'\nimport { isTerminated } from '~/constants/task-status'\nimport { useTaskLastUpdated, useTaskStatus } from '~/hooks'\nimport { useIsS3Task } from '~/hooks/task/useS3Task'\n\ninterface CampaignTaskDurationProps {\n createdTime: number\n}\n\nexport function CampaignTaskDuration({ createdTime }: CampaignTaskDurationProps) {\n const taskStatus = useTaskStatus()\n const taskLastUpdatedAt = useTaskLastUpdated()\n const [latestTime, setLatestTime] = useState(createdTime)\n const isS3Task = useIsS3Task()\n\n useEffect(() => {\n const timer = setInterval(() => {\n setLatestTime(Date.now())\n }, 1000)\n return () => {\n clearInterval(timer)\n }\n }, [])\n\n const lastUpdated = isTerminated(taskStatus, isS3Task) ? taskLastUpdatedAt : latestTime\n const duration = dayjs.duration(dayjs(lastUpdated).diff(dayjs(createdTime)))\n\n const hours = duration.hours()\n const minutes = duration.minutes()\n const seconds = Math.max(duration.seconds(), 0)\n const durationInStr =\n (hours > 0 ? `${hours}h ` : '') + (minutes > 0 ? `${minutes}min ` : '') + `${seconds}s`\n\n return (\n
\n \n {durationInStr}\n
\n )\n}\n","import { TaskStatuses } from '~/constants/task-status'\nimport { AgentTaskStatus, agentTaskStatusToJSON } from '~/protos/agents'\nimport { cm } from '~/utils/utils'\nimport { getStatusText } from './CampaignTaskBlock'\nimport styles from './CampaignTaskProgress.module.scss'\n\ninterface CampaignTaskProgressBarProps {\n percentage: number\n taskStatus: AgentTaskStatus\n statusText?: boolean\n}\nexport function CampaignTaskProgressBar({\n percentage,\n taskStatus,\n statusText = false\n}: CampaignTaskProgressBarProps) {\n return (\n
\n
\n
\n {percentage.toFixed(0)}%{' '}\n {statusText ? getStatusText(agentTaskStatusToJSON(taskStatus)) : ''}\n
\n
\n )\n}\n","import { isSuccessTerminated, TaskStatusDetailType, TaskStatuses } from '~/constants/task-status'\nimport { useCampaignAgentType, useConversationMetadata, useConversationUuid, useTaskDoc } from '~/hooks'\nimport { ModalId, useModalController } from '~/hooks/useModal'\nimport { AgentTaskStatus, agentTaskStatusFromJSON, CommandType } from '~/protos/agents'\nimport { cm, isCampaignUuid } from '~/utils/utils'\nimport Planner from '../../code-plan/Planner'\nimport { TaskStatusDetailModalProps } from '../../modals/TaskStatusDetailsModal'\nimport { UserPopover } from '../../UserPopover'\nimport { CampaignBlock } from './CampaignBlock'\nimport styles from './CampaignTimelineBlock.module.scss'\nimport { IconCampaignTimelineCompleted, IconCampaignTimelineInProgress, IconCampaignTimelineSubmited } from '~/components/icons'\nimport CampaignReadOnlyEditor from '../CampaignReadOnlyEditor'\n\nexport interface CampaignTimelineBlockProps {\n totalBlock: number\n children: Block[]\n fields: {\n ts: number\n desc: string\n status: string\n index: number\n user_id: number\n user_name: string\n }\n}\n\nexport function CampaignTimelineBlock({ totalBlock, fields, children }: CampaignTimelineBlockProps) {\n const { ts, desc, status, index, user_id, user_name } = fields\n const taskStatus = agentTaskStatusFromJSON(status)\n const hasTaskDetail = TaskStatuses[taskStatus].detailType !== TaskStatusDetailType.NONE\n const hasPlan = taskStatus == AgentTaskStatus.PLANNING_COMPLETED\n const documentGenerated = taskStatus == AgentTaskStatus.DOCUMENT_GENERATED\n const { openModal } = useModalController(ModalId.TaskStatusDetails)\n const uuid = useConversationUuid()\n const isCampaign = isCampaignUuid(uuid)\n const rawMarkdown = useTaskDoc()\n const command = useCampaignAgentType()\n\n const onClickDetails = (taskStatus: AgentTaskStatus) => {\n openModal({ title: fields.desc, taskStatus, index })\n }\n\n const renderUser = (user_id: number, user_name: string) => {\n if (user_id && user_name && user_name !== 'Campaign') {\n return (\n <>\n by\n \n \n )\n }\n return null\n }\n\n const convertString = (input: string) => {\n const codeBlockRegex = /```\\w*\\n([\\s\\S]*?)```/g\n const matches = [...input.matchAll(codeBlockRegex)]\n \n if (matches.length > 0) {\n return matches[0][1].trim()\n }\n\n return input\n }\n\n const isDocCampaignCompleted =\n isCampaign &&\n isSuccessTerminated(taskStatus)\n const renderDesc = (desc: string) => {\n if (isDocCampaignCompleted) {\n return 'Task Completed'\n } else if (desc.includes('Task submitted')) {\n return 'Task submitted'\n } else if (desc.includes('Task in progress')) {\n return 'Task in progress'\n }\n return (\n <>\n {desc} {renderUser(user_id, user_name)}\n \n )\n }\n\n const isLastBlock = () => {\n return index == totalBlock - 1\n }\n\n const renderCompleteMessage = () => {\n switch (command) {\n case CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION:\n return (\n <>\n

DataWeave is successfully generated and verified for

\n

the provided input and output example/s

\n \n )\n case CommandType.GENERATE_IMAGE:\n return (\n <>\n

Diagram is successfully generated and verified for

\n

the provided input example/s

\n \n )\n default:\n return null\n }\n }\n\n return (\n
\n
\n {isDocCampaignCompleted ? (\n \n ) : (\n <>\n {(rawMarkdown === '' && desc.includes('Task in progress')) ? (\n \n ) : (\n \n )}\n \n )}\n
\n
\n
{renderDesc(desc)}
\n
\n {isDocCampaignCompleted &&\n
\n {renderCompleteMessage()}\n
\n }\n {hasPlan ? : null}\n {documentGenerated ?\n \n :\n null\n }\n
\n {children.map((block, index) => (\n \n ))}\n
\n
\n \n )\n}\n","import type { FC } from 'react'\n\ninterface Props {\n className?: string\n}\n\nexport const CurieLogo: FC = ({ className }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const IconEye = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const IconCurieStar: FC = ({ className }) => {\n return (\n \n \n \n )\n}\n\nexport const IconCurieStarButton: FC = ({ className }) => {\n return (\n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const IconStartTrialCampaign: FC = ({ className }) => {\n return (\n \n \n \n \n )\n}\n\nexport const IconCampaignTimelineSubmited: FC = ({ className }) => {\n return (\n \n \n \n \n )\n}\n\nexport const IconCampaignTimelineCompleted: FC = ({ className }) => {\n return (\n \n \n \n \n )\n}\n\nexport const IconCampaignTimelineInProgress: FC = ({ className }) => {\n return (\n \n \n \n \n \n )\n}\n\nexport const PopoverNavDownIcon: FC = ({ className }) => {\n return (\n \n \n \n )\n}\n\nexport const ApacheCamelIcon: FC = ({ className }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport const IconLocalRepository: FC = ({ className }) => {\n return (\n \n \n \n )\n}\n","export function CodeIcon({ className }: { className?: string }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function TestIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function DataIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function DiagramIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function TableIcon({ className }: { className?: string }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function DocumentIcon({ className }: { className?: string }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function RepositoryIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ChatIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function NodeJsIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function MigrationIcon() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function CloseIcon() {\n return (\n \n \n \n \n \n )\n}\n\nexport function RemoveIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function StopIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function PdfIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function HelpHubIcon() {\n return (\n \n \n \n \n \n )\n}\n\nexport function CheckIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function ChevronDownIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function ChevronLeftIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\ninterface Props {\n className?: string\n}\n\nexport function CheckIcon2({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function HelpIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function QuestionMarkIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\nexport function CopyLinkIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\nexport function CloseIcon2({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function LibraryIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function IndicatorIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function CloseIndicatorIcon({ className }: Props) {\n return (\n \n \n \n )\n}\nexport function FileUploadIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function CopyIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ListItemIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function StatusSuccessIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function StatusFailedIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function StatusInprogressIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function StatusSuspendedIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function StatusUnkownIcon({ className }: Props) {\n return (\n \n \n \n \n )\n}\n\nexport function SelectIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ConnectViaOauthIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function AddApiKeyIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ConnectButtonIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function IsConnectedIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function ConnectedIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function MoreIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function ExampleIcon({ className }: Props) {\n return (\n \n \n \n \n )\n}\n\nexport function PlusIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nexport function CaretLeftIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function HomeIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function CheckIconTwoTone({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ChatSidebarIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function ErroredSidebarIcon({ className }: Props) {\n return (\n \n \n \n )\n}\n\nexport function ProgressCircleIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n )\n}\n\nexport function TestConnectionIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function TestConnectionSuccessIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function ConnectionFailedIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n\nexport function TooltipIcon({ className }: Props) {\n return (\n \n \n \n \n )\n}\n\nexport function AgenticUIFileUploadIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function CheckCircleOutlinedIcon({ className }: Props) {\n return (\n \n \n \n \n )\n}\n\nexport function CheckCircleTwoToneIcon({ className }: Props) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport function CheckCircleTwoTonePremiumIcon({ className }: Props) {\n return (\n \n \n \n \n \n )\n}\n","export enum MavenVersion {\n '3_5' = '3.5',\n '3_8' = '3.8',\n '3_9' = '3.9'\n}\n\nexport enum JavaVersion {\n '8_0' = '8.0',\n '11_0' = '11.0',\n '17_0' = '17.0'\n}\n\nexport enum DefaultVersion {\n javaVersion = JavaVersion['8_0'],\n mavenVersion = MavenVersion['3_8']\n}\n\nexport enum AccountType {\n FREE = 'free',\n ENTERPRISE_TRIAL = 'enterprise-trial',\n ENTERPRISE_POC = 'enterprise-poc',\n ENTERPRISE = 'enterprise'\n}\n","import { CgSpinnerTwo } from '@react-icons/all-files/cg/CgSpinnerTwo'\nimport { IoIosCheckmarkCircle } from '@react-icons/all-files/io/IoIosCheckmarkCircle'\nimport { IoIosCloseCircle } from '@react-icons/all-files/io/IoIosCloseCircle'\nimport { IoStopCircle } from '@react-icons/all-files/io5/IoStopCircle'\nimport { MdPending } from '@react-icons/all-files/md/MdPending'\nimport { IconEye } from '~/components/icons'\nimport { AgentTaskStatus, CodePlan, Diff } from '~/protos/agents'\nimport { cm } from '~/utils/utils'\nimport { CheckIconTwoTone, ErroredSidebarIcon, ProgressCircleIcon } from './icon'\n\ninterface TaskStatusIconProps {\n color?: string\n className?: string\n sidebar?: boolean\n}\n\nexport enum TaskStatusDetailType {\n NONE = 'NONE',\n DOC = 'DOC',\n DIFF = 'DIFF',\n PLAN = 'PLAN',\n INPUT = 'INPUT'\n}\nexport interface TaskStatusDetail {\n text?: string\n diffs?: Diff[]\n plan?: CodePlan\n diffComments?: string[]\n}\n\nexport interface TypeTaskStatus {\n id: AgentTaskStatus\n group: 'IN_PROGRESS' | 'COMPLETED' | 'NEED_ACTION' | 'ERRORED' | 'STOPPED'\n color: string\n icon: (props: TaskStatusIconProps) => JSX.Element\n detailType: TaskStatusDetailType\n}\nexport type TypeTaskStatuses = {\n [index in AgentTaskStatus]: TypeTaskStatus\n}\nexport type TypeTaskStatusEnum = Exclude\n\nconst StatusColor = {\n InProgress: getComputedStyle(document.documentElement)\n .getPropertyValue('--color-in-progress')\n .trim(),\n Errored: getComputedStyle(document.documentElement).getPropertyValue('--color-errored').trim(),\n Completed: getComputedStyle(document.documentElement)\n .getPropertyValue('--color-completed')\n .trim(),\n NeedAction: getComputedStyle(document.documentElement)\n .getPropertyValue('--color-need-action')\n .trim()\n}\n\nconst taskStatuses: { [index in TypeTaskStatusEnum]: Partial } = {\n [AgentTaskStatus.NONE_TASK_STATUS]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.NONE\n },\n [AgentTaskStatus.SUBMITTED]: { group: 'IN_PROGRESS', detailType: TaskStatusDetailType.DOC },\n [AgentTaskStatus.IN_PROGRESS]: { group: 'IN_PROGRESS', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.HUMAN_DIFF_UPDATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DIFF\n },\n [AgentTaskStatus.DATAWEAVE_DATA_CREATION_ASST_DATA_TYPE_REQUESTED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.NONE\n },\n [AgentTaskStatus.PLANNING_UPDATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.PLAN\n },\n [AgentTaskStatus.DOCUMENT_UPDATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DOC\n },\n [AgentTaskStatus.STEPS_GENERATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DOC\n },\n [AgentTaskStatus.STEPS_UPDATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DOC\n },\n [AgentTaskStatus.DIFF_COMMENT_ADDED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DIFF\n },\n [AgentTaskStatus.PLANNING_REREQUESTED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.NONE\n },\n [AgentTaskStatus.AGENT_INTERNAL_STATUS]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.NONE\n },\n [AgentTaskStatus.MUNIT_SCENARIO_GENERATED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.DOC\n },\n [AgentTaskStatus.PLANNING_COMPLETED]: {\n group: 'NEED_ACTION',\n detailType: TaskStatusDetailType.PLAN\n },\n [AgentTaskStatus.DIFF_GENERATED]: { group: 'NEED_ACTION', detailType: TaskStatusDetailType.DIFF },\n [AgentTaskStatus.ERRORED]: { group: 'ERRORED', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.STOPPED]: { group: 'STOPPED', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.DOCUMENT_GENERATED]: {\n group: 'COMPLETED',\n detailType: TaskStatusDetailType.DOC\n },\n [AgentTaskStatus.COMPLETED]: { group: 'COMPLETED', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.ARCHIVED]: { group: 'COMPLETED', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.IMAGE_GENERATED]: { group: 'COMPLETED', detailType: TaskStatusDetailType.NONE },\n [AgentTaskStatus.GENERAL_TXT_FEEDBACK_PROVIDED]: {\n group: 'IN_PROGRESS',\n detailType: TaskStatusDetailType.NONE\n }\n} as const\nfunction buildTaskStatuses() {\n return Object.entries(taskStatuses).reduce((acc: TypeTaskStatuses, [key, value]) => {\n const id = Number(key) as TypeTaskStatus['id']\n const status = { ...value, id: Number(key) as TypeTaskStatus['id'] }\n if (status.icon == null) {\n switch (status.group) {\n case 'COMPLETED':\n status.icon = ({ sidebar, className, color }: TaskStatusIconProps) => {\n return sidebar ? (\n \n ) : (\n \n )\n }\n break\n case 'ERRORED':\n status.icon = ({ sidebar, className, color }: TaskStatusIconProps) => {\n return sidebar ? (\n \n ) : (\n \n )\n }\n break\n case 'NEED_ACTION':\n status.icon = ({ sidebar, className, color }: TaskStatusIconProps) => {\n return sidebar ? : \n }\n break\n case 'STOPPED':\n status.icon = (props: TaskStatusIconProps) => (\n \n )\n break\n default:\n status.icon = ({ sidebar, className, color }: TaskStatusIconProps) => {\n return sidebar ? (\n \n ) : (\n \n )\n }\n break\n }\n }\n if (status.color == null) {\n switch (status.group) {\n case 'ERRORED':\n case 'STOPPED':\n status.color = StatusColor.Errored\n break\n case 'COMPLETED':\n status.color = StatusColor.Completed\n break\n default:\n status.color = StatusColor.InProgress\n }\n }\n acc[id] = status as TypeTaskStatus\n return acc\n }, {} as TypeTaskStatuses)\n}\n\nexport const TaskStatuses = buildTaskStatuses()\n\nexport const DocumentGeneratedStatuses = [\n AgentTaskStatus.DOCUMENT_GENERATED,\n AgentTaskStatus.MUNIT_SCENARIO_GENERATED\n]\nexport const TerminatedTaskStatus = [\n AgentTaskStatus.COMPLETED,\n AgentTaskStatus.ERRORED,\n AgentTaskStatus.DOCUMENT_GENERATED,\n AgentTaskStatus.STOPPED\n]\n\nexport function isAwaitingUserInput(status: AgentTaskStatus) {\n return AwaitingUserInputStatuses.includes(status)\n}\n\nexport function isTerminated(status: AgentTaskStatus, isLocalTask?: boolean) {\n if (isLocalTask && status === AgentTaskStatus.DIFF_GENERATED) {\n return true\n }\n return TerminatedTaskStatus.includes(status)\n}\n\nexport function isSuccessTerminated(status: AgentTaskStatus) {\n return [\n AgentTaskStatus.COMPLETED,\n AgentTaskStatus.DOCUMENT_GENERATED,\n AgentTaskStatus.IMAGE_GENERATED\n ].includes(status)\n}\n\nexport function isInProgress(status: AgentTaskStatus) {\n return (\n !isTerminated(status) &&\n !isAwaitingUserInput(status) &&\n !FullScreenTaskStatuses.includes(status)\n )\n}\n\nexport const FullScreenTaskStatuses = [AgentTaskStatus.DIFF_GENERATED]\nexport const AwaitingUserInputStatuses = [AgentTaskStatus.NONE_TASK_STATUS]\n\nexport const isAgentInternalStatus = (status: AgentTaskStatus) => {\n return status === AgentTaskStatus.AGENT_INTERNAL_STATUS\n}\n","import { SourceOutputExampleType, sourceOutputExampleTypeToJSON } from '~/protos/agents'\n\nexport const InputOutputExamples = [\n {\n label: 'XML -> JSON',\n inputType: sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_XML),\n input: `\n\n\n \n 5\n MuleSoft Connect 2016\n \n 3\n \n credit-card\n USD\n 1\n \n \n mike@hotmail.com\n John Doe\n
Koala Boulevard 314
\n San Diego\n CA\n 1345\n USA\n
\n main branch\n Mathew Chow\n
\n `.trim(),\n output: `\n{\n \"address1\": \"Koala Boulevard 314\",\n \"city\": \"San Diego\",\n \"country\": \"USA\",\n \"email\": \"mike@hotmail.com\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"postalCode\": \"1345\",\n \"stateOrProvince\": \"CA\"\n}\n `.trim()\n },\n {\n inputType: sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_JSON),\n label: 'JSON -> JSON',\n input: `\n[\n {\n \"sid\": 101,\n \"sname\": \"Rahul\",\n \"sem\": 1,\n \"marks\": 9\n },\n {\n \"sid\": 101,\n \"sname\": \"Rahul\",\n \"sem\": 2,\n \"marks\": 9.5\n },\n {\n \"sid\": 101,\n \"sname\": \"Rahul\",\n \"sem\": 3,\n \"marks\": 8\n },\n {\n \"sid\": 101,\n \"sname\": \"Rahul\",\n \"sem\": 4,\n \"marks\": 7\n }\n]\n `.trim(),\n output: `\n [\n {\n \"SID\": 101,\n \"SNAME\": \"Rahul\",\n \"CGP\": 8.375\n }\n]\n `.trim()\n },\n {\n label: 'JSON -> XML',\n inputType: sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_JSON),\n input: `\n{\n \"superhero\": \"Muletron\",\n \"dataSnacks\": [\"XML Cookies\", \"JSON Jellies\", \"API Apples\", \"Binary Biscuits\"]\n}\n `.trim(),\n output: `\n\n\n Muletron\n \n XML Cookies\n \n \n JSON Jellies\n \n \n API Apples\n \n \n Binary Biscuits\n \n\n `.trim()\n },\n {\n label: 'YAML -> JSON',\n inputType: sourceOutputExampleTypeToJSON(SourceOutputExampleType.DATA_TYPE_YAML),\n input: `\nname: starwars collection\nyear of publication:\n - 1977\n - 1980\n - 1983\nmovies:\n# Only movies from the original trilogy (OT) are listed here.\n ot:\n - Episode IV - A New Hope\n - Episode V - The Empire Strikes Back\n - \"Episode VI - Return of the Jedi Knights.\"\n `.trim(),\n output: `\n[\n {\n \"year\":1977,\n \"ot\":\"Episode IV - A New Hope\"\n },\n {\n \"year\":1980,\n \"ot\":\"Episode V - The Empire Strikes Back\"\n },\n {\n \"year\":1983,\n \"ot\":\"Episode VI - Return of the Jedi Knights.\"\n }\n]\n `.trim()\n }\n] as const\n","import { CommandType } from \"~/constants/commands\"\nimport { serverConfig } from \"~/utils/ssr\"\n\nconst DEFAULT_AGENT_TYPE = CommandType.INPUT_OUTPUT_EXAMPLE_TO_DWL_GENERATION\n\nexport const useCampaignAgentType = () => {\n return serverConfig('agent_type') as CommandType ?? DEFAULT_AGENT_TYPE\n}","import { QueryKeys } from \"~/services/queryClient\"\nimport { useQuery } from \"@tanstack/react-query\"\nimport { getFlowNamesCampaign } from \"~/services/taskService\"\nimport { CodeContext } from \"~/protos/agents\"\n\ninterface UseFlowNamesCampaignProps {\n s3TarFilePath: string\n}\n\nconst useFlowNamesCampaign = ({\n s3TarFilePath\n}: UseFlowNamesCampaignProps) => {\n const hasRequiredFields = Boolean(s3TarFilePath)\n\n const codeContext: CodeContext = {\n connType: \"\",\n orgName: \"\",\n repoName: \"\",\n branchName: \"\",\n commitId: \"\",\n s3TarFilePath\n }\n\n const { data: flowNames } = useQuery({\n queryKey: [codeContext, ...QueryKeys.FlowNames, ...QueryKeys.Conversations],\n queryFn: ({ queryKey }) => getFlowNamesCampaign(queryKey[0] as CodeContext),\n initialData: null,\n enabled: hasRequiredFields,\n meta: {\n persist: false\n },\n select: (data) => hasRequiredFields && data?.flows?.muleAllFlowNames as string[] || null\n })\n return flowNames\n}\n\nexport default useFlowNamesCampaign\n","import { useConversationMetadata } from '../conversation/useConversationMetadata'\nimport { useTaskObj } from './useTaskObj'\n\nexport function useIsS3Task(): boolean {\n const taskObj = useTaskObj()\n const request = taskObj?.details?.originalRequest\n const { s3_tar_file_path } = useConversationMetadata()\n const isS3TarFilePathSet = s3_tar_file_path != null && s3_tar_file_path !== ''\n\n return request?.metadata?.codeContext?.connType === 'S3' || isS3TarFilePathSet\n}\n\nexport function useS3UploadedPath(): string | undefined {\n const taskObj = useTaskObj()\n const { s3_tar_file_path } = useConversationMetadata()\n\n const request = taskObj?.details?.originalRequest\n const pathFromTaskObj =\n request?.metadata?.codeContext?.connType === 'S3'\n ? request?.metadata?.codeContext?.s3TarFilePath\n : undefined\n\n return pathFromTaskObj || s3_tar_file_path\n}\n","import { AgentCommands, UsedCommandType } from '~/constants/commands'\nimport { isAgentInternalStatus } from '~/constants/task-status'\nimport { AgentTaskStatus } from '~/protos/agents'\nimport { useConversationMetadata } from '../conversation'\nimport { useTaskObj } from './useTaskObj'\nimport { useTaskStatus } from './useTaskStatus'\nimport { useTerminatedStatus } from './useTerminatedStatus'\n\nexport function useTaskProgress() {\n const task = useTaskObj()\n const taskStatus = useTaskStatus()\n const { command } = useConversationMetadata()\n const isTerminatedStatus = useTerminatedStatus(taskStatus)\n\n if (isTerminatedStatus) {\n return 100\n }\n\n if (AgentTaskStatus.DOCUMENT_UPDATED === taskStatus) {\n return 50\n }\n\n const { steps } = AgentCommands[command as UsedCommandType]\n const responses = task?.details?.orderedStateResponses\n if (Array.isArray(responses)) {\n const uniqueStatuses = new Set(\n responses.map(response => {\n if (isAgentInternalStatus(response.taskStatus)) {\n const { agentInternalStatus } = response.response[0].responseContentStream!\n return `${response.taskStatus}:${agentInternalStatus}`\n }\n return response.taskStatus\n })\n )\n\n if (uniqueStatuses.size > steps.length) {\n return 99\n }\n return Math.ceil((uniqueStatuses.size / steps.length) * 100)\n }\n return 0\n}\n","import { AgentTaskStatus, agentTaskStatusFromJSON } from '~/protos/agents'\nimport { useConversations } from '../conversation/useConversations'\nimport { useConversationUuid } from '../conversation/useConversationUuid'\nimport { useTaskObj } from './useTaskObj'\n\nexport function useTaskStatus(uuid?: string): AgentTaskStatus {\n const {conversations} = useConversations()\n const uuidToUse = useConversationUuid(uuid)\n\n const taskStatusFromConversations = conversations.find(\n conversation => conversation.uuid === uuidToUse\n )?.task_status\n\n const taskStatusFromTaskObj = useTaskObj(uuid)?.status\n\n if (taskStatusFromTaskObj != null) {\n return agentTaskStatusFromJSON(taskStatusFromTaskObj)\n }\n if (taskStatusFromConversations != null) {\n return agentTaskStatusFromJSON(taskStatusFromConversations)\n }\n return AgentTaskStatus.NONE_TASK_STATUS\n}\n\nexport function useTaskStatusFromTaskObj(uuid?: string): AgentTaskStatus {\n const taskObj = useTaskObj(uuid)\n if (taskObj != null) {\n return agentTaskStatusFromJSON(taskObj.status)\n }\n return AgentTaskStatus.NONE_TASK_STATUS\n}\n","import { TerminatedTaskStatus, isSuccessTerminated } from '~/constants/task-status'\nimport { AgentTaskStatus, CommandType } from '~/protos/agents'\nimport { useConversationMetadata } from '../conversation'\nimport { useIsInternalUploadedIndex, useIsLocalSyncIndex } from '../organization'\nimport { useIsS3Task } from './useS3Task'\nimport { useTaskStatus } from './useTaskStatus'\n\nexport function useTerminatedStatus(taskStatus?: AgentTaskStatus) {\n const statusToBeUsed = taskStatus != null ? taskStatus : useTaskStatus()\n const isS3Task = useIsS3Task()\n const isInternalUploadedIndex = useIsInternalUploadedIndex()\n const isLocalSyncIndex = useIsLocalSyncIndex()\n const { command } = useConversationMetadata()\n const isLocalTask =\n isS3Task ||\n isInternalUploadedIndex ||\n isLocalSyncIndex ||\n command === CommandType.MULESOFT_TO_CAMEL_MIGRATION\n\n const isLocalTaskTerminated = isLocalTask && statusToBeUsed === AgentTaskStatus.DIFF_GENERATED\n const hasSuccessTerminated = isSuccessTerminated(statusToBeUsed)\n\n if (isLocalTaskTerminated || hasSuccessTerminated) {\n return true\n }\n return TerminatedTaskStatus.includes(statusToBeUsed)\n}\n","import { useCallback, useEffect, useRef, useState } from 'react'\nimport { isSuccessTerminated } from '~/constants/task-status'\nimport { AgentTaskStatus } from '~/protos/agents'\n\ninterface ProgressProps {\n isDone: boolean\n maxTimeCap: number\n taskStatus: AgentTaskStatus\n}\n\nexport const useMaxCapProgress = ({ isDone, maxTimeCap, taskStatus }: ProgressProps) => {\n const [progress, setProgress] = useState(0)\n const startTimeRef = useRef(null)\n const intervalRef = useRef(null)\n\n const getRandomIncrement = useCallback(() => {\n return Math.random() * 0.5 + 0.1 // Random increment between 0.1 and 0.6\n }, [])\n\n const updateProgress = useCallback(() => {\n const now = Date.now()\n const elapsedTime = startTimeRef.current ? now - startTimeRef.current : 0\n const progressPercent = (elapsedTime / (maxTimeCap * 1000)) * 100\n\n setProgress(prevProgress => {\n if (prevProgress >= 98) return prevProgress\n const baseProgress = Math.min(progressPercent, 98)\n const randomProgress = Math.min(prevProgress + getRandomIncrement(), baseProgress)\n return Math.min(randomProgress, 98)\n })\n\n if (progressPercent < 98) {\n intervalRef.current = setTimeout(updateProgress, 100) // Update every 100ms\n } else {\n setProgress(98)\n }\n }, [getRandomIncrement, maxTimeCap])\n\n const reset = useCallback(() => {\n setProgress(0)\n startTimeRef.current = Date.now()\n if (intervalRef.current) {\n clearTimeout(intervalRef.current)\n }\n intervalRef.current = setTimeout(updateProgress, 100)\n }, [updateProgress])\n\n useEffect(() => {\n if (isDone) {\n setProgress(100)\n return\n }\n\n if (startTimeRef.current === null) {\n startTimeRef.current = Date.now()\n }\n\n intervalRef.current = setTimeout(updateProgress, 100)\n\n return () => {\n if (intervalRef.current) clearTimeout(intervalRef.current)\n }\n }, [isDone, updateProgress])\n\n useEffect(() => {\n if (isSuccessTerminated(taskStatus)) {\n setProgress(100)\n }\n }, [taskStatus])\n\n return { progress, reset }\n}\n","import { isRepoNotRequired } from '~/constants/commands'\nimport { useConversationMetadata } from './conversation'\n\nexport function useRepositoryNames() {\n const { command, repository, repositories } = useConversationMetadata()\n const renderRepository = (repo: string) => {\n if (repo.includes('___')) {\n const dirname = repo.split('___').pop()?.replace('.tar.gz', '')\n return `local/${dirname}`\n }\n return repo\n }\n return isRepoNotRequired(command) && Array.isArray(repositories) && repositories.length >= 1\n ? repositories.map(renderRepository).join(', ')\n : repository\n ? renderRepository(repository)\n : 'No repository selected'\n}\n","import { useEffect } from 'react'\n\nexport function useSource() {\n useEffect(() => {\n const urlParams = new URLSearchParams(location.search)\n const source = urlParams.get('source')\n if (source) {\n localStorage.setItem('source', source)\n }\n const internal = urlParams.get('_internal')\n if (internal) {\n localStorage.setItem('source', 'internal')\n }\n }, [])\n}\n","import { AgentRequest } from '~/protos/agents'\nimport { getDeviceId } from '~/utils/storage'\n\nexport async function submitCampaignTask(request: AgentRequest) {\n const response = await fetch('/api/campaign/task-submit', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/octet-stream',\n 'X-DEVICE-ID': request.deviceId\n },\n body: AgentRequest.encode(request).finish()\n })\n\n if (!response.ok) {\n const { detail: reason } = await response.json()\n throw new Error(reason)\n }\n\n return response.json() as unknown as { taskId: number }\n}\n\nexport async function isEmailSet(): Promise {\n const uid = getDeviceId()\n const response = await fetch('/api/campaign/user', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ uid })\n })\n\n if (!response.ok) {\n const { detail: reason } = await response.json()\n throw new Error(reason)\n }\n const { is_email_set } = (await response.json()) as unknown as { is_email_set: boolean }\n return is_email_set\n}\n\nexport interface UploadFileOptions {\n onProgress?: (progress: number) => void\n onComplete?: (path: string) => void\n onError?: (error: string) => void\n}\n\nexport async function uploadFile(file: File, options: UploadFileOptions) {\n const { onProgress = () => {}, onComplete = (path: string) => {}, onError = () => {} } = options\n const formData = new FormData()\n formData.append('file', file)\n\n try {\n const response = await fetch('/api/campaign/upload', {\n method: 'PUT',\n body: formData\n })\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`)\n }\n\n const reader = response.body?.getReader()\n if (!reader) {\n throw new Error('Response body is not readable')\n }\n\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n\n const chunk = new TextDecoder().decode(value)\n const lines = chunk.split('\\n').filter(line => line.trim() !== '')\n\n for (const line of lines) {\n const data = JSON.parse(line)\n if (data.error) {\n onError(data.error)\n return\n }\n if (data.progress) {\n onProgress(data.progress)\n }\n if (data.status === 'completed') {\n onComplete(data.path)\n return\n }\n }\n }\n } catch (error) {\n onError(error instanceof Error ? error.message : 'An unknown error occurred')\n }\n}\n","import { deferred } from '~/utils/async'\nimport { AppEvents, globalEventEmitter, sleep } from '~/utils/shared'\nimport { getDeviceId } from '~/utils/storage'\nimport { isPublicPath } from '~/utils/utils'\nimport { trace } from './analyticsService'\n\nexport enum SocketAction {\n OrganizationIndexes = 'organization.indexes'\n}\n\nexport enum SocketEvent {\n ConversationUpdated = 'ConversationUpdated',\n AgentStatusUpdated = 'AgentStatusUpdated'\n}\n\nexport class Socket {\n private static _socket: WebSocket | null = null\n private static _deferredValues: Map = new Map()\n private static MAX_RETRIES = 100\n private static retryCount = 0\n\n public static connect() {\n const { pathname } = new URL(location.href)\n const NON_WEBSOCKET_PAGES = ['/human-annotations', '/super-admin']\n const protocol = location.protocol === 'https:' ? 'wss' : 'ws'\n const url = `${protocol}://${location.host}/api/ws${isPublicPath() ? '/public' : ''}`\n const query = `?device_id=${getDeviceId()}`\n\n if (NON_WEBSOCKET_PAGES.includes(pathname)) {\n return\n }\n\n Socket._socket = new WebSocket(url + query)\n Socket._addListeners(Socket._socket)\n }\n\n public static reconnect(): void {\n if (Socket._socket) {\n if (Socket.isConnected()) {\n Socket._socket.close()\n }\n Socket._removeListeners(Socket._socket)\n Socket._socket = null\n }\n Socket.connect()\n }\n\n private static _onOpen() {\n trace('ws_open')\n }\n\n private static _onMessage(e: MessageEvent) {\n const data = JSON.parse(e.data)\n const { request_id, data: payload, error, event } = data\n const deferredValue = Socket._deferredValues.get(request_id)\n\n try {\n if (event === SocketEvent.ConversationUpdated) {\n trace({\n event: 'ws_message',\n labels: {\n message: e.data\n }\n })\n }\n } catch (_e) {}\n\n if (deferredValue) {\n if (error) {\n return deferredValue.reject(error)\n }\n return deferredValue.resolve(payload)\n } else {\n globalEventEmitter.emit(AppEvents.SocketEvent, data)\n }\n }\n\n private static async _onClose(event: CloseEvent) {\n try {\n const { code, reason } = event\n console.error('Socket closed. Attempting to reconnect.', { code, reason })\n await sleep(1e3)\n Socket.retryCount++\n if (\n Socket._socket &&\n (Socket._socket.readyState === Socket._socket.CONNECTING ||\n Socket._socket.readyState === Socket._socket.OPEN)\n ) {\n Socket.retryCount = 0\n return\n }\n if (Socket.retryCount > Socket.MAX_RETRIES) {\n console.info(\n '[HMR] Unable to establish a connection after exceeding the maximum retry attempts.'\n )\n Socket.retryCount = 0\n return\n }\n Socket.reconnect()\n } finally {\n trace({\n event: 'ws_close',\n labels: {\n code: String(event.code),\n reason: event.reason\n }\n })\n }\n }\n\n private static _onError(e: Event): void {\n trace({\n event: 'ws_error',\n labels: {\n error: e.toString()\n }\n })\n }\n\n private static _addListeners(socket: WebSocket) {\n socket.addEventListener('open', Socket._onOpen)\n socket.addEventListener('message', Socket._onMessage)\n socket.addEventListener('close', Socket._onClose)\n socket.addEventListener('error', Socket._onError)\n }\n\n private static _removeListeners(socket: WebSocket) {\n socket.removeEventListener('open', Socket._onOpen)\n socket.removeEventListener('message', Socket._onMessage)\n socket.removeEventListener('close', Socket._onClose)\n socket.removeEventListener('error', Socket._onError)\n }\n\n public static isConnected(): boolean {\n return Socket._socket !== null && Socket._socket.readyState === WebSocket.OPEN\n }\n\n public static send(message: string): void {\n if (Socket.isConnected()) {\n Socket._socket?.send(message)\n }\n }\n\n public static async callAction(\n action: SocketAction,\n data: Record | null = null\n ): Promise {\n const deferredValue = deferred()\n const requestId = Math.random().toString(36).substring(7)\n const payload = {\n request_id: requestId,\n action,\n data\n }\n this.send(JSON.stringify(payload))\n this._deferredValues.set(requestId, deferredValue)\n\n const value = await Promise.race([\n deferredValue,\n new Promise((_, reject) =>\n setTimeout(() => {\n return reject('Timeout')\n }, 15_000)\n )\n ])\n this._deferredValues.delete(requestId)\n\n return value as T\n }\n}\n\nSocket.connect()\n","import {\n AgentRequest,\n AgentTaskStatus,\n agentTaskStatusToJSON,\n CodeContext,\n CodePlan,\n Command,\n CommandType,\n Diff,\n DocumentInlineComment,\n RepoMetadataRequest\n} from '~/protos/agents'\nimport { DiffReview } from '~/store/editorSlice'\nimport { fetchWrapper } from '~/utils/fetchWrapper'\n\nconst updateTaskStatus = async (payload: {\n uuid: string\n status: AgentTaskStatus\n ar?: AgentRequest\n}) => {\n const { uuid } = payload\n const status = agentTaskStatusToJSON(payload.status)\n const path = `/api/conversation/${uuid}/task-update/${status}`\n const ar = payload.ar ? payload.ar : AgentRequest.create()\n const response = await fetchWrapper(path, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/octet-stream'\n },\n body: AgentRequest.encode(ar).finish()\n })\n if (!response.ok) {\n const reason = await response.text()\n throw new Error(`Failed to update task status. ${reason}`)\n }\n}\n\nexport const approvePlan = async (payload: { uuid: string; codePlan?: CodePlan }) => {\n const { uuid, codePlan } = payload\n const ar = AgentRequest.fromPartial({ codePlan })\n return updateTaskStatus({ uuid, status: AgentTaskStatus.PLANNING_UPDATED, ar })\n}\n\nexport const regeneratePlan = async (payload: { uuid: string }) => {\n const { uuid } = payload\n return updateTaskStatus({ uuid, status: AgentTaskStatus.PLANNING_REREQUESTED })\n}\n\nexport const regenerateDoc = async (payload: { uuid: string; comment: DocumentInlineComment }) => {\n const { uuid, comment } = payload\n const ar = AgentRequest.fromPartial({ documentInlineComments: [comment] })\n return updateTaskStatus({ uuid, status: AgentTaskStatus.DOCUMENT_UPDATED, ar })\n}\n\nexport const regenerateImage = async (payload: { uuid: string; comment: string }) => {\n const { uuid, comment } = payload\n const ar = AgentRequest.fromPartial({\n command: Command.fromPartial({\n commandType: CommandType.GENERATE_IMAGE,\n commandString: comment\n })\n })\n return updateTaskStatus({ uuid, status: AgentTaskStatus.GENERAL_TXT_FEEDBACK_PROVIDED, ar })\n}\n\nexport const applyDiff = async (payload: { uuid: string; diffs: Diff[] }) => {\n const { uuid, diffs } = payload\n const ar = AgentRequest.fromPartial({ diff: diffs })\n return updateTaskStatus({ uuid, status: AgentTaskStatus.HUMAN_DIFF_UPDATED, ar })\n}\n\nexport const requestChanges = async (payload: { uuid: string; diffReview: DiffReview }) => {\n const { uuid, diffReview } = payload\n const { generalDiffComment, diffComments } = diffReview\n const ar = AgentRequest.fromPartial({ diffComments, generalDiffComment })\n return updateTaskStatus({ uuid, status: AgentTaskStatus.DIFF_COMMENT_ADDED, ar })\n}\n\nexport const stopTask = async (payload: { uuid: string }) => {\n await updateTaskStatus({ ...payload, status: AgentTaskStatus.STOPPED })\n}\n\nexport const getFlowNames = async (\n codeContext: CodeContext\n) => {\n const path = `/api/conversation/flow-names`\n const rmr = RepoMetadataRequest.fromPartial({ codeContext: codeContext })\n try {\n const response = await fetchWrapper(path, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: RepoMetadataRequest.encode(rmr).finish()\n })\n if (!response.ok) {\n const reason = await response.text()\n throw new Error(`Failed to get flow names. ${reason}`)\n }\n const flowNames = await response.json()\n return flowNames\n } catch (err) {\n console.error('getFlowNames', err)\n return null\n }\n}\n\nexport const getFlowNamesCampaign = async (\n codeContext: CodeContext\n) => {\n const path = `/api/conversation/flow-names-test-drive`\n const rmr = RepoMetadataRequest.fromPartial({ codeContext: codeContext })\n try {\n const response = await fetchWrapper(path, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: RepoMetadataRequest.encode(rmr).finish()\n })\n if (!response.ok) {\n const reason = await response.text()\n throw new Error(`Failed to get flow names. ${reason}`)\n }\n const flowNames = await response.json()\n return flowNames\n } catch (err) {\n console.error('getFlowNames', err)\n return null\n }\n}\n","import { UpdateProfileReq, User } from '~/types/ResponseType'\nimport { fetchWrapper } from '~/utils/fetchWrapper'\nimport { getDeviceId } from '~/utils/storage'\n\nexport const signup = async (\n email: string,\n password: string,\n code: string,\n fromCampaign: boolean = false\n) => {\n const response = await fetch('/api/user/signup', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n email,\n password,\n code,\n from_campaign: fromCampaign\n })\n })\n if (!response.ok) {\n const responeJson = await response.json()\n const reason = responeJson.detail\n throw new Error(`Failed to signup. ${reason}`)\n }\n const data = await response.json()\n return data\n}\n\nexport const joinWaitlist = async (email: string) => {\n const response = await fetch('/api/campaign/join-waitlist', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n uid: getDeviceId(),\n email\n })\n })\n if (!response.ok) {\n const responeJson = await response.json()\n const reason = responeJson.detail\n throw new Error(reason)\n }\n}\n\nexport const sendVerificationCode = async (email: string) => {\n const response = await fetch('/api/v1/user/email/send-verification', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email })\n })\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail[0].msg\n throw new Error(`Failed to send verification code. ${reason}`)\n }\n return (await response.json()) as { referer: string }\n}\n\nexport const sendResetPasswordVerification = async (email: string) => {\n const response = await fetch(`/api/v1/user/email/reset-password`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email })\n })\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to send reset password verification. ${reason}`)\n }\n}\n\nexport const signin = async (email: string, password: string, mfa_code: string | null) => {\n const response = await fetch('/api/user/signin', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email, password, mfa_code })\n })\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to signin. ${reason}`)\n }\n const data = await response.json()\n if ('email_verified' in data && !data.email_verified) {\n return { email_verified: false, referer: null }\n } else if ('onboarded' in data && !data.onboarded) {\n return { onboarded: false, referer: null }\n } else if (data.mfa_enabled) {\n return { mfa_required: true, referer: null }\n }\n\n return data as { referer: string }\n}\n\nexport const ssoSignin = async () => {\n const response = await fetch('/sso/microsoft/login', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n }\n })\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to signin. ${reason}`)\n }\n}\n\nexport const getUserProfile = async (): Promise => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper(`/api/user/profile`, { headers })\n const data = await response.json()\n return data\n}\n\nexport const updateUserProfile = async (user: Partial) => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper(`/api/user/profile`, {\n method: 'POST',\n headers,\n body: JSON.stringify(user)\n })\n if (response.status !== 200) {\n const json = await response.json()\n if (response.status !== 200) {\n throw new Error(json.detail)\n }\n }\n const data = await response.json()\n return data\n}\n\nexport const deleteAccount = async () => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper(`/api/user/delete-account`, { headers })\n\n const json = await response.json()\n if (response.status !== 200) {\n throw new Error(json.detail)\n }\n return json.detail\n}\n\nexport const emailverify = async (email: string, code: string) => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper(`/api/user/email/verify`, {\n method: 'POST',\n headers,\n body: JSON.stringify({ email, code })\n })\n\n const json = await response.json()\n if (response.status !== 200) {\n throw new Error(json.detail)\n }\n return json.detail\n}\n\nexport const resetPassword = async (\n email: string,\n verificationCode: string,\n newPassword: string\n) => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetch(`/api/v1/user/email/verify-reset-password`, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n email,\n code: verificationCode,\n password: newPassword\n })\n })\n\n const message = await response.json()\n if (response.status !== 200) {\n throw new Error(message.detail)\n }\n return message.detail\n}\n\nexport const emailCodeVerification = async (email: string, code: string) => {\n const response = await fetch('/api/v1/user/email/verify-email-code', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email, code })\n })\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to verify email. ${reason}`)\n }\n const data = await response.json()\n return data\n}\n\nexport const signupUnverified = async (email: string, password: string) => {\n const response = await fetch('/api/user/signup/unverified', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email, password })\n })\n if (!response.ok) {\n const responeJson = await response.json()\n const reason = responeJson.detail\n throw new Error(`Failed to signup unverified email. ${reason}`)\n }\n const data = await response.json()\n return data\n}\n\nexport const signupVerifyEmail = async (email: string, code: string) => {\n const response = await fetch('/api/user/signup/verify-email', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email, password: null, code })\n })\n if (!response.ok) {\n const responeJson = await response.json()\n const reason = responeJson.detail\n throw new Error(`Failed to verify email. ${reason}`)\n }\n const data = await response.json()\n return data\n}\n\nexport const checkEmailVerificationStatus = async (email: string) => {\n const response = await fetch('/api/user/verify-email-status', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ email })\n })\n\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to check email status. ${reason}`)\n }\n\n const data = await response.json()\n return data.email_verified\n}\n\nexport interface Session {\n device: string\n last_active: string\n is_current_device: boolean\n}\n\ninterface SessionsResponse {\n sessions: Session[]\n}\n\nexport const getSessions = async (): Promise => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper('/api/user/sessions', { headers })\n\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to get sessions. ${reason}`)\n }\n\n const data = await response.json()\n return data\n}\n\nexport const deleteSession = async (deviceName: string): Promise => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper('/api/user/sessions', {\n method: 'DELETE',\n headers,\n body: JSON.stringify({ device_name: deviceName })\n })\n\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to delete session. ${reason}`)\n }\n}\n\nexport const getAccessLogs = async () => {\n const headers = new Headers({ 'Content-Type': 'application/json' })\n const response = await fetchWrapper('/api/user/access-logs', { headers })\n\n if (!response.ok) {\n const responseJson = await response.json()\n const reason = responseJson.detail\n throw new Error(`Failed to get access logs. ${reason}`)\n }\n\n const data = await response.json()\n return data\n}\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { QuestionAnsweringCommands } from '~/constants/commands'\nimport { commandTypeFromJSON, DBAgentTaskRequestResponse } from '~/protos/agents'\nimport { serverSideProps } from '~/utils/ssr'\nimport { initialConversationUUID } from './utils'\n\ntype SliceState = {\n messages: Record\n task_objs: Record\n}\n\nfunction buildInitialState(): SliceState {\n const uuid = initialConversationUUID()\n const task = serverSideProps.task || null\n let messages: Message[] = []\n const commandId = commandTypeFromJSON(task?.cmd_type)\n if (task != null && QuestionAnsweringCommands.includes(commandId)) {\n messages = serverSideProps.messages || []\n }\n return {\n messages: {\n [uuid]: messages\n },\n task_objs: { [uuid]: task }\n }\n}\n\nconst initialState: SliceState = buildInitialState()\n\nexport const chatSlice = createSlice({\n name: 'chat',\n initialState,\n reducers: {\n setMessages(state, action: PayloadAction<{ uuid: string; messages: Message[] }>) {\n const { uuid, messages } = action.payload\n state.messages[uuid] = messages\n },\n appendMessage(state, action: PayloadAction<{ uuid: string; message: Message }>) {\n const { message, uuid } = action.payload\n const messages = state.messages[uuid] || []\n messages.push(message)\n },\n updateLatestMessage(state, action: PayloadAction<{ uuid: string; message: Message }>) {\n const { uuid, message } = action.payload\n const messages = state.messages[uuid] || []\n const lastestMessage = messages[messages.length - 1]\n if (lastestMessage) {\n lastestMessage.role = message.role\n lastestMessage.text = message.text\n lastestMessage.blocks = message.blocks\n }\n },\n updateTaskMessage(state, action: PayloadAction<{ uuid: string; message: Message }>) {\n const { message: payload, uuid } = action.payload\n const messages = state.messages[uuid] || []\n\n const taskMessageIndex = messages.findIndex(message => {\n const taskBlock = message.blocks?.find(block => block.type === 'task')\n if (taskBlock == null) return null\n const taskId = taskBlock.fields!.task_id\n return taskId === payload.blocks![0].fields!.task_id\n })\n messages[taskMessageIndex] = payload\n },\n popMessages(state, action: PayloadAction<{ uuid: string; count: number | undefined }>) {\n const { uuid, count = 1 } = action.payload\n const messages = state.messages[uuid] || []\n for (let i = 0; i < count; i++) {\n messages.pop()\n }\n },\n setTaskObj(state, action: PayloadAction<{ task: TaskObject | null; uuid: string }>) {\n const { task = null, uuid } = action.payload\n if (task == null) {\n state.task_objs[uuid] = task\n return\n }\n const { details, ...rest } = task\n const taskObj = Object.assign(rest, { details: DBAgentTaskRequestResponse.fromJSON(details) })\n state.task_objs[uuid] = taskObj\n }\n }\n})\n\nexport const {\n appendMessage,\n updateLatestMessage,\n popMessages,\n setMessages,\n updateTaskMessage,\n setTaskObj\n} = chatSlice.actions\n\nexport default chatSlice.reducer\n","import type { ReactNode } from 'react'\nimport React from 'react'\nimport { cm } from './utils'\n\ninterface Props {\n href: string\n children: ReactNode\n className?: string\n target?: string\n}\n\nexport function Link({ href, children, className, target }: Props) {\n const link = href.replace('https//', '').replace('https://https://', 'https://')\n return (\n {\n if (target === '_blank') return\n location.href = link\n }}\n target={target}\n >\n {children}\n \n )\n}\n","import React from 'react'\n\ninterface ButtonProps extends React.ButtonHTMLAttributes {\n children: React.ReactNode\n className?: string\n isDisabled?: boolean\n}\n\nexport function SecondaryButton({\n children,\n isDisabled = false,\n className = '',\n type = 'button',\n onClick,\n ...props\n}: ButtonProps) {\n return (\n \n \n \n {children}\n \n \n \n )\n}\n"],"names":["TaskBlockHeader","command","taskId","branch","isS3STask","useIsS3Task","s3UploadedPath","useS3UploadedPath","repositoryNames","useRepositoryNames","AgentCommands","isBranchRequired","CampaignButton","children","isDisabled","className","type","onClick","props","messages","inlineChat","endOfMessagesRef","useRef","useEffect","onScrollMessagesToBottom","setTimeout","globalEventEmitter","AppEvents","message","index","CampaignChatMessage","memo","isUser","useConversationMetadata","renderMessage","messageType","text","block","CampaignBlock","CurieMarkdown","isTaskCommand","messageUserName","cm","generateAvatar","CurieAvatar","prev","next","JSON","Link","CurieLogo","sourceOutputExampleTypeToJSON","SourceOutputExampleType","mapSourceDataTypeToLanguage","sourceDataType","CampaignInputOutputToDWLForm","onChange","minRows","maxRows","collapsible","inputTypeDefaultValue","inputDefaultValue","outputDefaultValue","inputClassName","handleEditorSourceChange","handleEditorOutputChange","onError","onErrorClear","vmAware","isReadOnly","samples","setSamples","useState","SourceOutputExamples","sourceOutputExampleTypeFromJSON","inputOutputNotes","setInputOutputNotes","setSourceDataType","sourceDataValidationError","setSourceDataValidationError","outputDataValidationError","setOutputDataValidationError","vmArgs","setVMArgs","useAsync","request","AgentRequest","example","items","Object","key","label","toCamelCase","sampleInputErrors","setSampleInputErrors","Array","sampleOutputErrors","setSampleOutputErrors","handleExampleDelete","_","i","CurieSelect","selectedKeys","format","MonacoTextEditor","value","newExamples","IoIosRemoveCircleOutline","styles","SimpleTextarea","InfoTooltip","SecurityIcon","UsecasesIcon","platformMenuItems","CodingAgent","TestingAgent","DocumentationAgent","CodeReviewAgent","MigrationAgent","resourcesItems","BlogIcon","ResourcesLibraryIcon","MuleSoftIntegrityIcon","companyItems","AboutUsIcon","CareersIcon","ContactIcon","Container","title","linkTitle","linkUrl","window","FaArrowRightLong","ShowCard","image","description","link","Card","renderPlatformDropdown","item","renderUseCasesDropdown","renderResourceDropdown","resourceMenuItems","DataweaveGenerator","IntegrationGenerator","renderCompanyDropdown","menuItems","url","productMenuItems","CampaignNavBarDropDown","code","language","editorRef","undefined","containerRef","editor","monaco","navigator","FaRegCopy","disabled","focused","setFocused","inputRefs","handleChange","inputValue","newValue","digit","handleKeyDown","e","handlePaste","digits","pastedData","lastIndex","Math","el","onSuccess","step","setStep","formState","setFormState","verificationCode","setVerificationCode","setIsDisabled","trace","handleSignUp","event","email","BetterToast","verifyEmail","sendVerificationCode","err","handleVerificationSubmit","emailverify","localStorage","handleResendCode","Input","PrimaryButton","VerificationInput","CampaignSiteLayout","instructionsTitle","instructions","maxTimeCap","buttonText","isError","setIsError","exampleRequest","setExampleRequest","ownDatarequest","setOwnDataRequest","setTaskId","taskStatus","useTaskStatusFromTaskObj","setMessages","showInstructions","setShowInstructions","taskProgress","resetTaskProgress","useMaxCapProgress","isSuccessTerminated","useCampaignAgentType","exampleRef","ownDataRef","currentGenerationSection","setCurrentGenerationSection","handleChangeGenerationSection","section","handleSetError","error","handleTryExample","handleTryOwn","redirectToCurieTrialPage","checkFieldsFilled","CommandType","inputOutputExample","useSource","openSignUpModal","closeSignUpModal","useModalController","ModalId","preSubmitCheck","handleSubmit","isExample","store","setTaskObj","uuid","getDeviceId","task","submitCampaignTask","String","console","useConversationUuid","renderFreeTrialButton","IconStartTrialCampaign","onConversationUpdated","data","SocketEvent","isTerminated","agentTaskStatusFromJSON","progress","WelcomeBackground","CampaignNavBar","IconCurieStar","renderWelcomeText","CampaignWhiteButton","CampaignTryExample","CampaignTryOwnData","TryAgentsSection","CampaignFooter","CommonModal","TaskStatusDetailModal","CampaignSignUp","Toaster","DataWeaveGenerator","handleSetRequest","setExample","InputOutputExamples","setInputDefaultValue","setOutputDefaultValue","setInputTypeDefaultValue","isTaskCompleted","AgentTaskStatus","CardHeader","CardBody","IconCurieStarButton","CampaignTaskProgressBar","CampaignChat","DiagramGenerator","uploadPath","setUploadPath","exampleFlowNames","exampleFlowNamesString","flowName","RuntimeSettings","MuleProjectUpload","SimpleMultiSelect","commandType","ownData","setOwnData","currentOwnDataInput","setCurrentOwnDataInput","currentOwnDataOutput","setCurrentOwnDataOutput","inputTypeOwnData","setInputTypeOwnData","setSelectedKeys","flowNames","useFlowNamesCampaign","hasRequiredFields","Boolean","hasFetchedFlowNames","isLoading","hasFlowNames","flowNamesString","placeholderMessages","newSelection","loadExampleProjectAsFile","response","fetch","Error","blob","blobArray","Uint8Array","gzippedTar","isTar","pako","clientId","date","dayjs","fileName","newFileName","File","onProgress","onComplete","withExamplePrefilled","dragOver","setDragOver","projectName","setProjectName","processing","setProcessing","uploadStatus","setUploadStatus","loadExampleProject","file","onTarFileChange","handleClear","useCallback","tarFile","uploadFile","uploadedPath","createCompressedTarArchive","files","isDropped","tarWriter","TarWriter","fileArray","rootFolder","ig","ignore","GitIgnore","fileContent","filePath","relativePath","tarBlob","tarArray","tarFileName","newTarFileName","newTarFile","handleDragOver","handleDragLeave","handleDrop","entry","fileList","rootFolderName","traverseFileTree","path","newFile","dirReader","entries","dataTransfer","DataTransfer","handleFolderSelect","FaFolder","GoTrash","FileUploadIcon","AGENTS_ROW_1","AGENTS_ROW_2","AgentButton","HorizontalScroll","direction","TryAgentsBackground","agent","childrenClassName","totalBlock","childLength","CampaignTimelineBlock","renderBlock","isCampaign","isCampaignUuid","CampaignTaskBlock","CampaignContextBlock","CampaignDividerBlock","RadioGroupBlock","CampaignErrorBlock","CampaignShimmerBlock","fields","align","CampaignCurieRadio","Component","isSelected","getBaseProps","getWrapperProps","getInputProps","getLabelProps","getLabelWrapperProps","getControlProps","useRadio","cn","VisuallyHidden","options","selected","RadioGroup","option","duration","getStatusText","status","agentTaskStatusToJSON","useTaskProgress","useTaskId","CampaignTaskDuration","createdTime","useTaskStatus","taskLastUpdatedAt","useTaskLastUpdated","latestTime","setLatestTime","isS3Task","timer","setInterval","Date","clearInterval","lastUpdated","hours","minutes","seconds","durationInStr","MdAccessTime","percentage","statusText","desc","ts","user_id","user_name","TaskStatuses","TaskStatusDetailType","hasPlan","documentGenerated","openModal","rawMarkdown","useTaskDoc","renderUser","UserPopover","isDocCampaignCompleted","IconCampaignTimelineSubmited","IconCampaignTimelineInProgress","isLastBlock","renderCompleteMessage","Planner","CampaignReadOnlyEditor","convertString","input","matches","IconEye","PopoverNavDownIcon","ApacheCamelIcon","CodeIcon","TestIcon","DiagramIcon","TableIcon","DocumentIcon","RepositoryIcon","ChatIcon","NodeJsIcon","MigrationIcon","CheckIcon","CopyIcon","CheckIconTwoTone","ErroredSidebarIcon","ProgressCircleIcon","TooltipIcon","DefaultVersion","StatusColor","getComputedStyle","document","acc","id","Number","sidebar","color","IoIosCheckmarkCircle","IoIosCloseCircle","MdPending","IoStopCircle","CgSpinnerTwo","TerminatedTaskStatus","isLocalTask","isAgentInternalStatus","DEFAULT_AGENT_TYPE","serverConfig","s3TarFilePath","useQuery","QueryKeys","queryKey","getFlowNamesCampaign","taskObj","useTaskObj","s3_tar_file_path","pathFromTaskObj","useTerminatedStatus","steps","responses","uniqueStatuses","Set","agentInternalStatus","conversations","useConversations","uuidToUse","taskStatusFromConversations","conversation","taskStatusFromTaskObj","statusToBeUsed","isInternalUploadedIndex","useIsInternalUploadedIndex","isLocalSyncIndex","useIsLocalSyncIndex","isLocalTaskTerminated","hasSuccessTerminated","isDone","setProgress","startTimeRef","intervalRef","getRandomIncrement","updateProgress","now","progressPercent","elapsedTime","prevProgress","baseProgress","reset","clearTimeout","repository","repositories","renderRepository","repo","dirname","isRepoNotRequired","urlParams","URLSearchParams","location","source","reason","formData","FormData","reader","done","line","chunk","TextDecoder","Socket","Map","pathname","URL","protocol","isPublicPath","query","NON_WEBSOCKET_PAGES","WebSocket","request_id","payload","deferredValue","_e","sleep","socket","action","deferred","requestId","Promise","reject","updateTaskStatus","ar","fetchWrapper","approvePlan","codePlan","regeneratePlan","applyDiff","diffs","requestChanges","diffReview","generalDiffComment","diffComments","codeContext","rmr","RepoMetadataRequest","responseJson","headers","Headers","json","initialState","buildInitialState","initialConversationUUID","serverSideProps","commandId","commandTypeFromJSON","QuestionAnsweringCommands","chatSlice","createSlice","state","lastestMessage","taskMessageIndex","taskBlock","count","details","rest","DBAgentTaskRequestResponse","appendMessage","updateLatestMessage","popMessages","updateTaskMessage","href","target","SecondaryButton"],"mappings":"iIACA,MAAe,CAAC,QAAU,gBAAgB,C,uCCA1C,MAAe,CAAC,SAAW,iBAAiB,C,yCCA5C,MAAe,CAAC,SAAW,kBAAkB,KAAO,aAAa,C,ofCU1D,SAASA,EAAgB,CAAEC,QAAAA,CAAO,CAAEC,OAAAA,CAAM,CAAEC,OAAAA,CAAM,CAAwB,EAC/E,IAAMC,EAAYC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACZC,EAAiBC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACjBC,EAAkBC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IA4BxB,MACE,uB,UACGP,EACC,WAAC,OAAI,UAAU,yD,UACb,UAAC,OAAI,UAAU,qB,SAAqB,Q,GACpC,WAAC,OAAI,UAAU,kB,UAAkB,IAC7BA,EAAO,KAAG,IACXD,GAAWS,EAAAA,EAAa,CAACT,EAAQ,CAAGS,EAAAA,EAAa,CAACT,EAAQ,CAAC,KAAK,CAAG,e,MAGtE,KAnCN,AAAIG,EACKE,EACL,WAAC,OAAI,UAAU,yD,UACb,UAAC,OAAI,UAAU,qB,SAAqB,c,GACpC,UAAC,OAAI,UAAU,kB,SAAmBA,EAAe,KAAK,CAAC,OAAO,GAAG,E,MAEjE,KAGJ,uB,UACE,WAAC,OAAI,UAAU,yD,UACb,UAAC,OAAI,UAAU,qB,SAAqB,c,GACpC,UAAC,OAAI,UAAU,kB,SAAmBE,C,MAGnCG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAiBV,GAChB,WAAC,OAAI,UAAU,yD,UACb,UAAC,OAAI,UAAU,qB,SAAqB,U,GACpC,UAAC,OAAI,UAAU,kB,SAAmBE,GAAkB,oB,MAEpD,K,KAmBZ,C,wGChDO,SAASS,EAAe,CAC7BC,SAAAA,CAAQ,CACRC,WAAAA,EAAa,EAAK,CAClBC,UAAAA,EAAY,EAAE,CACdC,KAAAA,EAAO,QAAQ,CACfC,QAAAA,CAAO,CACP,GAAGC,EACS,EACZ,MACE,UAAC,UACC,KAAMF,EACN,SAAUF,EACV,QAASG,EACT,UAAW;;QAET,EACEH,EACI,eACA;QAEN,EAAEC;MACJ,CAAC,CACA,GAAGG,CAAK,C,SAET,UAAC,OACC,UAAW;;UAET,EACEJ,EACI,GACA;QAER,CAAC,C,SAED,UAAC,OACC,UAAW;;YAET,EACEA,EACI,iBACA;UAER,CAAC,C,SAEAD,C,MAKX,C,sLCtBA,MA1BA,SAAsB,CAAEM,SAAAA,CAAQ,CAAEC,WAAAA,CAAU,CAAqB,EAC/D,IAAMC,EAAmBC,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAuB,MAehD,MAbAC,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,IAAMC,EAA2B,KAE/BC,WAAW,KACTJ,EAAiB,OAAO,EAAE,eAAe,CAAE,SAAU,QAAS,EAChE,EAHuB,IAIzB,EAEA,OADAK,EAAAA,EAAAA,CAAAA,EAAqB,CAACC,EAAAA,EAAAA,CAAAA,sBAAgC,CAAEH,GACjD,KACLE,EAAAA,EAAAA,CAAAA,GAAsB,CAACC,EAAAA,EAAAA,CAAAA,sBAAgC,CAAEH,EAC3D,CACF,EAAG,EAAE,EAGH,WAAC,OAAI,UAAU,sB,UACZL,EAAS,GAAG,CAAC,CAACS,EAASC,IACtB,UAACC,EAAAA,CAAmBA,CAAAA,CAAa,QAASF,EAAS,WAAYR,C,EAArCS,IAE5B,UAAC,OAAI,IAAKR,C,KAGhB,E,mPCgCA,MAAeU,AAAAA,GAAAA,EAAAA,IAAAA,AAAAA,EApDf,SAA6B,CAAEH,QAAAA,CAAO,CAAER,WAAAA,CAAU,CAAwB,EAExE,IAAMY,EAASJ,AAAiB,SAAjBA,EAAQ,IAAI,CACrB,CAAE3B,QAAAA,CAAO,CAAE,CAAGgC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEdC,EAAgB,AAACN,IACrB,GAAIA,EAAQ,MAAM,CAAE,CAClB,IAAMO,EAAcP,EAAQ,MAAM,CAAC,EAAE,CAAC,IAAI,CACtCQ,EAAO,GAKX,MAHoB,OAAhBD,GAAsBC,CAAAA,GAAQ,6BAA4B,EAC1C,UAAhBD,GAAyBC,CAAAA,GAAQ,uCAAsC,EAEpER,EAAQ,MAAM,CAAC,GAAG,CAAC,CAACS,EAAOR,IAChC,UAACS,EAAAA,CAAaA,CAAAA,CAEZ,MAAOT,EACP,MAAOQ,EACP,WAAYT,EAAQ,MAAM,EAAE,M,EAHvBS,EAAM,EAAE,EAAIR,GAMvB,CAEA,MAAO,UAACU,EAAAA,EAAaA,CAAAA,CAAC,KAAMX,EAAQ,IAAI,EAAI,E,EAC9C,EAEA,GAAI,CAACR,GAAcoB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAcvC,SAC/B,AAAI2B,AAAgB,QAAhBA,EAAQ,IAAI,CACP,KAEFM,EAAcN,GAGvB,IAAMa,EAAkBb,EAAQ,gBAAgB,EAAE,WAAa,OAE/D,MACE,WAAC,OAAI,cAAY,UAAU,UAAWc,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,eAnCzB,0E,UAoCd,WAAC,OAAI,UAAU,8B,UACb,UAAC,OACC,IAAKV,EAASW,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAeF,GAAmBG,EAChD,IAAKhB,EAAQ,IAAI,CACjB,UAAU,kC,GAEZ,UAAC,OAAI,UAAU,qC,SACZI,EAASS,EAAkB,O,MAG/BP,EAAcN,G,EAGrB,EAIE,CAACiB,EAAMC,IAASC,KAAK,SAAS,CAACF,EAAK,OAAO,IAAME,KAAK,SAAS,CAACD,EAAK,OAAO,G,kGC5B9E,MApCuB,IAEnB,UAAC,UAAO,UAAU,iD,SAChB,WAAC,OAAI,UAAU,6B,UACb,UAAC,OAAI,UAAU,Q,SACb,UAACE,EAAAA,EAAIA,CAAAA,CAAC,KAAK,IAAI,UAAU,oB,SACvB,UAACC,EAAAA,EAASA,CAAAA,CAAC,UAAU,sB,OAGzB,WAAC,OAAI,UAAU,mD,UACb,WAAC,OAAI,UAAU,oC,UACb,UAACD,EAAAA,EAAIA,CAAAA,CAAC,KAAK,4BAA4B,UAAU,a,SAAa,M,GAC9D,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,oCAAoC,UAAU,a,SAAa,U,GACtE,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,iCAAiC,UAAU,a,SAAa,O,GACnE,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,mCAAmC,UAAU,a,SAAa,S,GACrE,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,8BAA8B,UAAU,a,SAAa,c,GAChE,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,sCAAsC,UAAU,a,SAAa,S,MAG1E,UAAC,O,SACC,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,kDAAkD,UAAU,qB,SAAqB,U,QAIhG,WAAC,OAAI,UAAU,kE,UACb,UAAC,KAAE,UAAU,qB,SAAqB,mC,GAClC,WAAC,OAAI,UAAU,yB,UACb,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,iCAAiC,UAAU,a,SAAa,O,GACnE,UAACA,EAAAA,EAAIA,CAAAA,CAAC,KAAK,mCAAmC,UAAU,a,SAAa,S,8SCO9EE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,aAAqC,EAAI;;;;;;;;IAQtE,CAAC,CAAC,IAAI,GACPD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,cAAsC,EAAI;;;;;;;;IAQvE,CAAC,CAAC,IAAI,GACPD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,aAAqC,EAAI;;;IAGtE,CAAC,CAAC,IAAI,GACPD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,cAAsC,EAAI;;;;;IAKvE,CAAC,CAAC,IAAI,GAGV,IAAMC,EAA8B,AAACC,IACnC,OAAQA,GACN,IAAK,iBACH,MAAO,MACT,KAAK,gBACH,MAAO,KACT,KAAK,iBACH,MAAO,MACT,SACE,MAAO,KACX,CACF,EAEO,SAASC,EAA6B,CAC3CC,SAAAA,CAAQ,CACRC,QAAAA,EAAU,EAAE,CACZC,QAAAA,EAAU,EAAE,CACZC,YAAAA,EAAc,EAAK,CACnBC,sBAAAA,CAAqB,CACrBC,kBAAAA,CAAiB,CACjBC,mBAAAA,CAAkB,CAClBC,eAAAA,CAAc,CACdC,yBAAAA,CAAwB,CACxBC,yBAAAA,CAAwB,CACxBC,QAAAA,CAAO,CACPC,aAAAA,CAAY,CACZC,QAAAA,EAAU,EAAK,CACfC,WAAAA,EAAa,EAAK,CACgB,EAClC,GAAM,CAACC,EAASC,EAAW,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiC,CAC7DC,EAAAA,EAAAA,CAAAA,QAA6B,CAAC,CAC5B,WAAYZ,EACZ,WAAYC,EACZ,eAAgBY,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAgCd,EAClD,GACD,EACK,CAACe,EAAkBC,EAAoB,CAAGJ,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiB,IAC3D,CAAClB,EAAgBuB,EAAkB,CAAGL,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAC1CZ,GAAyBT,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,aAAqC,GAExF,CAAC0B,EAA2BC,EAA6B,CAAGP,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAkB,IAC9E,CAACQ,EAA2BC,EAA6B,CAAGT,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAkB,IAC9E,CAACU,EAAQC,EAAU,CAAGX,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiB,IAE7ChD,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACJsD,GAA6BE,EAC/Bd,MAEAC,KAEJ,EAAG,CAACW,EAA2BE,EAA0B,EAEzDI,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAS,UACP,IAAI/C,EACF,0BACAiC,CAAO,CAAC,EAAE,CAAC,UAAU,CACrB,6BACAA,CAAO,CAAC,EAAE,CAAC,UAAU,CACrB,gBACAK,EAEIU,EAAUC,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CACvC,QAAS,CAAE,cAAejD,CAAK,EAC/B,qBAAsBiC,EAAQ,GAAG,CAACiB,AAAAA,GAChCd,EAAAA,EAAAA,CAAAA,QAA6B,CAAC,CAC5B,WAAYc,EAAQ,UAAU,CAC9B,WAAYA,EAAQ,UAAU,CAC9B,eAAgBb,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAgCpB,EAClD,IAEFqB,iBAAAA,EACAO,OAAAA,CACF,GACA1B,IAAW,CAAE6B,QAAAA,CAAQ,EACvB,EAAG,CAACf,EAAShB,EAAgBqB,EAAkBO,EAAO,EAEtD,IAAMM,EAAQC,OAAO,IAAI,CAACrC,EAAAA,EAAuBA,EAC9C,MAAM,CACLnC,AAAAA,GACEA,EAAK,UAAU,CAAC,UAChB,CAACA,EAAK,QAAQ,CAAC,YACf,CAACA,EAAK,QAAQ,CAAC,SACf,CAACA,EAAK,QAAQ,CAAC,cAElB,GAAG,CAACyE,AAAAA,GAEI,EAAEC,MADKC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAYF,GAAK,KAAK,CAAC,KAAK,GAAG,GAAI,WAAW,GAC5C,IAAKA,CAAI,IAGvB,CAACG,EAAmBC,EAAqB,CAAGtB,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAChDuB,MAAM,IAAI,CAAC,CAAE,OAAQzB,EAAQ,MAAM,AAAC,EAAG,IAAM,KAEzC,CAAC0B,EAAoBC,EAAsB,CAAGzB,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAClDuB,MAAM,IAAI,CAAC,CAAE,OAAQzB,EAAQ,MAAM,AAAC,EAAG,IAAM,KAGzC4B,EAAsB,AAACpE,IAC3ByC,EAAWD,EAAQ,MAAM,CAAC,CAAC6B,EAAGC,IAAMA,IAAMtE,GAC5C,EAEA,MACE,WAAC,OAAI,UAAU,oB,UACb,WAAC,OAAI,UAAU,a,UACb,UAAC,OAAI,UAAU,8D,SAA8D,qB,GAG7E,UAACuE,EAAAA,CAAWA,CAAAA,CACV,MAAOb,EACP,YAAY,sBACZ,aAAc,CAAClC,EAAe,CAC9B,kBAAmBgD,AAAAA,IACjB,GAAI,AAAwB,UAAxB,OAAOA,GAA6BA,AAAsB,IAAtBA,EAAa,IAAI,CACvD,OAEF,IAAMC,EAASD,EAAa,MAAM,GAAG,IAAI,GAAG,KAAK,CACjDzB,EAAkB0B,EACpB,C,MAGJ,UAAC,O,SACEjC,EAAQ,GAAG,CAAC,CAACiB,EAASzD,IACrB,WAAC,OAAI,UAAU,8B,UACb,UAAC,OAAI,UAAU,iF,GACf,UAAC,OAAI,UAAU,kF,GACf,WAAC,OAAI,UAAU,qC,UACZA,AAAU,IAAVA,EACC,UAAC,OAAI,UAAU,8D,SAA8D,oB,GAG3E,KACJ,UAAC0E,EAAAA,CAAgBA,CAAAA,CACf,MAAOjB,EAAQ,UAAU,CACzB,SAAUlC,EAA4BC,GACtC,SAAUmD,AAAAA,IACR,IAAMC,EAAc,IAAIpC,EAAQ,AAChCoC,CAAAA,CAAW,CAAC5E,EAAM,CAAC,UAAU,CAAG2E,EAChCzC,IAA2ByC,GAC3BlC,EAAWmC,EACb,EACA,QAAS,IAAM3B,EAA6B,IAC5C,aAAc,IAAMA,EAA6B,IACjD,WAAYV,C,GAEbwB,CAAiB,CAAC/D,EAAM,EACvB,UAAC,OAAI,UAAU,4B,SAA6B+D,CAAiB,CAAC/D,EAAM,A,GAErEA,EAAQ,GACP,UAAC,UACC,QAAS,IAAMoE,EAAoBpE,GACnC,UAAU,iFACV,aAAW,iB,SAEX,UAAC6E,EAAAA,CAAwBA,CAAAA,CAAC,KAAM,E,QAItC,WAAC,OAAI,UAAU,sC,UACZ7E,AAAU,IAAVA,EACC,UAAC,OAAI,UAAU,8D,SAA8D,qB,GAG3E,KACJ,UAAC0E,EAAAA,CAAgBA,CAAAA,CACf,MAAOjB,EAAQ,UAAU,CACzB,UAAU,aACV,SAAUkB,AAAAA,IACR,IAAMC,EAAc,IAAIpC,EAAQ,AAChCoC,CAAAA,CAAW,CAAC5E,EAAM,CAAC,UAAU,CAAG2E,EAChCxC,IAA2BwC,GAC3BlC,EAAWmC,EACb,EACA,QAAS,IAAMzB,EAA6B,IAC5C,aAAc,IAAMA,EAA6B,IACjD,WAAYZ,C,MAGf2B,CAAkB,CAAClE,EAAM,EACxB,UAAC,OAAI,UAAU,4B,SAA6BkE,CAAkB,CAAClE,EAAM,A,KAxDvBA,G,GA4ErD6B,EACC,WAAC,WAAQ,UAAWhB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,iBAAkBiE,EAAAA,CAAAA,CAAAA,OAAc,E,UACrD,UAAC,WAAQ,UAAU,U,SAAU,U,GAC7B,WAAC,OAAI,UAAU,mB,UACb,UAAC,OAAI,UAAU,mE,SAAmE,Q,GAGlF,UAACC,EAAAA,CAAcA,CAAAA,CACb,SAAUjC,EACV,QAAS,EACT,YAAY,2J,SAKlB,WAAC,OAAI,UAAU,c,UACb,UAAC,OAAI,UAAU,mE,SAAmE,mB,GAGlF,UAACiC,EAAAA,CAAcA,CAAAA,CACb,SAAUjC,EACV,QAAS,EACT,YAAY,2J,GAEbR,EACC,uB,UACE,WAAC,OAAI,UAAU,qG,UACb,UAAC,Q,SAAK,U,GACN,UAAC0C,EAAAA,CAAWA,CAAAA,CAAC,QAAQ,qJ,MAEvB,UAACD,EAAAA,CAAcA,CAAAA,CACb,UAAU,OACV,SAAU1B,EACV,QAAS,EACT,YAAY,wD,MAGd,K,KAKd,C,8ICjQO,IAAM4B,EAAe,IAExB,WAAC,OAAI,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,KAAK,OAAO,MAAM,6B,UACpE,WAAC,KAAE,SAAS,wB,UACZ,UAAC,QAAK,MAAM,MAAM,OAAO,MAAM,KAAK,S,GACpC,UAAC,QAAK,EAAE,krBAAkrB,KAAK,S,GAC/rB,UAAC,QAAK,EAAE,86BAA86B,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GACr+B,UAAC,QAAK,EAAE,krBAAkrB,KAAK,S,GAC/rB,UAAC,QAAK,EAAE,i2JAAi2J,KAAK,O,GAC92J,UAAC,QAAK,EAAE,01DAA01D,KAAK,O,MAEv2D,UAAC,Q,SACD,UAAC,YAAS,GAAG,kB,SACb,UAAC,QAAK,MAAM,MAAM,OAAO,MAAM,KAAK,O,UAO7BC,EAAe,IAExB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACzC,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,udAAud,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,iICxB3iB,IAAMC,EAAoC,CACxC,CAAE,MAAO,gBAAiB,KAAM,iDAAkD,KAAM,UDpD/D,IAEvB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,KAAK,S,GAClE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,UAAU,YAAY,K,GAC1F,UAAC,QAAK,EAAE,wcAAwc,KAAK,S,MC+CrXC,CAAAA,EAAI,EACxG,CAAE,MAAO,iBAAkB,KAAM,kDAAmD,KAAM,UD3ChE,IAExB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,KAAK,S,GAClE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,UAAU,YAAY,K,GAC1F,UAAC,QAAK,EAAE,8rBAA8rB,KAAK,S,MCsCxmBC,CAAAA,EAAI,EAC3G,CAAE,MAAO,uBAAwB,KAAM,wDAAyD,KAAM,UDlCtE,IAE9B,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,KAAK,S,GAClE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,UAAU,YAAY,K,GAC1F,UAAC,QAAK,EAAE,gQAAgQ,KAAK,S,MC6BxJC,CAAAA,EAAI,EAC7H,CAAE,MAAO,sBAAuB,KAAM,uDAAwD,KAAM,UDzBvE,IAE3B,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,KAAK,S,GAClE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,UAAU,YAAY,K,GAC1F,UAAC,QAAK,EAAE,kgCAAkgC,KAAK,S,MCoB/5BC,CAAAA,EAAI,EACxH,CAAE,MAAO,mBAAoB,KAAM,iEAAkE,KAAM,UDhB/E,IAE1B,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,KAAK,S,GAClE,UAAC,QAAK,EAAE,OAAO,EAAE,OAAO,MAAM,OAAO,OAAO,OAAO,GAAG,OAAO,OAAO,UAAU,YAAY,K,GAC1F,UAAC,QAAK,EAAE,w4BAAw4B,KAAK,S,MCW/xBC,CAAAA,EAAI,EAC/H,CAEKC,EAAiC,CACrC,CAAE,MAAO,OAAQ,KAAM,gCAAiC,YAAa,uDAAwD,KAAM,UDoB7G,IAEpB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACzC,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,wgBAAwgB,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MCzB9cC,CAAAA,EAAI,EAChJ,CAAE,MAAO,mBAAoB,KAAM,qCAAsC,YAAa,4CAA6C,KAAM,UD6BvG,IAEhC,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACzC,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,geAAge,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MClCpZC,CAAAA,EAAI,EAClK,CAAE,MAAO,8BAA+B,KAAM,gDAAiD,YAAa,uEAAwE,KAAM,UDuCvJ,IAEjC,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACzC,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,q1BAAq1B,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MC5CvtBC,CAAAA,EAAI,EACrN,CAEKC,EAAmC,CACvC,CACE,MAAO,WACP,YAAa,qEACb,KAAM,UD0CiB,IAEvB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACzC,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,oaAAoa,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MC/CleC,CAAAA,GAClB,KAAM,iCACN,MAAO,IACT,EACA,CACE,MAAO,UACP,YAAa,2DACb,KAAM,UD6CiB,IAEvB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,WAAW,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACtD,UAAC,QAAK,EAAE,WAAW,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC7H,UAAC,QAAK,EAAE,6fAA6f,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MClD3jBC,CAAAA,GAClB,KAAM,mCACN,MAAO,eACT,EACA,CACE,MAAO,UACP,YAAa,8DACb,KAAM,UDgDiB,IAEvB,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QAAK,EAAE,WAAW,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,KAAK,O,GACtD,UAAC,QAAK,EAAE,UAAU,EAAE,WAAW,MAAM,UAAU,OAAO,UAAU,GAAG,UAAU,OAAO,QAAQ,cAAc,MAAM,YAAY,U,GAC5H,UAAC,QAAK,EAAE,stCAAstC,OAAO,UAAU,YAAY,IAAI,cAAc,QAAQ,eAAe,O,MCrDpxCC,CAAAA,GAClB,KAAM,sCACN,MAAO,IACT,EACD,CAEKC,EAAY,CAAC,CAAEC,MAAAA,CAAK,CAAEC,UAAAA,CAAS,CAAEC,QAAAA,CAAO,CAAEpH,SAAAA,CAAQ,CAAEE,UAAAA,CAAS,CAAkB,GAEjF,WAAC,OAAI,UAAW,CAAC,eAAe,EAAEA,EAAU,CAAC,C,UAC3C,WAAC,OAAI,UAAU,8C,UACb,UAAC,MAAG,UAAU,sC,SAAuCgH,C,GACpDC,GAAaC,GACZ,WAAC,MACC,QAAS,IAAMC,OAAO,QAAQ,CAAC,IAAI,CAAGD,EACtC,UAAU,0E,UAETD,EAAU,IAAC,UAACG,EAAAA,CAAgBA,CAAAA,CAAAA,G,MAIlCtH,E,GAKDuH,EAAW,CACf,CAAEC,MAAAA,CAAK,CAAEN,MAAAA,CAAK,CAAEO,YAAAA,CAAW,CAAEC,KAAAA,CAAI,CAAEP,UAAAA,CAAS,CAAEjH,UAAAA,CAAS,CAAiB,GAGtE,UAAC,OAAI,QAAS,KAAWwH,GAAML,CAAAA,OAAO,QAAQ,CAAC,IAAI,CAAGK,CAAG,CAAC,E,SACxD,UAACC,EAAAA,CAAIA,CAAAA,CACH,OAAO,OACP,OAAO,KACP,UAAW,CAAC,sDAAsD,EAAEzH,EAAU,CAAC,C,SAE/E,WAAC,OAAI,UAAU,kB,UACZ,AAAiB,UAAjB,OAAOsH,EACN,UAAC,OAAI,UAAU,kB,SACb,UAAC,OAAI,IAAKA,EAAO,IAAKN,C,KAGxB,UAAC,OAAI,UAAU,a,SACZM,C,GAGL,WAAC,OAAI,UAAU,sB,UACb,UAAC,KAAE,UAAU,2B,SAA4BN,C,GACzC,UAAC,QAAK,UAAU,kC,SAAmCO,C,GACnD,WAAC,KAAE,UAAU,gD,UAAiDN,EAAU,IAAC,UAACG,EAAAA,CAAgBA,CAAAA,CAAAA,G,aAQhGM,EAAyB,AAACzB,GAE5B,uB,UACE,UAACc,EAAAA,CACC,MAAM,SACN,UAAU,oBACV,QAAQ,mCACR,UAAU,sC,SAEV,UAAC,OAAI,UAAU,mB,SACZd,EAAkB,GAAG,CAAC,CAAC0B,EAAM7G,IAC5B,UAAC,OAAI,UAAU,sB,SACb,WAAC,KAEC,KAAM6G,EAAK,IAAI,CACf,UAAU,+F,UAYTA,EAAK,IAAI,CACV,UAAC,Q,SAAMA,EAAK,KAAK,A,KAfZ7G,E,QAqBf,UAACiG,EAAAA,CAAU,MAAM,WAAW,UAAU,sC,SACpC,UAACM,EAAAA,CACC,MAAO,UAACtB,EAAYA,CAAAA,GACpB,MAAM,4BACN,YAAY,sEACZ,KAAK,oCACL,UAAU,aACV,UAAU,K,QAOd6B,EAAyB,IAE3B,UAACb,EAAAA,CAAU,MAAM,YAAY,UAAU,sC,SACrC,UAAC,OAAI,UAAU,mB,SACb,UAAC,OAAI,UAAU,sB,SACb,WAAC,KAEC,KAAK,wDACL,UAAU,+F,UAYV,UAACf,EAAYA,CAAAA,GACb,WAAC,OAAI,UAAU,gB,UACb,UAAC,KAAE,UAAU,sB,SAAsB,oB,GACnC,UAAC,KAAE,UAAU,0B,SAA0B,8B,GACvC,UAAC,KAAE,UAAU,0B,SAA0B,+B,QAlBrC,+B,OA2BV6B,EAAyB,AAACC,GAE5B,uB,UACE,UAACf,EAAAA,CAAU,MAAM,YAAY,UAAU,sC,SACrC,UAAC,OAAI,UAAU,gB,SACZe,EAAkB,GAAG,CAAC,CAACH,EAAM7G,IAC5B,UAAC,OAAI,UAAU,sB,SACb,WAAC,KAEC,KAAM6G,EAAK,IAAI,CACf,UAAU,+F,UAYTA,EAAK,IAAI,CACV,WAAC,OAAI,UAAU,gB,UACb,UAAC,KAAE,UAAU,sB,SAAuBA,EAAK,KAAK,A,GAC9C,UAAC,KAAE,UAAU,0B,SAA2BA,EAAK,WAAW,A,QAjBtD,+B,QAwBd,WAACZ,EAAAA,CACC,MAAM,gBACN,UAAU,oBACV,QAAQ,2DACR,UAAU,sC,UAEV,UAACM,EAAAA,CACC,MAAOU,EACP,MAAM,sBACN,YAAY,qDACZ,KAAK,yDACL,UAAU,mBACV,UAAU,K,GAEZ,UAACV,EAAAA,CACC,MAAOW,EACP,MAAM,wBACN,YAAY,qDACZ,KAAK,2DACL,UAAU,mBACV,UAAU,K,SAOdC,EAAwB,AAACtB,GAE3B,UAACI,EAAAA,CAAU,MAAM,YAAY,UAAU,sC,SACrC,UAAC,OAAI,UAAU,O,SACZJ,EAAa,GAAG,CAAC,CAACgB,EAAM7G,IACvB,UAAC,OAAI,UAAU,sB,SACf,WAAC,KAEC,KAAM6G,EAAK,IAAI,CACf,UAAU,+F,UAYTA,EAAK,IAAI,CACV,WAAC,OAAI,UAAU,gB,UACb,WAAC,OAAI,UAAU,O,UACb,UAAC,KAAE,UAAU,sB,SAAuBA,EAAK,KAAK,A,GAC7CA,EAAK,KAAK,EACT,UAAC,QAAK,UAAU,wE,SACbA,EAAK,KAAK,A,MAIjB,UAAC,KAAE,UAAU,0B,SAA2BA,EAAK,WAAW,A,QAxBtD,+B,QAuGhB,EArE+B,CAAC,CAC9BX,MAAAA,CAAK,CACLkB,UAAAA,CAAS,CACTC,IAAAA,CAAG,CACHlI,KAAAA,CAAI,CACwB,GAG1B,WAAC,OAAI,UAAU,yB,UAEb,UAAC,UACC,UAAU,6MAkBV,QAAS,KACHkI,GACFhB,CAAAA,OAAO,QAAQ,CAAC,IAAI,CAAGgB,CAAE,CAE7B,E,SAEA,UAAC,QAAK,UAAU,sB,SAAuBnB,C,KAIxCkB,GACC,UAAC,OACC,UAAU,yG,SAcV,UAAC,OAAI,UAAU,8B,SACb,WAAC,OAAI,UAAU,yB,UACZjI,AAAS,YAATA,GAAsByH,EAAuBzB,GAC7ChG,AAAS,aAATA,GAAuB2H,IACvB3H,AAAS,cAATA,GAAwB4H,EAAuBtB,GAC/CtG,AAAS,YAATA,GAAsBgI,EAAsBtB,G,UCtXrDyB,EAAmB,CACvB,CAAE,MAAO,eAAgB,KAAM,kCAAmC,EAClE,CAAE,MAAO,gBAAiB,KAAM,gDAAiD,EACjF,CAAE,MAAO,iBAAkB,KAAM,iDAAkD,EACnF,CAAE,MAAO,uBAAwB,KAAM,uDAAwD,EAC/F,CAAE,MAAO,sBAAuB,KAAM,sDAAuD,EAC7F,CAAE,MAAO,mBAAoB,KAAM,gEAAiE,EACpG,CAAE,MAAO,WAAY,KAAM,mCAAoC,EAChE,CA4CD,EA/B8B,IAE1B,WAAC,OAAI,UAAU,uE,UACb,UAACnG,EAAAA,EAAIA,CAAAA,CAAC,KAAK,4BAA4B,UAAU,oB,SAC/C,UAACC,EAAAA,EAASA,CAAAA,CAAC,UAAU,qD,KAEvB,WAAC,OAAI,UAAU,gD,UACb,UAACD,EAAAA,EAAIA,CAAAA,CAAC,KAAK,4BAA4B,UAAU,oB,SAC/C,UAAC,QAAK,UAAU,yB,SAAyB,O,KAE3C,UAACpC,EAAAA,CAAcA,CAAAA,CACb,UAAU,sEACV,QAAS,IAAMsH,OAAO,IAAI,CAAC,uCAAwC,U,SAEnE,UAAC,OAAI,UAAU,6B,SACb,UAAC,QAAK,UAAU,sB,SAAsB,kB,UAI5C,WAAC,OAAI,UAAU,4E,UACb,UAACkB,EAAsBA,CAAC,MAAM,YAAY,UAAW,EAAE,CAAE,IAAI,4C,GAC7D,UAACA,EAAsBA,CAAC,MAAM,UAAU,UAAWD,EAAkB,KAAK,S,GAC1E,UAACC,EAAsBA,CAAC,MAAM,YAAY,UAAW,EAAE,CAAE,KAAK,U,GAC9D,UAACA,EAAsBA,CAAC,MAAM,YAAY,UAAW,EAAE,CAAE,KAAK,W,GAC9D,UAACA,EAAsBA,CAAC,MAAM,UAAU,UAAW,EAAE,CAAE,KAAK,S,GAC5D,UAACA,EAAsBA,CAAC,MAAM,UAAU,UAAW,EAAE,CAAE,IAAI,kC,gGCmBnE,MA9D+B,CAAC,CAAEC,KAAAA,CAAI,CAAEC,SAAAA,EAAW,WAAW,CAAuB,IACnF,IAAMC,EAAYjI,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAwDkI,KAAAA,GACpEC,EAAenI,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAA8B,MA2CnD,MAzCAC,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,GAAI,CAACkI,EAAa,OAAO,CAAE,OAE3B,IAAMC,EAASC,EAAAA,MAAAA,CAAAA,MAAoB,CAACF,EAAa,OAAO,CAAE,CACxD,MAAOJ,EACPC,SAAAA,EACA,SAAU,GACV,QAAS,CAAE,QAAS,EAAM,EAC1B,qBAAsB,GACtB,YAAa,KACb,SAAU,GACV,WAAY,GACZ,QAAS,CAAE,IAAK,GAAI,OAAQ,EAAG,EAC/B,oBAAqB,OACrB,0BAA2B,GAC3B,YAAa,YACb,eAAgB,QAChB,YAAa,EACb,oBAAqB,GACrB,mBAAoB,GACpB,qBAAsB,GACtB,iBAAkB,OAClB,YAAa,GACb,QAAS,GACT,cAAe,QACf,wBAAyB,CACvB,QAAS,EACX,EACA,OAAQ,CACN,aAAc,GACd,2BAA4B,EAC9B,CACF,GAIA,OAFAC,EAAU,OAAO,CAAGG,EAEb,KACLA,EAAO,OAAO,EAChB,CACF,EAAG,CAACL,EAAMC,EAAS,EAGjB,WAAC,OAAI,UAAU,kE,UACb,UAAC,OACC,IAAKG,EACL,UAAU,0DACV,MAAO,CAAE,aAAc,KAAM,C,GAE/B,UAAC,UACC,UAAU,8GACV,QAAS,IAAMG,UAAU,SAAS,CAAC,SAAS,CAACP,G,SAE7C,UAACQ,EAAAA,CAASA,CAAAA,CAAC,KAAM,E,OAIzB,C,iICcA,MA3EsD,CAAC,CAAErD,MAAAA,CAAK,CAAEjD,SAAAA,CAAQ,CAAEuG,SAAAA,EAAW,EAAK,CAAE,IAC1F,GAAM,CAACC,EAASC,EAAW,CAAGzF,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACjC0F,EAAY3I,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAoC,EAAE,CAEvB,KAA7B2I,EAAU,OAAO,CAAC,MAAM,EAC1BA,CAAAA,EAAU,OAAO,CAAGnE,MAAM,GAAG,IAAI,CAAC,KAAI,EAGxC,IAAMoE,EAAe,CAACrI,EAAesI,KACnC,IAAMC,EAAW5D,EAAM,KAAK,CAAC,IACvB6D,EAAQF,EAAW,OAAO,CAAC,SAAU,IAAI,KAAK,CAAC,GACrDC,CAAAA,CAAQ,CAACvI,EAAM,CAAGwI,EAGlB9G,EADsB6G,EAAS,IAAI,CAAC,KAGhCC,GAASxI,EAAQ,GACnBoI,EAAU,OAAO,CAACpI,EAAQ,EAAE,EAAE,OAElC,EAEMyI,EAAgB,CAACzI,EAAe0I,KACtB,cAAVA,EAAE,GAAG,EAAoB1I,EAAQ,GAAK,CAAC2E,CAAK,CAAC3E,EAAM,EACrDoI,EAAU,OAAO,CAACpI,EAAQ,EAAE,EAAE,OAElC,EAEM2I,EAAc,AAACD,IACnBA,EAAE,cAAc,GAEhB,IAAME,EAASC,AADIH,EAAE,aAAa,CAAC,OAAO,CAAC,QACjB,OAAO,CAAC,SAAU,IAAI,KAAK,CAAC,EAAG,GACzD,GAAIE,EAAQ,CACVlH,EAASkH,EAAO,MAAM,CAAC,EAAG,KAE1B,IAAME,EAAYC,KAAK,GAAG,CAACH,EAAO,MAAM,CAAG,EAAG,EAC9CR,CAAAA,EAAU,OAAO,CAACU,EAAU,EAAE,OAChC,CACF,EAEA,MACE,UAAC,OACC,UAAU,mCACV,QAAS,IAAMX,EAAW,IAC1B,OAAQ,AAACO,IACFA,EAAE,aAAa,CAAC,QAAQ,CAACA,EAAE,aAAa,GAC3CP,EAAW,GAEf,E,SAEClE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAACI,EAAGrE,IACxB,UAAC,SAEC,IAAKgJ,AAAAA,GAAMZ,EAAU,OAAO,CAACpI,EAAM,CAAGgJ,EACtC,KAAK,OACL,UAAU,UACV,QAAQ,OACR,UAAW,EACX,MAAOrE,CAAK,CAAC3E,EAAM,EAAI,GACvB,SAAUiI,EACV,UAAU,uKAMV,SAAUS,AAAAA,GAAKL,EAAarI,EAAO0I,EAAE,MAAM,CAAC,KAAK,EACjD,UAAWA,AAAAA,GAAKD,EAAczI,EAAO0I,GACrC,QAASC,EACT,aAAa,K,EAjBR3I,G,EAsBf,E,eCoFA,MAnJO,SAAwB,CAAEiJ,UAAAA,CAAS,CAA2B,EACnE,GAAM,CAACC,EAAMC,EAAQ,CAAGzG,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAe,UACjC,CAAC0G,EAAWC,EAAa,CAAG3G,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAsB,CAAE,MAAO,EAAG,GAC9D,CAAC4G,EAAkBC,EAAoB,CAAG7G,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACnD,CAACzD,EAAYuK,EAAc,CAAG9G,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IAE7ChD,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR+J,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,kBACR,EAAG,EAAE,EAEL,IAMMC,EAAe,MAAOC,IAC1BA,EAAM,cAAc,GACpBF,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,gBACN,GAAM,CAAEG,MAAAA,CAAK,CAAE,CAAGR,EAElB,GAAI,CAACQ,EACH,OAAOC,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,2BAG3B,GAAI,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAYF,GACf,OAAOC,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,yBAG3B,GAAI,CACFL,EAAc,IACd,MAAMO,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAqBH,GAC3BC,EAAAA,CAAAA,CAAAA,OAAmB,CAAC,4CACpBV,EAAQ,SACV,CAAE,MAAOa,EAAK,CACZH,EAAAA,CAAAA,CAAAA,KAAiB,CAAEG,EAAc,OAAO,CAC1C,QAAU,CACRR,EAAc,GAChB,CACF,EAEMS,EAA2B,MAAON,IAEtC,GADAA,EAAM,cAAc,GAChB,CAACL,EACH,OAAOO,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,kCAG3B,GAAI,CACFL,EAAc,IACd,MAAMU,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAYd,EAAU,KAAK,CAAEE,GACnCG,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CAAE,MAAO,mBAAoB,OAAQ,CAAE,OAAQ,SAAU,CAAE,GACjEA,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CAAE,MAAO,0BAA2B,OAAQ,CAAE,MAAOL,EAAU,KAAK,AAAC,CAAE,GAC7ES,EAAAA,CAAAA,CAAAA,OAAmB,CAAC,2BACpBM,aAAa,OAAO,CAAC,aAAc,QACnClB,KACF,CAAE,MAAOe,EAAK,CACZH,EAAAA,CAAAA,CAAAA,KAAiB,CAAEG,EAAc,OAAO,EACxCP,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CAAE,MAAO,mBAAoB,OAAQ,CAAE,OAAQ,SAAU,OAASO,EAAc,OAAO,AAAC,CAAE,GAChGR,EAAc,GAChB,CACF,EAEMY,EAAmB,UACvB,GAAI,CACFZ,EAAc,IACd,MAAMO,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAqBX,EAAU,KAAK,EAC1CS,EAAAA,CAAAA,CAAAA,OAAmB,CAAC,8CACtB,CAAE,MAAOG,EAAK,CACZH,EAAAA,CAAAA,CAAAA,KAAiB,CAAEG,EAAc,OAAO,CAC1C,QAAU,CACRR,EAAc,GAChB,CACF,EAwEA,MAAON,AAAS,WAATA,EArEL,UAAC,OAAI,UAAU,4D,SACb,WAAC,OAAI,UAAU,gC,UACb,UAAC,MAAG,UAAU,0C,SAA0C,Y,GAGxD,UAAC,KAAE,UAAU,iC,SAAiC,wC,GAG9C,WAAC,QAAK,UAAU,YAAY,SAAUQ,E,UACpC,UAAC,O,SACC,UAACW,EAAAA,EAAKA,CAAAA,CACJ,KAAK,QACL,YAAY,aACZ,MAAOjB,EAAU,KAAK,CACtB,QAAQ,CA9ElBV,IAEAW,EAAarI,AAAAA,GAAS,EAAE,GAAGA,CAAI,CA4EO,MA5EI0H,EAAE,MAAM,CAAC,KAAK,AAAC,GAC3D,EA4EY,aAAa,O,KAGjB,UAAC4B,EAAAA,EAAaA,CAAAA,CACZ,KAAK,SACL,UAAU,qBACV,WAAYrL,E,SACb,U,WASP,UAAC,OAAI,UAAU,4D,SACb,WAAC,OAAI,UAAU,gC,UACb,UAAC,MAAG,UAAU,0C,SAA0C,kB,GAGxD,WAAC,KAAE,UAAU,iC,UAAiC,kCACb,UAAC,U,SAAQmK,EAAU,KAAK,A,GAAU,I,GAEnE,WAAC,QAAK,UAAU,YAAY,SAAUa,E,UACpC,UAAC,OAAI,UAAU,sB,SACb,UAACM,EAAiBA,CAChB,MAAOjB,EACP,SAAUC,EACV,SAAUtK,C,KAGd,UAACqL,EAAAA,EAAaA,CAAAA,CACZ,KAAK,SACL,UAAU,qBACV,WAAYrL,E,SACb,Q,MAIH,UAAC,OAAI,UAAU,mB,SACb,UAAC,UACC,KAAK,SACL,QAASmL,EACT,UAAU,oCACV,SAAUnL,E,SACX,a,SASX,C,+bC1HO,IAAMuL,EAAkD,CAAC,CAC9DtE,MAAAA,CAAK,CACLO,YAAAA,CAAW,CACXgE,kBAAAA,CAAiB,CACjBC,aAAAA,CAAY,CACZC,WAAAA,EAAa,EAAE,CACfC,WAAAA,EAAa,UAAU,CACxB,IACC,GAAM,CAAC3L,EAAYuK,EAAc,CAAG9G,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACvC,CAACmI,EAASC,EAAW,CAAGpI,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAkB,IAC1C,CAACqI,EAAgBC,EAAkB,CAAGtI,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAuBc,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CAAC,IACvF,CAACyH,EAAgBC,EAAkB,CAAGxI,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAuBc,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CAAC,IACvF,CAACnF,EAAQ8M,EAAU,CAAGzI,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAwB,MAC9C0I,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACb,CAAC/L,EAAUgM,EAAY,CAAG5I,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAoB,EAAE,EAChD,CAAC6I,EAAkBC,EAAoB,CAAG9I,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACzCjD,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAuB,MACvC,GAAM,CAAE,SAAUgM,CAAY,CAAE,MAAOC,CAAiB,CAAE,CAAGC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAkB,CAC7E,OAAQC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoBR,GAC5BT,WAAAA,EACAS,WAAAA,CACF,GAEMhN,EAAUyN,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAYVC,EAAarM,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAA8B,MAC3CsM,EAAatM,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAA8B,MAG3C,CAACuM,GAA0BC,GAA4B,CAAGvJ,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiB,WAE3EwJ,GAAgC,AAACC,IACrCF,GAA4BE,EAC9B,EAUMC,GAAiB,AAACC,IACtBvB,EAAWuB,EACb,EAEMC,GAAmB,KACvB1M,WAAW,KACJkM,EAAW,OAAO,EACvBA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,SAAU,MAAO,OAAQ,EACzE,EAAG,IACL,EAEMS,GAAe,KACnB3M,WAAW,KACJmM,EAAW,OAAO,EACvBA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,SAAU,MAAO,OAAQ,EACzE,EAAG,IACL,EAEMS,GAA2B,KAC/BnG,OAAO,IAAI,CAAC,uCAAwC,SACtD,EAGMoG,GAAoB,AAAClJ,IACzB,GAAInF,IAAYsO,EAAAA,EAAAA,CAAAA,sCAAkD,CAAE,CAClE,IAAK,IAAMC,KAAsBpJ,EAAQ,oBAAoB,EAAI,EAAE,CACjE,GACEoJ,AAAiC,MAAjCA,EAAmB,UAAU,EAC7BA,AAAiC,MAAjCA,EAAmB,UAAU,EAC7BA,EAAmB,UAAU,EAAE,SAAW,GAC1CA,EAAmB,UAAU,EAAE,SAAW,EAI1C,OAFA9C,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,6BAClBJ,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,mCACC,GAGX,MAAO,EACT,CAAO,GAAIrL,IAAYsO,EAAAA,EAAAA,CAAAA,cAA0B,CAC/C,MAAO,CAAC,CACNnJ,CAAAA,EAAQ,OAAO,EAAE,eAAiBA,EAAQ,QAAQ,EAAE,aAAa,eAAe,MAAK,CAG3F,EAEA7D,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR+J,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,yBACR,EAAG,EAAE,EACLmD,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAEA,GAAM,CAAE,UAAWC,EAAe,CAAE,WAAYC,EAAgB,CAAE,CAAGC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACnEC,EAAAA,EAAAA,CAAAA,WAAmB,EAGfC,GAAiB,CAAC1J,EAAuB4I,EAAQ,SAAS,GAE9D,CADA1C,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,wBACDgD,GAAkBlJ,IAMP,YAAZ4I,GAAyBhC,AAAuC,SAAvCA,aAAa,OAAO,CAAC,gBAChD0C,GAAgB,CACd,YACEC,IACF,CACF,GACO,KAXPrD,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,mCACNI,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,6BACX,IAcLqD,GAAe,MAAO3J,EAAuB4J,KACjDC,EAAAA,CAAAA,CAAAA,QAAc,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW,CAAEC,KAAAA,GAAM,KAAM,IAAK,IAC7ChC,EAAY,EAAE,EACd9B,EAAc,IAEdjG,EAAQ,OAAO,CAAE,WAAW,CAAGnF,EAC/BmF,EAAQ,QAAQ,CAAGgK,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAEnB,GAAI,CACF,IAAMC,EAAO,MAAMC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAmBlK,GACtC4H,EAAUqC,EAAK,MAAM,EACrB/D,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,0BACP,OAAQ,CACN,QAAS+D,EAAK,MAAM,CAAC,QAAQ,GAC7B,WAAYE,OAAOP,GAAa,GAClC,CACF,EACF,CAAE,MAAOnD,EAAK,CAGZ,GADAR,EAAc,IACV6C,AAFUrC,EAEJ,OAAO,CAAC,QAAQ,CAAC,wBAAyB,CAClDP,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,yBACNoD,GAAgB,CACd,YACEC,IACF,CACF,GACA,MACF,CACArD,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,8BACP,OAAQ,CACN,MAAO4C,AAdGrC,EAcG,OAAO,AACtB,CACF,GACA2D,QAAQ,KAAK,CAAC,wBAjBA3D,GAkBdH,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,wBACpB,CACF,EACMyD,GAAOM,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEPC,GAAwB,IAE1B,UAAC,OAAI,UAAU,mC,SACb,UAAC9O,EAAAA,CAAcA,CAAAA,CACb,UAAU,wDACV,QAASyN,G,SAET,WAAC,OAAI,UAAU,mC,UACb,UAAC,QAAK,UAAU,sB,SAAsB,uB,GACtC,UAACsB,EAAAA,EAAsBA,CAAAA,CAAAA,G,OAOjCpO,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,IAAMqO,EAAwB,AAACC,IAI7B,GAAIA,EAAK,KAAK,GAAKC,EAAAA,EAAAA,CAAAA,mBAA+B,CAAE,OACpD,GAAM,CAAE3O,SAAAA,CAAQ,CAAEkO,KAAAA,CAAI,CAAE,CAAGQ,EAAK,IAAI,CACpCZ,EAAAA,CAAAA,CAAAA,QAAc,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAW,CAAEC,KAAAA,GAAME,KAAAA,CAAK,IACvClC,EAAYhM,GACR4O,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwBX,EAAK,MAAM,KAClDhE,EAAc,IACdC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,0BACP,OAAQ,CACN,QAASiE,OAAOF,EAAK,OAAO,EAC5B,YAAaA,EAAK,MAAM,AAC1B,CACF,GAEJ,EAEA,OADA3N,EAAAA,EAAAA,CAAAA,EAAqB,CAACC,EAAAA,EAAAA,CAAAA,WAAqB,CAAEiO,GACtC,KACLlO,EAAAA,EAAAA,CAAAA,GAAsB,CAACC,EAAAA,EAAAA,CAAAA,WAAqB,CAAEiO,EAChD,CACF,EAAG,CAAC1P,EAAO,EAEX,IAAM+P,GAAWxC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoBR,GAAc,IAAMK,EAEzD,MACE,WAAC,O,UAEC,UAAC,OAAI,UAAU,qC,SACb,UAAC,OAAI,IAAK4C,EAAmB,UAAU,gC,KAEzC,WAAC,OAAI,UAAU,gF,UACb,UAACC,EAAAA,CAAcA,CAAAA,CAAAA,GACf,WAAC,OAAI,UAAU,sB,UACb,UAAC,OAAI,UAAU,iG,SACb,WAAC,OAAI,UAAU,kC,UACb,WAAC,KAAE,UAAU,iD,UACX,UAACC,EAAAA,EAAaA,CAAAA,CAAC,UAAU,S,GACzB,UAAC,QAAK,UAAU,oC,SAAoC,U,MAEtD,WAAC,MAAG,UAAU,8E,UAA8E,iBAE1F,UAAC,QAAK,UAAU,6E,SAA6E,U,GAEtF,iB,GAGT,UAAC,KAAE,UAAU,uC,SAAuC,4I,GAIpD,UAAC,KAAE,UAAU,4B,SAA6BC,AAtN5B,MACxB,OAAQpQ,GACN,KAAKsO,EAAAA,EAAAA,CAAAA,sCAAkD,CACrD,MAAO,iEACT,MAAKA,EAAAA,EAAAA,CAAAA,cAA0B,CAC7B,MAAO,+CACT,SACE,MAAO,iEACX,CACF,I,GA8MY,WAAC,OAAI,UAAU,Y,UACb,UAAC3N,EAAAA,CAAcA,CAAAA,CAAC,QAASuN,GAAkB,UAAU,Y,SAAY,a,GAGjE,UAACmC,EAAAA,CAAmBA,CAAAA,CAAC,QAASlC,GAAc,UAAU,Y,SAAY,wB,WAQxE,UAACmC,EAAAA,CAAkBA,CAAAA,CACjB,YAAatQ,EACb,yBAA0B4N,GAC1B,WAAYF,EACZ,8BAA+BI,GAC/B,eAAgBE,GAChB,iBApNsB,AAAC7I,IAC/ByH,EAAkBzH,EACpB,EAmNU,aAAc2J,GACd,aAAcX,GACd,WAAYtN,EACZ,QAAS4L,EACT,SAAUvL,EACV,eAAgB2N,GAChB,SAAUmB,GACV,QAASrD,EACT,kBAAmBW,EACnB,WAAYN,C,GAEbyC,KAGD,UAACc,EAAAA,CAAkBA,CAAAA,CACjB,YAAavQ,EACb,yBAA0B4N,GAC1B,8BAA+BE,GAC/B,eAAgBE,GAChB,iBApOsB,AAAC7I,IAC/B2H,EAAkB3H,EACpB,EAmOU,aAAc2J,GACd,iBAAkBZ,GAClB,WAAYrN,EACZ,QAAS4L,EACT,SAAUvL,EACV,WAAYyM,EACZ,eAAgBkB,GAChB,SAAUmB,GACV,QAASnD,EACT,kBAAmBS,EACnB,WAAYN,C,GAEbyC,KAED,UAAC,OAAI,UAAU,kE,SACb,UAACe,EAAAA,CAAgBA,CAAAA,CAAAA,E,GAEnB,UAAC,O,SACC,UAACC,EAAAA,CAAcA,CAAAA,CAAAA,E,SAIrB,UAACC,EAAAA,EAAWA,CAAAA,CACV,GAAI9B,EAAAA,EAAAA,CAAAA,iBAAyB,CAC7B,UAAW+B,EAAAA,EAAqBA,CAChC,UAAU,QACV,iBAAiB,U,GAEnB,UAACD,EAAAA,EAAWA,CAAAA,CACV,GAAI9B,EAAAA,EAAAA,CAAAA,WAAmB,CACvB,UAAWgC,EAAAA,CAAcA,CACzB,UAAU,QACV,iBAAiB,qB,GAEnB,UAACC,EAAAA,EAAOA,CAAAA,CAAAA,G,EAGd,E,sWClUA,IAAMC,EAAqB,CAAC,CAC1BlD,yBAAAA,CAAwB,CACxBF,WAAAA,CAAU,CACVI,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZX,aAAAA,CAAY,CACZtN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACR2N,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,GAAM,CAAC3H,EAAS2L,EAAW,CAAG1M,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAmB,CAAC2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,KAA4B,CAAC,EACzE,CAACtN,EAAmBuN,EAAqB,CAAG5M,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAChD2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,KAA4B,EAExB,CAACrN,EAAoBuN,EAAsB,CAAG7M,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAClD2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,MAA6B,EAEzB,CAACvN,EAAuB0N,EAAyB,CAAG9M,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EACxD2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,SAAgC,EAE5BI,EAAkBrE,IAAesE,EAAAA,CAAAA,CAAAA,kBAAkC,CAEzE,MACE,UAAC,OAAI,IAAK5D,EAAY,UAAU,4D,SAC9B,WAACnF,EAAAA,CAAIA,CAAAA,CAAC,UAAU,sCAAsC,OAAO,K,UAC3D,UAACgJ,EAAAA,CAAUA,CAAAA,CAAC,UAAU,+B,SACpB,WAAC,O,UACC,WAAC,KAAE,UAAU,4B,UAA4B,iBACxB,IACf,UAAC,QAAK,UAAU,6E,SAA6E,gB,GAEtF,a,GAGT,UAAC,KAAE,UAAU,4B,SAA4B,oC,QAG7C,UAACC,EAAAA,CAAQA,CAAAA,C,SACP,WAAC,OAAI,UAAU,sB,UACb,WAAC,OAAI,UAAU,6C,UACb,UAAC,QAAK,UAAU,mE,SAAmE,W,GAGnF,UAACrL,EAAAA,CAAWA,CAAAA,CACV,YAAY,oBACZ,UAAU,YACV,aAAcd,EACd,MAAO4L,EAAAA,CAAAA,CAAAA,GAAuB,CAAC5L,AAAAA,GAAY,EACzC,MAAOA,EAAQ,KAAK,CACpB,IAAKA,EAAQ,KAAK,AACpB,IACA,kBAAmBe,AAAAA,IACjB,GAAI,AAAwB,UAAxB,OAAOA,GAA6BA,AAAsB,IAAtBA,EAAa,IAAI,CACvD,OAEF,IAAMZ,EAAMY,EAAa,MAAM,GAAG,IAAI,GAAG,KAAK,CAC9C4K,EAAW,CAACxL,EAAI,EAChB,IAAMH,EAAU4L,EAAAA,CAAAA,CAAAA,IAAwB,CAAC5L,AAAAA,GAAWA,EAAQ,KAAK,GAAKG,GACtE0L,EAAqB7L,EAAQ,KAAK,EAClC8L,EAAsB9L,EAAQ,MAAM,EACpC+L,EAAyB/L,EAAQ,SAAS,CAC5C,C,MAGJ,UAAChC,EAAAA,CAA4BA,CAAAA,CAM3B,QAAS,GACT,QAAS,GACT,SAAU,AAAC+L,GAAqB2B,EAAiB3B,EAAK,OAAO,EAC7D,kBAAmBzL,EACnB,mBAAoBC,EACpB,sBAAuBF,EACvB,eAAe,YACf,YAAW,GACX,QAAS,IAAMsK,EAAe,IAC9B,aAAc,IAAMA,EAAe,IACnC,WAAY,E,EAdVsB,OAAO3L,GACP2L,OAAO1L,GACP0L,OAAO5L,IAeX,UAAC,OAAI,UAAU,kC,SACb,UAAC/C,EAAAA,CAAcA,CAAAA,CACb,GAAG,iBACH,KAAK,SACL,UAAU,gCACV,WAAYE,GAAc4L,EAC1B,QAAS,KACFoC,EAAe1J,EAAS,aAC7BmI,IACII,GAAY,SACdA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,UAAW,MAAO,OAAQ,GAC1EI,EAA8B,WAC9BgB,EAAa3J,EAAS,IACxB,E,SAEA,WAAC,OAAI,UAAU,sB,UACb,UAACsM,EAAAA,EAAmBA,CAAAA,CAAC,UAAU,S,GAAY,W,OAKjD,UAAC,OAAI,UAAU,mB,SACZ7D,AAA6B,YAA7BA,GACDZ,IAAesE,EAAAA,CAAAA,CAAAA,gBAAgC,CAC7C,UAACI,EAAAA,CAAuBA,CAAAA,CAAC,WAAY1E,EAAY,WAAYgD,C,GAC3D,I,GAEN,WAAC,O,UACEpC,AAA6B,YAA7BA,GACD/H,MAAM,OAAO,CAAC3E,IACdA,EAAS,MAAM,CACb,UAACyQ,EAAAA,CAAYA,CAAAA,CAAC,SAAUzQ,C,GACtB,KACH0M,AAA6B,YAA7BA,GAA0CyD,GACzC,UAAC1Q,EAAAA,CAAcA,CAAAA,CAAC,QAASwN,EAAc,UAAU,wB,SAAwB,wB,eAUzF,EAEMyD,EAAmB,CAAC,CACxBhE,yBAAAA,CAAwB,CACxBF,WAAAA,CAAU,CACVI,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZX,aAAAA,CAAY,CACZtN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACR2N,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,GAAM,CAAC6E,EAAYC,EAAc,CAAGxN,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAA6BiF,KAAAA,GAC3DwI,EAAmB,CACvB,0DACA,iEACA,sBACD,CACKC,EAAyBD,EAAiB,IAAI,CAAC,MAC/CV,EAAkBrE,IAAesE,EAAAA,CAAAA,CAAAA,kBAAkC,CACnEhM,EAAQyM,EAAiB,GAAG,CAACE,AAAAA,GAAa,EAC9C,MAAOA,EACP,MAAOA,CACT,IAmBA,MAjBA/M,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAS,UACP,IAAMC,EAAUC,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CACvC,QAAS,CAAE,cAAe4M,CAAuB,EACjD,SAAU,CACR,YAAa,CACX,SAAU,KACV,cAAeH,CACjB,CACF,EACA,gBAAiBK,EAAAA,EAAAA,CAAAA,WAA2B,CAAC,CAC3C,YAAa,MACb,aAAc,KAChB,EACF,GACAnB,EAAiB5L,EACnB,EAAG,CAACyI,EAA0BiE,EAAW,EAGvC,UAAC,OAAI,IAAKnE,EAAY,UAAU,4D,SAC9B,WAACnF,EAAAA,CAAIA,CAAAA,CAAC,UAAU,sCAAsC,OAAO,K,UAC3D,UAACgJ,EAAAA,CAAUA,CAAAA,CAAC,UAAU,+B,SACpB,WAAC,O,UACC,WAAC,KAAE,UAAU,4B,UAA4B,iBACxB,IACf,UAAC,QAAK,UAAU,6E,SAA6E,gB,GAEtF,a,GAGT,UAAC,KAAE,UAAU,4B,SAA4B,oC,QAG7C,UAACC,EAAAA,CAAQA,CAAAA,C,SACP,WAAC,OAAI,UAAU,sB,UACb,UAAC,OAAI,UAAU,6C,SACb,UAAC,QAAK,UAAU,mE,SAAmE,W,KAKrF,UAACW,EAAAA,EAAiBA,CAAAA,CAAC,WAAYL,EAAe,qBAAsB,E,GAEpE,UAACM,EAAAA,CAAiBA,CAAAA,CAChB,MAAO,aACP,YAAaJ,EACb,aAAcD,EACd,kBAAmB,KAAO,EAC1B,SAAU,GACV,SAAU,GACV,MAAOzM,EACP,cAAe,GACf,KAAK,I,GAGP,UAAC,OAAI,UAAU,kC,SACb,UAAC3E,EAAAA,CAAcA,CAAAA,CACb,GAAG,iBACH,KAAK,SACL,UAAU,gCACV,WAAYE,GAAc4L,EAC1B,QAAS,KACFoC,EAAe1J,EAAS,aAC7BmI,IACII,GAAY,SACdA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,UAAW,MAAO,OAAQ,GAC1EI,EAA8B,WAC9BgB,EAAa3J,EAAS,IACxB,E,SAEA,WAAC,OAAI,UAAU,sB,UACb,UAACsM,EAAAA,EAAmBA,CAAAA,CAAC,UAAU,S,GAAY,W,OAKjD,UAAC,OAAI,UAAU,mB,SACZ7D,AAA6B,YAA7BA,GACDZ,IAAesE,EAAAA,CAAAA,CAAAA,gBAAgC,CAC7C,UAACI,EAAAA,CAAuBA,CAAAA,CAAC,WAAY1E,EAAY,WAAYgD,C,GAC3D,I,GAEN,WAAC,O,UACEpC,AAA6B,YAA7BA,GACD/H,MAAM,OAAO,CAAC3E,IACdA,EAAS,MAAM,CACb,UAACyQ,EAAAA,CAAYA,CAAAA,CAAC,SAAUzQ,C,GACtB,KACH0M,AAA6B,YAA7BA,GAA0CyD,GACzC,UAAC1Q,EAAAA,CAAcA,CAAAA,CAAC,QAASwN,EAAc,UAAU,wB,SAAwB,wB,eAUzF,EAoEA,EAlE2B,CAAC,CAC1BkE,YAAAA,CAAW,CACXzE,yBAAAA,CAAwB,CACxBF,WAAAA,CAAU,CACVI,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZX,aAAAA,CAAY,CACZtN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACR2N,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,OAAQqF,GACN,KAAK/D,EAAAA,EAAAA,CAAAA,sCAAkD,CACrD,MACE,UAACwC,EAAAA,CACC,yBAA0BlD,EAC1B,WAAYF,EACZ,8BAA+BI,EAC/B,eAAgBE,EAChB,iBAAkB+C,EAClB,aAAcjC,EACd,aAAcX,EACd,WAAYtN,EACZ,QAAS4L,EACT,SAAUvL,EACV,eAAgB2N,EAChB,SAAUmB,EACV,QAAS7K,EACT,kBAAmBmI,EACnB,WAAYN,C,EAIlB,MAAKsB,EAAAA,EAAAA,CAAAA,cAA0B,CAC7B,MACE,UAACsD,EAAAA,CACC,yBAA0BhE,EAC1B,WAAYF,EACZ,8BAA+BI,EAC/B,eAAgBE,EAChB,iBAAkB+C,EAClB,aAAcjC,EACd,aAAcX,EACd,WAAYtN,EACZ,QAAS4L,EACT,SAAUvL,EACV,eAAgB2N,EAChB,SAAUmB,EACV,QAAS7K,EACT,kBAAmBmI,EACnB,WAAYN,C,EAIlB,SACE,OAAO,IACX,CACF,E,sWC1UA,IAAM8D,EAAqB,CAAC,CAC1BlD,yBAAAA,CAAwB,CACxBE,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZZ,iBAAAA,CAAgB,CAChBrN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACRyM,WAAAA,CAAU,CACVkB,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,GAAM,CAACsF,EAASC,EAAW,CAAGjO,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAmB,CAAC2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,KAA4B,CAAC,EACzE,CAACuB,EAAqBC,EAAuB,CAAGnO,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiB,IACjE,CAACoO,EAAsBC,EAAwB,CAAGrO,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiB,IACnE,CAACsO,EAAkBC,EAAoB,CAAGvO,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAC9C2M,EAAAA,CAAAA,CAAAA,IAAAA,CAAAA,SAAgC,EAiB5BI,EAAkBrE,IAAesE,EAAAA,CAAAA,CAAAA,kBAAkC,CAEzE,MACE,UAAC,OAAI,IAAK3D,EAAY,UAAU,6D,SAC9B,WAACpF,EAAAA,CAAIA,CAAAA,CAAC,UAAU,sCAAsC,OAAO,K,UAC3D,UAACgJ,EAAAA,CAAUA,CAAAA,CAAC,UAAU,+B,SACpB,WAAC,O,UACC,UAAC,KAAE,UAAU,4B,SAA4B,6B,GACzC,UAAC,KAAE,UAAU,uG,SAAuG,kC,GAGpH,WAAC,OAAI,UAAU,O,UACb,UAAC,K,SAAE,sC,GACH,UAAC,K,SAAE,uC,GACH,UAAC,K,SAAE,oB,WAIT,UAACC,EAAAA,CAAQA,CAAAA,C,SACP,WAAC,OAAI,UAAU,sB,UACb,UAACnO,EAAAA,CAA4BA,CAAAA,CAE3B,QAAS,GACT,QAAS,GACT,SAAU,AAAC+L,GAAqB2B,EAAiB3B,EAAK,OAAO,EAC7D,kBAAmBoD,EACnB,mBAAoBE,EACpB,sBAAuBE,EACvB,eAAe,YACf,yBArCqB,AAACrM,IAChCkM,EAAuBlM,EACzB,EAoCY,yBAlCqB,AAACA,IAChCoM,EAAwBpM,EAC1B,EAiCY,YAAW,GACX,QAAS,IAAMyH,EAAe,IAC9B,aAAc,IAAMA,EAAe,G,EAZ9B,qBAAuBsB,OAAOsD,IAerC,UAAC,OAAI,UAAU,kC,SACb,UAACjS,EAAAA,CAAcA,CAAAA,CACb,GAAG,iBACH,KAAK,SACL,UAAU,gCACV,WAAYE,GAAc4L,EAC1B,QAAS,KACFoC,EAAe1J,EAAS,aAC7BmI,IACIK,GAAY,SACdA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,UAAW,MAAO,OAAQ,GAC1EG,EAA8B,WAC9BgB,EAAa3J,GACf,E,SAEA,WAAC,OAAI,UAAU,sB,UACb,UAACsM,EAAAA,EAAmBA,CAAAA,CAAC,UAAU,S,GAAY,W,OAKjD,UAAC,OAAI,UAAU,mB,SACZ7D,AAA6B,YAA7BA,GACDZ,IAAesE,EAAAA,CAAAA,CAAAA,gBAAgC,CAC7C,UAACI,EAAAA,CAAuBA,CAAAA,CAAC,WAAY1E,EAAY,WAAYgD,C,GAC3D,I,GAELpC,AAA6B,YAA7BA,GACD/H,MAAM,OAAO,CAAC3E,IACdA,EAAS,MAAM,CACb,UAACyQ,EAAAA,CAAYA,CAAAA,CAAC,SAAUzQ,C,GACtB,KACH0M,AAA6B,YAA7BA,GAA0CyD,GACzC,UAAC1Q,EAAAA,CAAcA,CAAAA,CAAC,QAASuN,EAAkB,UAAU,wB,SAAwB,oB,YAS3F,EAEM0D,EAAmB,CAAC,CACxBhE,yBAAAA,CAAwB,CACxBE,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZZ,iBAAAA,CAAgB,CAChBrN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACRyM,WAAAA,CAAU,CACVkB,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,GAAM,CAAC6E,EAAYC,EAAc,CAAGxN,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAA6BiF,KAAAA,GAC3D,CAACnD,EAAc0M,EAAgB,CAAGxO,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAmB,EAAE,EAIvDyO,EAAYC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAqB,CAAE,cAAenB,GAAc,EAAG,GACnEoB,EAAoBC,CAAAA,CAAQrB,EAC5BsB,EAAsB,CAACF,GAAqBF,AAAc,OAAdA,EAC5CK,EAAYF,CAAAA,CAAQD,CAAAA,GAAqBF,AAAc,OAAdA,CAAiB,EAC1DM,EAAeN,GAAaA,EAAU,MAAM,CAAG,EAC/CO,EAA0BlN,EAAa,IAAI,CAAC,MAC5CmN,EAAsB,CAC1B,QAAS,CACP,KAAM,GACN,YAAa,0CACb,OAAQ,8BACR,aAAc,yCAChB,EACA,QAAS,wBACT,KAAM,2BACN,QAAS,gBACX,EAQMjO,EAASyN,AAAAA,CAAAA,GAAa,EAAC,EAAG,GAAG,CAACd,AAAAA,GAAa,EAC/C,MAAOA,EACP,MAAOA,CACT,IAEA/M,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAS,UACP,IAAMC,EAAUC,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CACvC,QAAS,CAAE,cAAekO,CAAgB,EAC1C,SAAU,CACR,YAAa,CACX,SAAU,KACV,cAAezB,CACjB,CACF,EACA,gBAAiBK,EAAAA,EAAAA,CAAAA,WAA2B,CAAC,CAC3C,YAAa,MACb,aAAc,KAChB,EACF,GACAnB,EAAiB5L,EACnB,EAAG,CAACyI,EAA0BiE,EAAYyB,EAAgB,EAC1D,IAAMjC,EAAkBrE,IAAesE,EAAAA,CAAAA,CAAAA,kBAAkC,CAEzE,MACE,UAAC,OAAI,IAAK3D,EAAY,UAAU,6D,SAC9B,WAACpF,EAAAA,CAAIA,CAAAA,CAAC,UAAU,sCAAsC,OAAO,K,UAC3D,UAACgJ,EAAAA,CAAUA,CAAAA,CAAC,UAAU,+B,SACpB,WAAC,O,UACC,UAAC,KAAE,UAAU,4B,SAA4B,8B,GACzC,UAAC,KAAE,UAAU,uG,SAAuG,kC,QAKxH,UAACC,EAAAA,CAAQA,CAAAA,C,SACP,WAAC,OAAI,UAAU,sB,UACb,UAACW,EAAAA,EAAiBA,CAAAA,CAAC,WAAYL,EAAe,qBAAsB,E,GAEpE,UAACM,EAAAA,CAAiBA,CAAAA,CAChB,MAAO,eACP,YA7CV,AAAIgB,EAAkBG,EAAoB,OAAO,CACxCJ,EAA4BI,EAAoB,OAAO,CAAC,MAAS,CACjEF,EAAqBE,EAAoB,IAAI,CAC/CA,EAAoB,OAAO,CA2CxB,aAAcnN,EACd,kBArEkB,AAACoN,IAC7BV,EAAgBU,EAClB,EAoEY,SAAUJ,EACV,MAAO9N,EACP,cAAe,GACf,KAAK,I,GAEP,UAAC,OAAI,UAAU,kC,SACb,UAAC3E,EAAAA,CAAcA,CAAAA,CACb,GAAG,iBACH,KAAK,SACL,UAAU,gCACV,WAAYE,GAAc4L,EAC1B,QAAS,KACFoC,EAAe1J,EAAS,aAC7BmI,IACIK,GAAY,SACdA,EAAW,OAAO,CAAC,cAAc,CAAC,CAAE,SAAU,UAAW,MAAO,OAAQ,GAC1EG,EAA8B,WAC9BgB,EAAa3J,GACf,E,SAEA,WAAC,OAAI,UAAU,sB,UACb,UAACsM,EAAAA,EAAmBA,CAAAA,CAAC,UAAU,S,GAAY,W,OAKjD,UAAC,OAAI,UAAU,mB,SACZ7D,AAA6B,YAA7BA,GACDZ,IAAesE,EAAAA,CAAAA,CAAAA,gBAAgC,CAC7C,UAACI,EAAAA,CAAuBA,CAAAA,CAAC,WAAY1E,EAAY,WAAYgD,C,GAC3D,I,GAELpC,AAA6B,YAA7BA,GACD/H,MAAM,OAAO,CAAC3E,IACdA,EAAS,MAAM,CACb,UAACyQ,EAAAA,CAAYA,CAAAA,CAAC,SAAUzQ,C,GACtB,KACH0M,AAA6B,YAA7BA,GAA0CyD,GACzC,UAAC1Q,EAAAA,CAAcA,CAAAA,CAAC,QAASuN,EAAkB,UAAU,wB,SAAwB,oB,YAS3F,EAkEA,EAhE2B,CAAC,CAC1BmE,YAAAA,CAAW,CACXzE,yBAAAA,CAAwB,CACxBE,8BAAAA,CAA6B,CAC7BE,eAAAA,CAAc,CACd+C,iBAAAA,CAAgB,CAChBjC,aAAAA,CAAY,CACZZ,iBAAAA,CAAgB,CAChBrN,WAAAA,CAAU,CACV4L,QAAAA,CAAO,CACPvL,SAAAA,CAAQ,CACRyM,WAAAA,CAAU,CACVkB,eAAAA,CAAc,CACdmB,SAAAA,CAAQ,CACR7K,QAAAA,CAAO,CACPmI,kBAAAA,CAAiB,CACjBN,WAAAA,CAAU,CACc,IACxB,OAAQqF,GACN,KAAK/D,EAAAA,EAAAA,CAAAA,sCAAkD,CACrD,MACE,UAACwC,EAAAA,CACC,yBAA0BlD,EAC1B,8BAA+BE,EAC/B,eAAgBE,EAChB,iBAAkB+C,EAClB,aAAcjC,EACd,iBAAkBZ,EAClB,WAAYrN,EACZ,QAAS4L,EACT,SAAUvL,EACV,WAAYyM,EACZ,eAAgBkB,EAChB,SAAUmB,EACV,QAAS7K,EACT,kBAAmBmI,EACnB,WAAYN,C,EAGlB,MAAKsB,EAAAA,EAAAA,CAAAA,cAA0B,CAC7B,MACE,UAACsD,EAAAA,CACC,yBAA0BhE,EAC1B,8BAA+BE,EAC/B,eAAgBE,EAChB,iBAAkB+C,EAClB,aAAcjC,EACd,iBAAkBZ,EAClB,WAAYrN,EACZ,QAAS4L,EACT,SAAUvL,EACV,WAAYyM,EACZ,eAAgBkB,EAChB,SAAUmB,EACV,QAAS7K,EACT,kBAAmBmI,EACnB,WAAYN,C,EAGlB,SACE,OAAO,IACX,CACF,E,4ECxVO,SAASqD,EAAoB,CAClCzP,SAAAA,CAAQ,CACRC,WAAAA,EAAa,EAAK,CAClBC,UAAAA,EAAY,EAAE,CACdC,KAAAA,EAAO,QAAQ,CACfC,QAAAA,CAAO,CACP,GAAGC,EACS,EACZ,MACE,UAAC,UACC,KAAMF,EACN,SAAUF,EACV,QAASG,EACT,UAAW;;QAET,EACEH,EACI,iDACA;QAEN,EAAEC;MACJ,CAAC,CACA,GAAGG,CAAK,CACT,MAAO,CACL,UAAWJ,EAAa,OAAS,sBACjC,WAAY,oDACd,E,SAEA,UAAC,OACC,UAAW;;QAEX,CAAC,C,SAED,UAAC,OACC,UAAW;;UAEX,CAAC,C,SAEAD,C,MAKX,C,+ZCzBO,eAAe6S,IAIpB,IAAMC,EAAW,MAAMC,MAAM,oCAAqC,CAChE,QAAS,CACP,eAAgB,mBAChB,mBAAoB,IACtB,CACF,GACA,GAAI,CAACD,EAAS,EAAE,CACd,MAAM,AAAIE,MAAM,mCAGlB,IAAMC,EAAO,MAAMH,EAAS,IAAI,GAC1BI,EAAY,IAAIC,WAAW,MAAMF,EAAK,WAAW,IAEnDG,EAAyBF,EACzBG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAMH,IACRE,CAAAA,EAAaE,EAAAA,EAAAA,CAAAA,IAAS,CAACJ,EAAS,EAGlC,IAAMK,EAAWhF,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACXiF,EAAOC,MAAQ,MAAM,CAAC,kBACtBC,EAAW,8BACXC,EAAc,CAAC,EAAEJ,EAAS,CAAC,EAAEC,EAAK,GAAG,EAAEE,EAAS,CAAC,CAEvD,MAAO,CACLA,SAAAA,EACA,KAAM,IAAIE,KAAK,CAACR,EAAW,CAAEO,EAAa,CAAE,KAAM,kBAAmB,EACvE,CACF,CAkBe,SAASpC,EAAkB,CACxCsC,WAAAA,EAAa,KAAO,CAAC,CACrBC,WAAAA,EAAa,KAAO,CAAC,CACrB5T,UAAAA,CAAS,CACT6T,qBAAAA,EAAuB,EAAK,CACL,EACvB,GAAM,CAACC,EAAUC,EAAY,CAAGvQ,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACnC,CAACwQ,EAAaC,EAAe,CAAGzQ,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAwB,MACxD,CAAC0Q,EAAYC,EAAc,CAAG3Q,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IACvC,CAAC4Q,EAAcC,EAAgB,CAAG7Q,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAwB,MAEhEhD,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACJqT,GACFS,GAEJ,EAAG,CAACT,EAAqB,EAEzB,IAAMS,EAAqB,UACzB,GAAI,CACFD,EAAgB,8BAChB,GAAM,CAAEb,SAAAA,CAAQ,CAAEe,KAAAA,CAAI,CAAE,CAAG,MAAM5B,IACjCsB,EAAeT,GACfgB,EAAgBD,EAClB,CAAE,MAAOpH,EAAO,CACdsB,QAAQ,KAAK,CAAC,iCAAkCtB,GAChDxC,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,kCAClB0J,EAAgB,KAClB,CACF,EAEMI,EAAcC,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,KAC1Bb,IACJI,EAAe,MACfI,EAAgB,MAChBT,EAAW,IACb,EAAG,CAACA,EAAYC,EAAqB,EAE/BW,EAAkBE,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EACtB,AAACC,IACKA,IACEd,EACFQ,EAAgB,8BAEhBA,EAAgB,8BAElBO,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAWD,EAAS,CAClB,WAAYzF,AAAAA,IACN2E,EACFQ,EAAgB,8BAEhBA,EAAgB,CAAC,uBAAuB,EAAEnF,EAAS,OAAO,CAAC,GAAG,EAAE,CAAC,EAEnEyE,EAAWzE,EACb,EACA,WAAY2F,AAAAA,IACVR,EAAgB,MAChBJ,EAAeU,EAAQ,IAAI,CAAC,OAAO,CAAC,UAAW,IAAI,KAAK,CAAC,OAAO,GAAG,IACnEf,EAAWiB,EACb,EACA,QAAS1H,AAAAA,IACPxC,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,CAAC,kBAAkB,EAAEwC,EAAM,CAAC,EAC9CsH,GACF,CACF,GAEJ,EACA,CAACb,EAAYD,EAAYc,EAAY,EAGjCK,EAA6BJ,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EACjC,MAAOK,EAAiBC,EAAqB,EAAK,IAChD,IAAInB,GAEJM,EAAc,IACd,GAAI,CACF,IAAMc,EAAY,IAAIC,EAAAA,EAASA,CACzBC,EAAYpQ,MAAM,IAAI,CAACgQ,GACvBK,EAAaD,CAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAE1DE,EAAKC,MAAS,GAAG,CAACC,EAAAA,CAASA,EAEjC,IAAK,IAAMhB,KAAQY,EAAW,CAC5B,IAAMK,EAAc,MAAMjB,EAAK,WAAW,GACpCkB,EAAWT,EACbT,EAAK,kBAAkB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,KACjDA,EAAK,kBAAkB,CAErBmB,EAAeD,EAAS,OAAO,CAAC,CAAC,EAAEL,EAAW,CAAC,CAAC,CAAE,IACnDC,EAAG,OAAO,CAACK,IACd,MAAMT,EAAU,OAAO,CAACQ,EAAU,IAAIxC,WAAWuC,GAErD,CAEA,IAAMG,EAAU,MAAMV,EAAU,KAAK,GAC/BW,EAAW,IAAI3C,WAAW,MAAM0C,EAAQ,WAAW,IACnDzC,EAAaE,EAAAA,EAAAA,CAAAA,IAAS,CAACwC,GAEvBC,EAAc,CAAC,EAAEV,CAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CACvE9B,EAAWhF,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACXiF,EAAOC,MAAQ,MAAM,CAAC,kBACtBuC,EAAiB,CAAC,EAAEzC,EAAS,CAAC,EAAEC,EAAK,GAAG,EAAEuC,EAAY,CAAC,CAEvDE,EAAa,IAAIrC,KAAK,CAACR,EAAW,CAAE4C,EAAgB,CACxD,KAAM,kBACR,GAEA7B,EAAe4B,GACfrB,EAAgBuB,EAClB,CAAE,MAAO5I,EAAO,CACdsB,QAAQ,KAAK,CAAC,yCAA0CtB,GACxDxC,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,yDACpB,QAAU,CACRwJ,EAAc,GAChB,EACF,EACA,CAACK,EAAiBX,EAAqB,EAGnCmC,EAAiBtB,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EACrB,AAAClL,IACCA,EAAE,cAAc,GACXqK,GACHE,EAAY,GAEhB,EACA,CAACF,EAAqB,EAGlBoC,EAAkBvB,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,KAClCX,EAAY,GACd,EAAG,EAAE,EAECmC,EAAaxB,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EACjB,AAAClL,IAEC,GADAA,EAAE,cAAc,GACZqK,EAAsB,OAE1BE,EAAY,IACZ,IAAMvP,EAAQgF,EAAE,YAAY,CAAC,KAAK,CAElC,GAAIhF,GAASA,EAAM,MAAM,CAAG,EAAG,CAC7B,IAAM2R,EAAQ3R,CAAK,CAAC,EAAE,CAAC,gBAAgB,GACvC,GAAI2R,GAASA,EAAM,WAAW,CAAE,CAC9B,IAAMC,EAAmB,EAAE,CACrBC,EAAiBF,EAAM,IAAI,CAE3BG,EAAmB,CAAC3O,EAAuB4O,KAC3C5O,EAAK,MAAM,CACXA,EAA6B,IAAI,CAAC,AAAC4M,IACnC,IAAMiC,EAAU,IAAI9C,KAAK,CAACa,EAAK,CAAEA,EAAK,IAAI,CAAE,CAAE,KAAMA,EAAK,IAAI,AAAC,GAC9D9P,OAAO,cAAc,CAAC+R,EAAS,qBAAsB,CACnD,SAAU,GACV,MAAO,CAAC,EAAEH,EAAe,CAAC,EAAEE,EAAK,EAAEhC,EAAK,IAAI,CAAC,CAAC,AAChD,GACA6B,EAAS,IAAI,CAACI,EAChB,GACS7O,EAAK,WAAW,EAEzB8O,AADmB9O,EAAkC,YAAY,GACvD,WAAW,CAAC+O,AAAAA,IACpB,IAAK,IAAItR,EAAI,EAAGA,EAAIsR,EAAQ,MAAM,CAAEtR,IAClCkR,EAAiBI,CAAO,CAACtR,EAAE,CAAEmR,EAAO5O,EAAK,IAAI,CAAG,IAEpD,EAEJ,EAEA2O,EAAiBH,EAAO,IAExBzV,WAAW,KACT,GAAI0V,EAAS,MAAM,CAAG,EAAG,CACvB,IAAMO,EAAe,IAAIC,aACzBR,EAAS,OAAO,CAAC7B,AAAAA,GAAQoC,EAAa,KAAK,CAAC,GAAG,CAACpC,IAChDO,EAA2B6B,EAAa,KAAK,CAAE,GACjD,CACF,EAAG,IACL,MACEhM,EAAAA,CAAAA,CAAAA,KAAiB,CAAC,oDAEtB,CACF,EACA,CAACmK,EAA4BjB,EAAqB,EAG9CgD,EAAqBnC,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EACzB,AAAClL,IACC,GAAIqK,EAAsB,OAE1B,IAAMkB,EAAQvL,EAAE,MAAM,CAAC,KAAK,CACxBuL,GAASA,EAAM,MAAM,CAAG,GAC1BD,EAA2BC,EAE/B,EACA,CAACD,EAA4BjB,EAAqB,SAGpD,AAAIO,GAAgBJ,EAEhB,WAAC,OAAI,UAAWrS,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gDAAiD3B,G,UAClE,WAAC,OACC,UAAW2B,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,6EACA,iC,UAGF,UAAC,OAAI,UAAU,yD,SACb,UAACmV,EAAAA,CAAQA,CAAAA,CAAC,KAAM,GAAI,MAAM,S,KAE5B,UAAC,OACC,UAAWnV,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,8DACA,iC,SAGDyS,GAAgBJ,C,MAGpB,CAACI,GACA,UAAC,OACC,UAAWzS,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,0CACA,uCACA,0DACA,8BACA,kDACAkS,EAAuB,gCAAkC,IAE3D,QAASY,E,SAET,UAACsC,EAAAA,CAAOA,CAAAA,CAAC,KAAM,GAAI,UAAU,mB,QAQrC,WAAC,OACC,UAAWpV,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,4EACAmS,EAAW,gCAAkC,mBAC7C,wCACAD,EAAuB,gCAAkC,IAE3D,WAAYmC,EACZ,YAAaC,EACb,OAAQC,E,UAER,UAAC,SACC,KAAK,OACL,GAAG,eACH,UAAU,SACV,SAAUW,EAEV,gBAAgB,OAChB,SAAQ,GACR,SAAUhD,C,GAGZ,WAAC,SACC,QAAQ,eACR,UAAWlS,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,iEACAkS,EAAuB,qBAAuB,kB,UAGhD,UAACmD,EAAAA,EAAcA,CAAAA,CAAAA,GACf,UAAC,OAAI,UAAU,4C,SACZ9C,EACC,uCAEA,WAAC,OAAI,UAAU,4C,UACb,UAAC,O,SACEL,EACC,6BAEA,uB,UAAE,oBACiB,UAAC,QAAK,UAAU,Y,SAAY,Q,GAAa,4B,KAKhE,UAAC,O,SAAI,yF,aAUnB,C,2KC9VA,IAAMoD,EAAe,CACnB,wBACA,sBACA,gBACA,uBACA,wBACA,qBACA,oBACD,CAEKC,EAAe,CACnB,2BACA,0BACA,wBACA,uBACA,mBACA,sBACA,sBACD,CAEKC,EAA0C,CAAC,CAAErX,SAAAA,CAAQ,CAAE,GAC3D,UAAC,UACC,UAAU,oI,SAEV,UAAC,QAAK,UAAU,6E,SACbA,C,KAKDsX,EAAoD,CAAC,CACzDtX,SAAAA,CAAQ,CACRuX,UAAAA,EAAY,QAAQ,CACpBrX,UAAAA,EAAY,EAAE,CACf,GAEG,WAAC,OAAI,UAAU,4C,UACb,WAAC,OACC,UAAW,CAAC,YAAY,EAAEA,EAAU,CAAC,CACrC,MAAO,CACL,WAAY,SACZ,UAAW,CAAC,2BAA2B,EAAEqX,EAAU,CAAC,AACtD,E,UAEA,UAAC,OAAI,UAAU,O,SACZvX,C,GAEH,UAAC,OAAI,UAAU,O,SACZA,C,GAEH,UAAC,OAAI,UAAU,O,SACZA,C,MAGL,UAAC,S,SAAO;;;;;;;;;MASR,CAAC,A,MAkDP,EA7CmC,IAE/B,WAAC,OAAI,UAAU,0D,UACb,UAAC,OAAI,UAAU,mB,SACb,UAAC,OACC,IAAKwX,EACL,UAAU,0DACV,IAAI,Y,KAIR,WAAC,OAAI,UAAU,sH,UACb,WAAC,MAAG,UAAU,2C,UAA2C,WAC/C,UAAC,QAAK,UAAU,yF,SAAyF,K,GAAU,SAAM,UAAC,SAAI,cAC3H,UAAC,QAAK,UAAU,yF,SAAyF,M,MAGtH,UAACzX,EAAAA,CAAcA,CAAAA,CACb,UAAU,mDACV,QAAS,IAAMsH,OAAO,IAAI,CAAC,uCAAwC,U,SAEnE,WAAC,OAAI,UAAU,mC,UACb,UAAC,QAAK,UAAU,sB,SAAsB,kB,GACtC,UAACyH,EAAAA,EAAsBA,CAAAA,CAAAA,G,KAI3B,WAAC,OAAI,UAAU,qB,UACb,UAACwI,EAAAA,C,SACEH,EAAa,GAAG,CAACM,AAAAA,GAChB,UAACJ,EAAAA,C,SAAyBI,C,EAARA,G,GAItB,UAACH,EAAAA,CAAiB,UAAU,U,SACzBF,EAAa,GAAG,CAACK,AAAAA,GAChB,UAACJ,EAAAA,C,SAAyBI,C,EAARA,G,gPCrGzB,SAAShW,EAAc,CAAED,MAAAA,CAAK,CAAEtB,UAAAA,CAAS,CAAEwX,kBAAAA,CAAiB,CAAE1W,MAAAA,CAAK,CAAE2W,WAAAA,CAAU,CAAsB,EAC1G,IAAMrJ,EAAOM,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACPgJ,EAAcpW,EAAM,QAAQ,EAAE,aA+DpC,AAAIA,AAAe,aAAfA,EAAM,IAAI,CAEV,UAACqW,EAAAA,CAAqBA,CAAAA,CAEpB,OAAQrW,EAAM,MAAM,CACpB,SAAUA,EAAM,QAAQ,CACxB,WAAYmW,GAAc,C,EAHrBnW,EAAM,EAAE,EASjB,WAAC,OAAI,UAAWtB,E,UACb4X,AA3EL,SAAqBtW,CAAY,EAC/B,OAAQA,EAAM,IAAI,EAChB,IAAK,QACH,MACE,UAACE,EAAAA,EAAaA,CAAAA,CAEZ,KAAM,CAAC,+BAA+B,EAAEF,EAAM,IAAI,EAAE,KAAK,CAAC,CAAC,A,EADtDA,EAAM,EAAE,CAInB,KAAK,KACH,MACE,UAACE,EAAAA,EAAaA,CAAAA,CAEZ,KAAM,CAAC,CAAC,EAAEF,EAAM,IAAI,EAAE,KAAK,EAAE,EAAEA,EAAM,IAAI,EAAE,KAAK,CAAC,CAAC,CAClD,UAAU,M,EAFLA,EAAM,EAAE,CAKnB,KAAK,OAEH,MAAOuW,AADYC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAe1J,GACd,KAClB,UAAC2J,EAAAA,EAAiBA,CAAAA,CAEhB,SAAUzW,EAAM,QAAQ,CACxB,OAAQA,EAAM,MAAM,A,EAFfA,EAAM,EAAE,CAMnB,KAAK,UACH,MACE,UAAC0W,EAAAA,CAAoBA,CAAAA,CAEnB,KAAM1W,EAAM,IAAI,CAChB,OAAQA,EAAM,MAAM,A,EAFfA,EAAM,EAAE,CAKnB,KAAK,UACH,MAAO,UAAC2W,EAAAA,CAAoBA,CAAAA,CAAgB,OAAQ3W,EAAM,MAAM,A,EAA9BA,EAAM,EAAE,CAC5C,KAAK,gBACH,MACE,UAAC4W,EAAAA,CAAeA,CAAAA,CAAgB,OAAQ5W,EAAM,MAAM,A,EAA9BA,EAAM,EAAE,CAElC,KAAK,QACH,MACE,UAAC6W,EAAAA,CAAkBA,CAAAA,CAEjB,KAAM7W,EAAM,IAAI,CAChB,OAAQA,EAAM,MAAM,A,EAFfA,EAAM,EAAE,CAKnB,KAAK,UACH,MAAO,UAAC8W,EAAAA,CAAoBA,CAAAA,CAAgB,MAAO9W,EAAM,KAAK,A,EAA5BA,EAAM,EAAE,CAC5C,SACE,MACE,UAACE,EAAAA,EAAaA,CAAAA,CAEZ,KAAMF,EAAM,IAAI,EAAE,MAAQ,GAC1B,UAAWK,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,YAAa6V,E,EAFtBlW,EAAM,EAAE,CAKrB,CACF,EAeiBA,GACb,UAAC,OAAI,UAAW,CAAC,MAAM,EAAEA,EAAM,EAAE,CAAC,SAAS,CAAC,C,SACzCyD,MAAM,OAAO,CAACzD,EAAM,QAAQ,EACzBA,EAAM,QAAQ,CAAC,GAAG,CAAC,CAACA,EAAOR,IAEvB,UAACS,EAAAA,CAEC,MAAOD,EACP,UAAWkW,EACX,MAAO1W,EACP,WAAY4W,C,EAJPpW,EAAM,EAAE,GAQnB,I,KAIZ,C,sHC1GO,SAAS0W,EAAqB,CAAE3W,KAAAA,CAAI,CAAEgX,OAAAA,CAAM,CAA6B,EAC9E,IAAM5S,EAAQpE,GAAM,MAAQ,GACtBiX,EAAQD,GAAQ,OAAS,OAC/B,MAAO,UAAC,OAAI,UAAW1W,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,iBAAkB,CAAC,KAAK,EAAE2W,EAAM,CAAC,E,SAAI7S,C,EACjE,C,uFCJO,SAASwS,EAAqB,CAAEI,OAAAA,CAAM,CAA6B,MACpD/E,EAMpB,MACE,WAAC,OAAI,UAAW3R,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,oC,UACjB,UAAC,OAAI,UAAU,4C,GACf,UAAC,OAAI,UAAU,sE,SARjB,AAAI,AAAgB,UAAhB,OADc2R,EAUF+E,EAAO,IAAI,EATU/E,EACjC,AAAgB,UAAhB,OAAOA,EACFC,IAAMD,GAAM,MAAM,CAAC,8B,GAS1B,UAAC,OAAI,UAAU,4C,KAGrB,C,mEChBO,SAAS6E,EAAmB,CAAE9W,KAAAA,CAAI,CAAEgX,OAAAA,CAAM,CAA2B,EAC1E,IAAM5S,EAAQpE,GAAM,MAAQ,GACtBiX,EAAQD,GAAQ,OAAS,OAC/B,MACE,UAAC,OAAI,UAAW1W,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,0BAA2B,CAAC,KAAK,EAAE2W,EAAM,CAAC,E,SAC3D,UAAC,OAAI,UAAU,uF,SACZ7S,C,IAIT,C,qHCiBO,SAAS8S,EAAmBpY,CAAoB,EACrD,GAAM,CACJqY,UAAAA,CAAS,CACT1Y,SAAAA,CAAQ,CACR2Y,WAAAA,CAAU,CACVlR,YAAAA,CAAW,CACXmR,aAAAA,CAAY,CACZC,gBAAAA,CAAe,CACfC,cAAAA,CAAa,CACbC,cAAAA,CAAa,CACbC,qBAAAA,CAAoB,CACpBC,gBAAAA,CAAe,CAChB,CAAGC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAS7Y,GAEb,MACE,WAACqY,EAAAA,CACE,GAAGE,GAAc,CAClB,UAAWO,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,+HACA,4EACA,uC,UAGF,UAACC,EAAAA,CAAcA,CAAAA,C,SACb,UAAC,SAAO,GAAGN,GAAe,A,KAE5B,UAAC,QAAM,GAAGD,GAAiB,C,SACzB,UAAC,QAAM,GAAGI,GAAiB,A,KAE7B,WAAC,OAAK,GAAGD,GAAsB,C,UAC5BhZ,GAAY,UAAC,QAAM,GAAG+Y,GAAe,C,SAAG/Y,C,GACxCyH,GACC,UAAC,QAAK,UAAU,wC,SAAyCA,C,QAKnE,CAEO,SAAS2Q,EAAgB,CAAEG,OAAAA,CAAM,CAAwB,EAC9D,GAAM,CAAEc,QAAAA,CAAO,CAAEC,SAAAA,CAAQ,CAAE,CAAGf,EAC9B,MACE,UAACgB,EAAAA,CAAUA,CAAAA,CAAC,aAAcD,EAAU,UAAU,iBAAiB,YAAY,a,SACxED,EAAQ,GAAG,CAACG,AAAAA,GAET,UAACf,EAAAA,CAEC,YAAae,EAAO,WAAW,CAC/B,MAAOA,EAAO,KAAK,CACnB,KAAK,K,SAEJA,EAAO,KAAK,A,EALRA,EAAO,KAAK,E,EAW7B,C,wDCzFO,SAASlB,EAAqB,CAAE3S,MAAAA,CAAK,CAAwB,EAClE,MACE,UAAC,OAAI,UAAU,Y,SACb,UAAC,OAAI,UAAU,kB,SAAmBA,C,IAGxC,C,+RCGA8N,IAAAA,MAAY,CAACgG,KAYN,IAAMC,EAAgB,AAACC,GAC5B,AAAIA,IAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAsBlJ,EAAAA,CAAAA,CAAAA,qBAAqC,EACjE,cAEF5L,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY6U,GAgBd,SAAS1B,EAAkB,CAAEM,OAAAA,CAAM,CAA0B,EAClE,IAAMnJ,EAAWyK,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACX,CAAEza,QAAAA,CAAO,CAAEE,OAAAA,CAAM,CAAE,CAAG8B,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACtB/B,EAASya,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAEf,MACE,WAAC,OAAI,UAAU,4D,UACb,WAAC,OAAI,UAAU,2C,UACb,UAAC3a,EAAAA,CAAeA,CAAAA,CACd,QAASC,EACT,OAAQC,EACR,OAAQC,C,GAEV,UAAC,OAAI,UAAU,Y,SACb,UAACwR,EAAAA,CAAuBA,CAAAA,CACtB,WAAY1B,GAAY,EACxB,WAAYD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwBoJ,EAAO,MAAM,C,KAGrD,WAAC,OAAI,UAAU,oE,UACb,UAAC,OAAI,UAAU,e,SACZ9E,IAAM8E,EAAO,YAAY,EAAE,MAAM,CAAC,mB,GAErC,UAACwB,EAAAA,CAAoBA,CAAAA,CAAC,YAAaxB,EAAO,YAAY,A,SAG1D,UAAC,MAAG,UAAU,W,KAGpB,C,8LC/DO,SAASwB,EAAqB,CAAEC,YAAAA,CAAW,CAA6B,EAC7E,IAAM5N,EAAa6N,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACbC,EAAoBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACpB,CAACC,EAAYC,EAAc,CAAG3W,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiBsW,GAC/CM,EAAW9a,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAEjBkB,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,IAAM6Z,EAAQC,YAAY,KACxBH,EAAcI,KAAK,GAAG,GACxB,EAAG,KACH,MAAO,KACLC,cAAcH,EAChB,CACF,EAAG,EAAE,EAEL,IAAMI,EAAczL,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAa9C,EAAYkO,GAAYJ,EAAoBE,EACvEX,EAAWhG,IAAAA,QAAc,CAACA,IAAMkH,GAAa,IAAI,CAAClH,IAAMuG,KAExDY,EAAQnB,EAAS,KAAK,GACtBoB,EAAUpB,EAAS,OAAO,GAC1BqB,EAAU/Q,KAAK,GAAG,CAAC0P,EAAS,OAAO,GAAI,GACvCsB,EACHH,AAAAA,CAAAA,EAAQ,EAAI,CAAC,EAAEA,EAAM,EAAE,CAAC,CAAG,EAAC,EAAMC,CAAAA,EAAU,EAAI,CAAC,EAAEA,EAAQ,IAAI,CAAC,CAAG,EAAC,EAAK,CAAC,EAAEC,EAAQ,CAAC,CAAC,CAEzF,MACE,WAAC,OAAI,UAAU,6B,UACb,UAACE,EAAAA,CAAYA,CAAAA,CAAC,UAAU,OAAO,KAAM,E,GACpCD,E,EAGP,C,yLC9BO,SAASjK,EAAwB,CACtCmK,WAAAA,CAAU,CACV7O,WAAAA,CAAU,CACV8O,WAAAA,EAAa,EAAK,CACW,EAC7B,MACE,WAAC,OAAI,UAAU,gD,UACb,UAAC,OACC,UAAWrZ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,+BACA,+BACAiE,EAAAA,CAAAA,CAAAA,QAAe,EAEjB,MACE,CACE,aAAc,UACd,eAAgB,CAAC,EAAEmV,EAAW,CAAC,CAAC,AAClC,C,GAGJ,WAAC,OAAI,UAAU,8D,UACZA,EAAW,OAAO,CAAC,GAAG,IAAE,IACxBC,EAAaxB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAcE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAsBxN,IAAe,G,KAIzE,C,wSCXO,SAASyL,EAAsB,CAAEF,WAAAA,CAAU,CAAEY,OAAAA,CAAM,CAAEvY,SAAAA,CAAQ,CAA8B,MA0C5Emb,EAzCpB,GAAM,CAAEC,GAAAA,CAAE,CAAED,KAAAA,CAAI,CAAExB,OAAAA,CAAM,CAAE3Y,MAAAA,CAAK,CAAEqa,QAAAA,CAAO,CAAEC,UAAAA,CAAS,CAAE,CAAG/C,EAClDnM,EAAa+C,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwBwK,EACrB4B,CAAAA,EAAAA,EAAY,CAACnP,EAAW,CAAC,UAAU,CAAKoP,EAAAA,EAAAA,CAAAA,IAAyB,CACvF,IAAMC,EAAUrP,GAAcsE,EAAAA,CAAAA,CAAAA,kBAAkC,CAC1DgL,EAAoBtP,GAAcsE,EAAAA,CAAAA,CAAAA,kBAAkC,CACpE,CAAEiL,UAAAA,CAAS,CAAE,CAAG5N,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA+CC,EAAAA,EAAAA,CAAAA,iBAAyB,EACxFM,EAAOM,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACPmJ,EAAaC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAe1J,GAC5BsN,EAAcC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACdzc,EAAUyN,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAMViP,EAAa,CAACT,EAAiBC,IACnC,AAAID,GAAWC,GAAaA,AAAc,aAAdA,EAExB,uB,UACE,UAAC,QAAK,UAAU,gB,SAAgB,I,GAChC,UAACS,EAAAA,CAAWA,CAAAA,CAAC,SAAUT,EAAW,OAAQD,C,MAIzC,KAcHW,EACJjE,GACAnL,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoBR,GAyCtB,MACE,WAAC,OAAI,UAAWvK,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,gBAAiBiE,EAAAA,CAAAA,CAAAA,QAAe,E,UACjD,UAAC,OACC,UAAWjE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,gBACA,mFACA,mFACAiE,EAAAA,CAAAA,CAAAA,IAAW,C,GAGdkW,EACC,UAACC,EAAAA,EAA4BA,CAAAA,CAAC,UAAU,gB,GAExC,sB,SACIL,AAAgB,KAAhBA,GAAsBT,EAAK,QAAQ,CAAC,oBACpC,UAACe,EAAAA,EAA8BA,CAAAA,CAAC,UAAU,4B,GAE1C,UAACD,EAAAA,EAA4BA,CAAAA,CAAC,UAAU,gB,KAI9C,WAAC,OAAI,UAAU,wC,UACb,UAAC,OAAI,UAAU,qD,SACb,UAAC,OAAI,UAAWE,AA/Cfnb,GAAS2W,EAAa,EA+CS,iBAAmB,a,UA/DvCwD,EA+DiEA,EA9DnF,AAAIa,EACK,iBACEb,EAAK,QAAQ,CAAC,kBAChB,iBACEA,EAAK,QAAQ,CAAC,oBAChB,mBAGP,uB,UACGA,EAAK,IAAEW,EAAWT,EAASC,G,QAuD3BU,GACC,UAAC,OAAI,UAAU,O,SACZI,AAhDmB,MAC5B,OAAQhd,GACN,KAAKsO,EAAAA,EAAAA,CAAAA,sCAAkD,CACrD,MACE,uB,UACE,UAAC,KAAE,UAAU,qB,SAAqB,sD,GAClC,UAAC,KAAE,UAAU,qB,SAAqB,yC,KAGxC,MAAKA,EAAAA,EAAAA,CAAAA,cAA0B,CAC7B,MACE,uB,UACE,UAAC,KAAE,UAAU,qB,SAAqB,oD,GAClC,UAAC,KAAE,UAAU,qB,SAAqB,8B,KAGxC,SACE,OAAO,IACX,CACF,I,GAgCO+N,EAAU,UAACY,EAAAA,CAAOA,CAAAA,CAAC,QAAQ,CAtDzBrb,GAAS2W,EAAa,C,GAsD0B,KAClD+D,EACC,UAACY,EAAAA,CAAsBA,CAAAA,CACrB,KAAMC,AAvFM,CAACC,IAErB,IAAMC,EAAU,IAAID,EAAM,QAAQ,CADX,0BAC4B,QAEnD,AAAIC,EAAQ,MAAM,CAAG,EACZA,CAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAGpBD,CACT,GA8E8BZ,E,GAGtB,KAEF,UAAC,OAAI,UAAU,qB,SACZ5b,EAAS,GAAG,CAAC,CAACwB,EAAOR,IACpB,UAACS,EAAAA,CAAaA,CAAAA,CAEZ,MAAOD,EACP,MAAOR,EACP,UAAWa,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CAAC,MAAM,EAAEL,EAAM,EAAE,CAAC,CAAC,CAAE,QACnC,kBAAkB,M,EAJbA,EAAM,EAAE,E,QAW3B,C,oLC1JO,IAAMY,EAAuB,CAAC,CAAElC,UAAAA,CAAS,CAAE,GAE9C,WAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,UAEN,UAAC,QACC,EAAE,w5CACF,KAAK,c,GAEP,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,0/FACF,KAAK,c,GAEP,UAAC,QACC,EAAE,6fACF,KAAK,c,GAEP,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,4gCACF,KAAK,c,GAEP,UAAC,QACC,EAAE,wUACF,KAAK,c,GAEP,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,krBACF,KAAK,c,GAEP,UAAC,QACC,EAAE,spBACF,KAAK,c,GAEP,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,42CACF,KAAK,c,GAEP,UAAC,QACC,EAAE,orCACF,KAAK,c,GAEP,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,2qFACF,KAAK,c,MAMAwc,EAAU,IAEnB,WAAC,OAAI,QAAQ,YAAY,OAAO,KAAK,MAAM,KAAK,MAAM,6B,UACpD,WAAC,Q,UACC,WAAC,kBAAe,GAAG,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,I,UACvD,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,W,GAC7B,UAAC,QAAK,OAAO,MAAM,UAAU,W,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,W,MAEhC,UAAC,S,SACE;;;SAGF,CAAC,A,MAGJ,UAAC,QACC,UAAU,gBACV,EAAE,6TACF,KAAK,mB,MAMAnN,EAA2B,CAAC,CAAErP,UAAAA,CAAS,CAAE,GAElD,UAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,SAEN,UAAC,QACC,EAAE,q4CACF,KAAK,S,KAMA2Q,EAAiC,CAAC,CAAE3Q,UAAAA,CAAS,CAAE,GAExD,WAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,UAEN,UAAC,QACC,EAAE,s5CACF,KAAK,+B,GAEP,UAAC,Q,SACC,WAAC,kBACC,GAAG,0BACH,GAAG,YACH,GAAG,UACH,GAAG,UACH,GAAG,WACH,cAAc,iB,UAEd,UAAC,QAAK,UAAU,S,GAChB,UAAC,QAAK,OAAO,IAAI,UAAU,S,WAOxB4O,EAAoC,CAAC,CAAE5O,UAAAA,CAAS,CAAE,GAE3D,WAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,UAEN,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,O,GAC1C,UAAC,QACC,EAAE,4JACF,KAAK,O,MAMA+b,EAA0C,CAAC,CAAE/b,UAAAA,CAAS,CAAE,GAEjE,WAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,UAEN,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,S,GAC1C,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,4WACF,KAAK,O,MA+BAgc,EAA4C,CAAC,CAAEhc,UAAAA,CAAS,CAAE,GAEnE,WAAC,OACC,UAAWA,EACX,MAAM,6BACN,MAAM,KACN,OAAO,KACP,QAAQ,cACR,KAAK,O,UAEL,UAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,OAAO,UAAU,YAAY,MAAM,KAAK,O,GACvE,UAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,KAAK,S,GACnC,UAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,O,MAK9Byc,EAAgC,CAAC,CAAEzc,UAAAA,CAAS,CAAE,GAEvD,UAAC,OACC,UAAWA,EACX,MAAM,KACN,OAAO,IACP,QAAQ,WACR,KAAK,OACL,MAAM,6B,SAEN,UAAC,QACC,GAAG,SACH,EAAE,uHACF,KAAK,S,KAMA0c,EAA6B,CAAC,CAAE1c,UAAAA,CAAS,CAAE,GAEpD,WAAC,OACC,UAAWA,EACX,OAAO,KACP,MAAM,KACN,oBAAoB,WACpB,QAAQ,cACR,MAAM,6B,UAEN,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,QAAK,GAAG,IAAI,KAAK,O,SAChB,UAAC,UAAO,GAAG,MAAM,GAAG,YAAY,KAAK,OAAO,EAAE,K,KAEhD,UAAC,UAAO,GAAG,YAAY,GAAG,aAAa,KAAK,cAAc,KAAK,UAAU,EAAE,Y,GAC3E,UAAC,QACC,EAAE,0WACF,KAAK,uBACL,KAAK,S,GAEP,UAAC,QACC,EAAE,iXACF,KAAK,cACL,KAAK,UACL,QAAQ,K,GAEV,UAAC,QACC,EAAE,iOACF,KAAK,cACL,KAAK,UACL,QAAQ,K,GAEV,UAAC,QACC,EAAE,4sBACF,KAAK,uBACL,KAAK,S,mkBC/RN,SAAS2c,EAAS,CAAE3c,UAAAA,CAAS,CAA0B,EAC5D,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,eACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,YAAY,KAAK,uB,SACrB,UAAC,QACC,GAAG,SACH,EAAE,ovE,OAKZ,CAEO,SAAS4c,IACd,MACE,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,WAAW,KAAK,uB,SACpB,UAAC,QACC,GAAG,SACH,EAAE,+tC,OAKZ,CAmBO,SAASC,IACd,MACE,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,cAAc,KAAK,uB,SACvB,UAAC,QACC,GAAG,SACH,EAAE,66C,OAKZ,CAEO,SAASC,EAAU,CAAE9c,UAAAA,CAAS,CAA0B,EAC7D,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,YAAY,KAAK,uB,SACrB,UAAC,QACC,GAAG,SACH,EAAE,ke,OAKZ,CAEO,SAAS+c,EAAa,CAAE/c,UAAAA,CAAS,CAA0B,EAChE,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,WAAW,KAAK,uB,SACpB,UAAC,QAAK,EAAE,u0C,OAIhB,CAEO,SAASgd,IACd,MACE,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,gBAAgB,KAAK,uB,SACzB,UAAC,QACC,GAAG,SACH,EAAE,yuC,OAKZ,CAEO,SAASC,IACd,MACE,WAAC,OACC,OAAO,eACP,KAAK,eACL,YAAY,IACZ,QAAQ,YACR,OAAO,KACP,MAAM,KACN,MAAM,6B,UAEN,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,gBAAgB,KAAK,uB,SACzB,UAAC,QAAK,EAAE,yJ,OAIhB,CAEO,SAASC,IACd,MACE,WAAC,OACC,OAAO,eACP,KAAK,eACL,YAAY,IACZ,QAAQ,YACR,OAAO,KACP,MAAM,KACN,MAAM,6B,UAEN,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,UAAC,KAAE,GAAG,cAAc,KAAK,uB,SACvB,UAAC,QAAK,EAAE,2/D,OAIhB,CAEO,SAASC,IACd,MACE,WAAC,OACC,OAAO,eACP,KAAK,eACL,YAAY,IACZ,QAAQ,YACR,OAAO,KACP,MAAM,KACN,MAAM,6B,UAEN,UAAC,Q,SACC,WAAC,kBAAe,GAAG,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,K,UAC/D,UAAC,QAAK,OAAO,KAAK,UAAU,S,GAC5B,UAAC,QAAK,OAAO,MAAM,UAAU,S,GAC7B,UAAC,QAAK,OAAO,OAAO,UAAU,S,QAGlC,WAAC,KAAE,GAAG,iBAAiB,KAAK,uB,UAC1B,UAAC,QAAK,KAAK,OAAO,EAAE,e,GACpB,UAAC,QAAK,EAAE,sM,QAIhB,CA8FO,SAASC,EAAU,CAAEpd,UAAAA,CAAS,CAAS,EAC5C,MACE,UAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,SAEX,UAAC,KAAE,GAAG,Q,SACJ,UAAC,QACC,GAAG,OACH,EAAE,gHACF,KAAK,S,MAKf,CA6NO,SAASgX,EAAe,CAAEhX,UAAAA,CAAS,CAAS,EACjD,MACE,WAAC,OACC,MAAM,MACN,OAAO,KACP,QAAQ,aACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,KAAE,SAAS,uB,SACV,UAAC,QACC,EAAE,0gEACF,KAAK,8B,KAGT,WAAC,Q,UACC,WAAC,kBACC,GAAG,yBACH,GAAG,MACH,GAAG,UACH,GAAG,MACH,GAAG,UACH,cAAc,iB,UAEd,UAAC,QAAK,UAAU,S,GAChB,UAAC,QAAK,OAAO,OAAO,UAAU,S,GAC9B,UAAC,QAAK,OAAO,SAAS,UAAU,S,MAElC,UAAC,YAAS,GAAG,iB,SACX,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,QAAQ,UAAU,gB,UAK9D,CAEO,SAASqd,EAAS,CAAErd,UAAAA,CAAS,CAAS,EAC3C,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,KAAE,GAAG,UAAU,SAAS,uB,SACvB,UAAC,QACC,GAAG,OACH,EAAE,kkCACF,OAAO,QACP,YAAY,UACZ,cAAc,QACd,eAAe,O,KAGnB,UAAC,Q,SACC,UAAC,YAAS,GAAG,iB,SACX,UAAC,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,O,SAK5C,CAkXO,SAASsd,EAAiB,CAAEtd,UAAAA,CAAS,CAAS,EACnD,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,WAAC,KAAE,GAAG,4B,UACJ,UAAC,QACC,GAAG,SACH,EAAE,2RACF,KAAK,S,GAEP,WAAC,KAAE,GAAG,WAAW,QAAQ,M,UACvB,UAAC,QACC,EAAE,+oBACF,KAAK,6B,GAEP,UAAC,QACC,EAAE,+oBACF,KAAK,QACL,YAAY,K,MAGhB,UAAC,QACC,GAAG,WACH,EAAE,ieACF,KAAK,S,MAGT,UAAC,Q,SACC,WAAC,kBACC,GAAG,wBACH,GAAG,SACH,GAAG,IACH,GAAG,UACH,GAAG,IACH,cAAc,iB,UAEd,UAAC,QAAK,UAAU,S,GAChB,UAAC,QAAK,OAAO,IAAI,UAAU,S,UAKrC,CAoBO,SAASud,EAAmB,CAAEvd,UAAAA,CAAS,CAAS,EACrD,MACE,UAAC,OACC,OAAO,eACP,KAAK,OACL,YAAY,IACZ,QAAQ,YACR,OAAO,KACP,MAAM,KACN,MAAM,6BACN,UAAWA,E,SAEX,UAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,w7BACF,KAAK,S,IAIb,CAEO,SAASwd,EAAmB,CAAExd,UAAAA,CAAS,CAAS,EACrD,MACE,UAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,SAEX,WAAC,KAAE,GAAG,kB,UACJ,UAAC,UACC,GAAG,YACH,GAAG,IACH,GAAG,IACH,EAAE,IACF,OAAO,QACP,cAAc,OACd,YAAY,G,GAEd,UAAC,QACC,GAAG,YACH,EAAE,+XACF,OAAO,UACP,cAAc,OACd,YAAY,G,OAKtB,CA0FO,SAASyd,EAAY,CAAEzd,UAAAA,CAAS,CAAS,EAC9C,MACE,WAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,UAAWA,E,UAEX,UAAC,QACC,EAAE,mVACF,KAAK,QACL,eAAa,M,GAEf,UAAC,QACC,EAAE,olBACF,KAAK,QACL,eAAa,M,KAIrB,C,0CCjsCO,IAAK0d,EAAAA,G,CAAAA,E,2CAAAA,E,uICIApC,E,8GAAAA,G,CAAAA,E,wEAAAA,GA0BZ,IAAMqC,EAAc,CAClB,WAAYC,iBAAiBC,SAAS,eAAe,EAClD,gBAAgB,CAAC,uBACjB,IAAI,GACP,QAASD,iBAAiBC,SAAS,eAAe,EAAE,gBAAgB,CAAC,mBAAmB,IAAI,GAC5F,UAAWD,iBAAiBC,SAAS,eAAe,EACjD,gBAAgB,CAAC,qBACjB,IAAI,GACP,WAAYD,iBAAiBC,SAAS,eAAe,EAClD,gBAAgB,CAAC,uBACjB,IAAI,EACT,EAmJaxC,EA9EJ5W,OAAO,OAAO,CAnE0D,CAC/E,CAAC+L,EAAAA,CAAAA,CAAAA,gBAAgC,CAAC,CAAE,CAClC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,SAAyB,CAAC,CAAE,CAAE,MAAO,cAAe,WAAY,KAAyB,EAC1F,CAACA,EAAAA,CAAAA,CAAAA,WAA2B,CAAC,CAAE,CAAE,MAAO,cAAe,WAAY,MAA0B,EAC7F,CAACA,EAAAA,CAAAA,CAAAA,kBAAkC,CAAC,CAAE,CACpC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,gDAAgE,CAAC,CAAE,CAClE,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,gBAAgC,CAAC,CAAE,CAClC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,gBAAgC,CAAC,CAAE,CAClC,MAAO,cACP,WAAY,KACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,eAA+B,CAAC,CAAE,CACjC,MAAO,cACP,WAAY,KACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,aAA6B,CAAC,CAAE,CAC/B,MAAO,cACP,WAAY,KACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,kBAAkC,CAAC,CAAE,CACpC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,oBAAoC,CAAC,CAAE,CACtC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,qBAAqC,CAAC,CAAE,CACvC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,wBAAwC,CAAC,CAAE,CAC1C,MAAO,cACP,WAAY,KACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,kBAAkC,CAAC,CAAE,CACpC,MAAO,cACP,WAAY,MACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,cAA8B,CAAC,CAAE,CAAE,MAAO,cAAe,WAAY,MAA0B,EAChG,CAACA,EAAAA,CAAAA,CAAAA,OAAuB,CAAC,CAAE,CAAE,MAAO,UAAW,WAAY,MAA0B,EACrF,CAACA,EAAAA,CAAAA,CAAAA,OAAuB,CAAC,CAAE,CAAE,MAAO,UAAW,WAAY,MAA0B,EACrF,CAACA,EAAAA,CAAAA,CAAAA,kBAAkC,CAAC,CAAE,CACpC,MAAO,YACP,WAAY,KACd,EACA,CAACA,EAAAA,CAAAA,CAAAA,SAAyB,CAAC,CAAE,CAAE,MAAO,YAAa,WAAY,MAA0B,EACzF,CAACA,EAAAA,CAAAA,CAAAA,QAAwB,CAAC,CAAE,CAAE,MAAO,YAAa,WAAY,MAA0B,EACxF,CAACA,EAAAA,CAAAA,CAAAA,eAA+B,CAAC,CAAE,CAAE,MAAO,YAAa,WAAY,MAA0B,EAC/F,CAACA,EAAAA,CAAAA,CAAAA,6BAA6C,CAAC,CAAE,CAC/C,MAAO,cACP,WAAY,MACd,CACF,GAEsC,MAAM,CAAC,CAACsN,EAAuB,CAACpZ,EAAKe,EAAM,IAC7E,IAAMsY,EAAKC,OAAOtZ,GACZ+U,EAAS,CAAE,GAAGhU,CAAK,CAAE,GAAIuY,OAAOtZ,EAA6B,EACnE,GAAI+U,AAAe,MAAfA,EAAO,IAAI,CACb,OAAQA,EAAO,KAAK,EAClB,IAAK,YACHA,EAAO,IAAI,CAAG,CAAC,CAAEwE,QAAAA,CAAO,CAAEje,UAAAA,CAAS,CAAEke,MAAAA,CAAK,CAAuB,GACxDD,EACL,UAACX,EAAAA,EAAgBA,CAAAA,CAAC,UAAWtd,C,GAE7B,UAACme,EAAAA,CAAoBA,CAAAA,CACnB,UAAWne,EACX,KAAM,GACN,MAAOke,GAASP,EAAY,SAAS,A,GAI3C,KACF,KAAK,UACHlE,EAAO,IAAI,CAAG,CAAC,CAAEwE,QAAAA,CAAO,CAAEje,UAAAA,CAAS,CAAEke,MAAAA,CAAK,CAAuB,GACxDD,EACL,UAACV,EAAAA,EAAkBA,CAAAA,CAAC,UAAWvd,C,GAE/B,UAACoe,EAAAA,CAAgBA,CAAAA,CACf,UAAWpe,EACX,KAAM,GACN,MAAOke,GAASP,EAAY,OAAO,A,GAIzC,KACF,KAAK,cACHlE,EAAO,IAAI,CAAG,CAAC,CAAEwE,QAAAA,CAAO,CAAEje,UAAAA,CAAS,CAAEke,MAAAA,CAAK,CAAuB,GACxDD,EAAU,UAACzB,EAAAA,EAAOA,CAAAA,CAAAA,GAAM,UAAC6B,EAAAA,CAASA,CAAAA,CAAC,KAAM,GAAI,MAAOH,C,GAE7D,KACF,KAAK,UACHzE,EAAO,IAAI,CAAG,AAACtZ,GACb,UAACme,EAAAA,CAAYA,CAAAA,CACX,UAAWne,EAAM,SAAS,CAC1B,KAAM,GACN,MAAOA,EAAM,KAAK,EAAIwd,EAAY,OAAO,A,GAG7C,KACF,SACElE,EAAO,IAAI,CAAG,CAAC,CAAEwE,QAAAA,CAAO,CAAEje,UAAAA,CAAS,CAAEke,MAAAA,CAAK,CAAuB,GACxDD,EACL,UAACT,EAAAA,EAAkBA,CAAAA,CAAC,UAAW7b,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,eAAgB3B,E,GAElD,UAACue,EAAAA,CAAYA,CAAAA,CACX,UAAW5c,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,eAAgB3B,GAC9B,KAAM,GACN,MAAOke,GAASP,EAAY,UAAU,A,EAKhD,CAEF,GAAIlE,AAAgB,MAAhBA,EAAO,KAAK,CACd,OAAQA,EAAO,KAAK,EAClB,IAAK,UACL,IAAK,UACHA,EAAO,KAAK,CAAGkE,EAAY,OAAO,CAClC,KACF,KAAK,YACHlE,EAAO,KAAK,CAAGkE,EAAY,SAAS,CACpC,KACF,SACElE,EAAO,KAAK,CAAGkE,EAAY,UAAU,AACzC,CAGF,OADAG,CAAG,CAACC,EAAG,CAAGtE,EACHqE,CACT,EAAG,CAAC,EAMJtN,CAAAA,EAAAA,CAAAA,CAAAA,kBAAkC,CAClCA,EAAAA,CAAAA,CAAAA,wBAAwC,CAEnC,IAAMgO,EAAuB,CAClChO,EAAAA,CAAAA,CAAAA,SAAyB,CACzBA,EAAAA,CAAAA,CAAAA,OAAuB,CACvBA,EAAAA,CAAAA,CAAAA,kBAAkC,CAClCA,EAAAA,CAAAA,CAAAA,OAAuB,CACxB,CAMM,SAASxB,EAAayK,CAAuB,CAAEgF,CAAqB,QACzE,EAAIA,GAAehF,IAAWjJ,EAAAA,CAAAA,CAAAA,cAA8B,EAGrDgO,EAAqB,QAAQ,CAAC/E,EACvC,CAEO,SAAS/M,EAAoB+M,CAAuB,EACzD,MAAO,CACLjJ,EAAAA,CAAAA,CAAAA,SAAyB,CACzBA,EAAAA,CAAAA,CAAAA,kBAAkC,CAClCA,EAAAA,CAAAA,CAAAA,eAA+B,CAChC,CAAC,QAAQ,CAACiJ,EACb,CAUsC,AAACjJ,EAAAA,CAAAA,CAAAA,cAA+B,CAC7B,AAACA,EAAAA,CAAAA,CAAAA,gBAAiC,CAEpE,IAAMkO,EAAwB,AAACjF,GAC7BA,IAAWjJ,EAAAA,CAAAA,CAAAA,qBAAqC,A,wDClPlD,IAAML,EAAsB,CACjC,CACE,MAAO,cACP,UAAWhO,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,aAAqC,EAC9E,MAAO;;;;;;;;;;;;;;;;;;;;;;;;;QAyBH,CAAC,CAAC,IAAI,GACV,OAAQ;;;;;;;;;;;SAWH,CAAC,CAAC,IAAI,EACb,EACA,CACE,UAAWD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,cAAsC,EAC/E,MAAO,eACP,MAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BH,CAAC,CAAC,IAAI,GACV,OAAQ;;;;;;;;SAQH,CAAC,CAAC,IAAI,EACb,EACA,CACE,MAAO,cACP,UAAWD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,cAAsC,EAC/E,MAAO;;;;;QAKH,CAAC,CAAC,IAAI,GACV,OAAQ;;;;;;;;;;;;;;;;;SAiBH,CAAC,CAAC,IAAI,EACb,EACA,CACE,MAAO,eACP,UAAWD,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAA8BC,EAAAA,EAAAA,CAAAA,cAAsC,EAC/E,MAAO;;;;;;;;;;;;QAYH,CAAC,CAAC,IAAI,GACV,OAAQ;;;;;;;;;;;;;;;SAeH,CAAC,CAAC,IAAI,EACb,EACD,A,mEChJD,IAAMuc,EAAqBnR,EAAAA,EAAAA,CAAAA,sCAAkD,CAEhEb,EAAuB,IAC3BiS,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAa,eAAgCD,C,mzBC8BtD,MA3B6B,CAAC,CAC5BE,cAAAA,CAAa,CACa,IAC1B,IAAM1M,EAAoBC,CAAAA,CAAQyM,EAW5B,CAAE,KAAM5M,CAAS,CAAE,CAAG6M,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAS,CACnC,SAAU,CAVqB,CAC/B,SAAU,GACV,QAAS,GACT,SAAU,GACV,WAAY,GACZ,SAAU,GACVD,cAAAA,CACF,KAG6BE,EAAAA,EAAAA,CAAAA,SAAmB,IAAKA,EAAAA,EAAAA,CAAAA,aAAuB,CAAC,CAC3E,QAAS,CAAC,CAAEC,SAAAA,CAAQ,CAAE,GAAKC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAqBD,CAAQ,CAAC,EAAE,EAC3D,YAAa,KACb,QAAS7M,EACT,KAAM,CACJ,QAAS,EACX,EACA,OAAQ,AAACrD,GAASqD,GAAqBrD,GAAM,OAAO,kBAAgC,IACtF,GACA,OAAOmD,CACT,C,2EC/BO,SAAS3S,IACd,IAAM4f,EAAUC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACV9a,EAAU6a,GAAS,SAAS,gBAC5B,CAAEE,iBAAAA,CAAgB,CAAE,CAAGle,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAG7B,OAAOmD,GAAS,UAAU,aAAa,WAAa,MAFzB+a,AAAoB,MAApBA,GAA4BA,AAAqB,KAArBA,CAGzD,CAEO,SAAS5f,IACd,IAAM0f,EAAUC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACV,CAAEC,iBAAAA,CAAgB,CAAE,CAAGle,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAEvBmD,EAAU6a,GAAS,SAAS,gBAMlC,MAAOG,AAJLhb,CAAAA,GAAS,UAAU,aAAa,WAAa,KACzCA,GAAS,UAAU,aAAa,cAChCoE,KAAAA,CAAQ,GAEY2W,CAC5B,C,gYCfO,SAASzF,IACd,IAAMrL,EAAO6Q,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACPjT,EAAa6N,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACb,CAAE7a,QAAAA,CAAO,CAAE,CAAGgC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAGpB,GAF2Boe,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAoBpT,GAG7C,OAAO,IAGT,GAAIsE,EAAAA,CAAAA,CAAAA,gBAAgC,GAAKtE,EACvC,OAAO,GAGT,GAAM,CAAEqT,MAAAA,CAAK,CAAE,CAAG5f,EAAAA,EAAa,CAACT,EAA2B,CACrDsgB,EAAYlR,GAAM,SAAS,sBACjC,GAAIvJ,MAAM,OAAO,CAACya,GAAY,CAC5B,IAAMC,EAAiB,IAAIC,IACzBF,EAAU,GAAG,CAAC5M,AAAAA,IACZ,GAAI8L,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAsB9L,EAAS,UAAU,EAAG,CAC9C,GAAM,CAAE+M,oBAAAA,CAAmB,CAAE,CAAG/M,EAAS,QAAQ,CAAC,EAAE,CAAC,qBAAqB,CAC1E,MAAO,CAAC,EAAEA,EAAS,UAAU,CAAC,CAAC,EAAE+M,EAAoB,CAAC,AACxD,CACA,OAAO/M,EAAS,UAAU,AAC5B,WAGF,AAAI6M,EAAe,IAAI,CAAGF,EAAM,MAAM,CAC7B,GAEF1V,KAAK,IAAI,CAAE4V,EAAe,IAAI,CAAGF,EAAM,MAAM,CAAI,IAC1D,CACA,OAAO,CACT,C,0KCpCO,SAASxF,EAAc3L,CAAa,EACzC,GAAM,CAACwR,cAAAA,CAAa,CAAC,CAAGC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAClBC,EAAYpR,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAoBN,GAEhC2R,EAA8BH,EAAc,IAAI,CACpDI,AAAAA,GAAgBA,EAAa,IAAI,GAAKF,IACrC,YAEGG,EAAwBd,AAAAA,AAAAA,EAAAA,CAAAA,CAAW/Q,IAAO,cAEhD,AAAI6R,AAAyB,MAAzBA,EACKhR,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwBgR,GAE7BF,AAA+B,MAA/BA,EACK9Q,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwB8Q,GAE1BvP,EAAAA,CAAAA,CAAAA,gBAAgC,AACzC,CAEO,SAASrE,EAAyBiC,CAAa,EACpD,IAAM8Q,EAAUC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAW/Q,UAC3B,AAAI8Q,AAAW,MAAXA,EACKjQ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAwBiQ,EAAQ,MAAM,EAExC1O,EAAAA,CAAAA,CAAAA,gBAAgC,AACzC,C,iKCvBO,SAAS8O,EAAoBpT,CAA4B,EAC9D,IAAMgU,EAAiBhU,AAAc,MAAdA,EAAqBA,EAAa6N,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACnDK,EAAW9a,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IACX6gB,EAA0BC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAC1BC,EAAmBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACnB,CAAEphB,QAAAA,CAAO,CAAE,CAAGgC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAOdqf,EAAwB9B,AAL5BrE,CAAAA,GACA+F,GACAE,GACAnhB,IAAYsO,EAAAA,EAAAA,CAAAA,2BAAuC,AAAvCA,GAE+B0S,IAAmB1P,EAAAA,CAAAA,CAAAA,cAA8B,CACxFgQ,EAAuB9T,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoBwT,SAEjD,EAAIK,KAAyBC,GAGtBhC,EAAAA,EAAAA,CAAAA,QAA6B,CAAC0B,EACvC,C,kHChBO,IAAMzT,EAAoB,CAAC,CAAEgU,OAAAA,CAAM,CAAEhV,WAAAA,CAAU,CAAES,WAAAA,CAAU,CAAiB,IACjF,GAAM,CAACgD,EAAUwR,EAAY,CAAGld,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,GACnCmd,EAAepgB,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAsB,MACrCqgB,EAAcrgB,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAA8B,MAE5CsgB,EAAqBnM,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,IAC9B7K,AAAgB,GAAhBA,KAAK,MAAM,GAAW,GAC5B,EAAE,EAECiX,EAAiBpM,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,KACjC,IAAMqM,EAAMxG,KAAK,GAAG,GAEdyG,EAAmBC,AADLN,CAAAA,EAAa,OAAO,CAAGI,EAAMJ,EAAa,OAAO,CAAG,GAChClV,CAAAA,AAAa,IAAbA,CAAgB,EAAM,IAE9DiV,EAAYQ,AAAAA,IACV,GAAIA,GAAgB,GAAI,OAAOA,EAC/B,IAAMC,EAAetX,KAAK,GAAG,CAACmX,EAAiB,IAE/C,OAAOnX,KAAK,GAAG,CADQA,KAAK,GAAG,CAACqX,EAAeL,IAAsBM,GACrC,GAClC,GAEIH,EAAkB,GACpBJ,EAAY,OAAO,CAAGlgB,WAAWogB,EAAgB,KAEjDJ,EAAY,GAEhB,EAAG,CAACG,EAAoBpV,EAAW,EAE7B2V,EAAQ1M,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,KACxBgM,EAAY,GACZC,EAAa,OAAO,CAAGpG,KAAK,GAAG,GAC3BqG,EAAY,OAAO,EACrBS,aAAaT,EAAY,OAAO,EAElCA,EAAY,OAAO,CAAGlgB,WAAWogB,EAAgB,IACnD,EAAG,CAACA,EAAe,EAyBnB,MAvBAtgB,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,GAAIigB,EAAQ,CACVC,EAAY,KACZ,MACF,CAQA,OAN6B,OAAzBC,EAAa,OAAO,EACtBA,CAAAA,EAAa,OAAO,CAAGpG,KAAK,GAAG,EAAC,EAGlCqG,EAAY,OAAO,CAAGlgB,WAAWogB,EAAgB,KAE1C,KACDF,EAAY,OAAO,EAAES,aAAaT,EAAY,OAAO,CAC3D,CACF,EAAG,CAACH,EAAQK,EAAe,EAE3BtgB,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACJkM,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoBR,IACtBwU,EAAY,IAEhB,EAAG,CAACxU,EAAW,EAER,CAAEgD,SAAAA,EAAUkS,MAAAA,CAAM,CAC3B,C,qICpEO,SAAS1hB,IACd,GAAM,CAAER,QAAAA,CAAO,CAAEoiB,WAAAA,CAAU,CAAEC,aAAAA,CAAY,CAAE,CAAGrgB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACxCsgB,EAAmB,AAACC,IACxB,GAAIA,EAAK,QAAQ,CAAC,OAAQ,CACxB,IAAMC,EAAUD,EAAK,KAAK,CAAC,OAAO,GAAG,IAAI,QAAQ,UAAW,IAC5D,MAAO,CAAC,MAAM,EAAEC,EAAQ,CAAC,AAC3B,CACA,OAAOD,CACT,EACA,MAAOE,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAkBziB,IAAY6F,MAAM,OAAO,CAACwc,IAAiBA,EAAa,MAAM,EAAI,EACvFA,EAAa,GAAG,CAACC,GAAkB,IAAI,CAAC,MACxCF,EACEE,EAAiBF,GACjB,wBACR,C,mICfO,SAAS5T,IACdlN,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,IAAMohB,EAAY,IAAIC,gBAAgBC,SAAS,MAAM,EAC/CC,EAASH,EAAU,GAAG,CAAC,UACzBG,GACF9W,aAAa,OAAO,CAAC,SAAU8W,GAEhBH,EAAU,GAAG,CAAC,cAE7B3W,aAAa,OAAO,CAAC,SAAU,WAEnC,EAAG,EAAE,CACP,C,uLCXO,eAAesD,EAAmBlK,CAAqB,EAC5D,IAAMuO,EAAW,MAAMC,MAAM,4BAA6B,CACxD,OAAQ,OACR,QAAS,CACP,eAAgB,2BAChB,cAAexO,EAAQ,QAAQ,AACjC,EACA,KAAMC,EAAAA,EAAAA,CAAAA,MAAmB,CAACD,GAAS,MAAM,EAC3C,GAEA,GAAI,CAACuO,EAAS,EAAE,CAAE,CAChB,GAAM,CAAE,OAAQoP,CAAM,CAAE,CAAG,MAAMpP,EAAS,IAAI,EAC9C,OAAM,AAAIE,MAAMkP,EAClB,CAEA,OAAOpP,EAAS,IAAI,EACtB,CA0BO,eAAegC,EAAWL,CAAU,CAAE4E,CAA0B,EACrE,GAAM,CAAExF,WAAAA,EAAa,KAAO,CAAC,CAAEC,WAAAA,EAAa,AAAC2C,IAAkB,CAAC,CAAErT,QAAAA,EAAU,KAAO,CAAC,CAAE,CAAGiW,EACnF8I,EAAW,IAAIC,SACrBD,EAAS,MAAM,CAAC,OAAQ1N,GAExB,GAAI,CACF,IAAM3B,EAAW,MAAMC,MAAM,uBAAwB,CACnD,OAAQ,MACR,KAAMoP,CACR,GAEA,GAAI,CAACrP,EAAS,EAAE,CACd,MAAM,AAAIE,MAAM,CAAC,oBAAoB,EAAEF,EAAS,MAAM,CAAC,CAAC,EAG1D,IAAMuP,EAASvP,EAAS,IAAI,EAAE,YAC9B,GAAI,CAACuP,EACH,MAAM,AAAIrP,MAAM,iCAGlB,OAAa,CACX,GAAM,CAAEsP,KAAAA,CAAI,CAAE3c,MAAAA,CAAK,CAAE,CAAG,MAAM0c,EAAO,IAAI,GACzC,GAAIC,EAAM,MAKV,IAAK,IAAMC,KAFGC,AADA,IAAIC,cAAc,MAAM,CAAC9c,GACnB,KAAK,CAAC,MAAM,MAAM,CAAC4c,AAAAA,GAAQA,AAAgB,KAAhBA,EAAK,IAAI,IAE9B,CACxB,IAAMvT,EAAO9M,KAAK,KAAK,CAACqgB,GACxB,GAAIvT,EAAK,KAAK,CAAE,CACd5L,EAAQ4L,EAAK,KAAK,EAClB,MACF,CAIA,GAHIA,EAAK,QAAQ,EACf6E,EAAW7E,EAAK,QAAQ,EAEtBA,AAAgB,cAAhBA,EAAK,MAAM,CAAkB,CAC/B8E,EAAW9E,EAAK,IAAI,EACpB,MACF,CACF,CACF,CACF,CAAE,MAAO3B,EAAO,CACdjK,EAAQiK,aAAiB2F,MAAQ3F,EAAM,OAAO,CAAG,4BACnD,CACF,C,uOChFY4B,E,uDAAAA,G,CAAAA,E,wFAAAA,EAKL,OAAMyT,EACX,OAAe,QAA4B,IAAI,AAC/C,QAAe,gBAAoC,IAAIC,GAAK,AAC5D,QAAe,YAAc,GAAG,AAChC,QAAe,WAAa,CAAC,AAE7B,QAAc,SAAU,CACtB,GAAM,CAAEC,SAAAA,CAAQ,CAAE,CAAG,IAAIC,IAAIb,SAAS,IAAI,EAEpCc,EAAWd,AAAsB,WAAtBA,SAAS,QAAQ,CAAgB,MAAQ,KACpD3Z,EAAM,CAAC,EAAEya,EAAS,GAAG,EAAEd,SAAS,IAAI,CAAC,OAAO,EAAEe,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IAAiB,UAAY,GAAG,CAAC,CAC/EC,EAAQ,CAAC,WAAW,EAAEzU,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAAc,CAAC,EAEvC0U,AALwB,CAAC,qBAAsB,eAAe,CAK1C,QAAQ,CAACL,KAIjCF,EAAO,OAAO,CAAG,IAAIQ,UAAU7a,EAAM2a,GACrCN,EAAO,aAAa,CAACA,EAAO,OAAO,EACrC,CAEA,OAAc,WAAkB,CAC1BA,EAAO,OAAO,GACZA,EAAO,WAAW,IACpBA,EAAO,OAAO,CAAC,KAAK,GAEtBA,EAAO,gBAAgB,CAACA,EAAO,OAAO,EACtCA,EAAO,OAAO,CAAG,MAEnBA,EAAO,OAAO,EAChB,CAEA,OAAe,SAAU,CACvBjY,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,UACR,CAEA,OAAe,WAAWf,CAAe,CAAE,CACzC,IAAMsF,EAAO9M,KAAK,KAAK,CAACwH,EAAE,IAAI,EACxB,CAAEyZ,WAAAA,CAAU,CAAE,KAAMC,CAAO,CAAE/V,MAAAA,CAAK,CAAE1C,MAAAA,CAAK,CAAE,CAAGqE,EAC9CqU,EAAgBX,EAAO,eAAe,CAAC,GAAG,CAACS,GAEjD,GAAI,CACY,wBAAVxY,GACFF,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,aACP,OAAQ,CACN,QAASf,EAAE,IAAI,AACjB,CACF,EAEJ,CAAE,MAAO4Z,EAAI,CAAC,CAEd,GAAID,SACF,AAAIhW,EACKgW,EAAc,MAAM,CAAChW,GAEvBgW,EAAc,OAAO,CAACD,GAE7BviB,EAAAA,EAAAA,CAAAA,IAAuB,CAACC,EAAAA,EAAAA,CAAAA,WAAqB,CAAEkO,EAEnD,CAEA,aAAqB,SAASrE,CAAiB,CAAE,CAC/C,GAAI,CACF,GAAM,CAAEnC,KAAAA,CAAI,CAAE0Z,OAAAA,CAAM,CAAE,CAAGvX,EAIzB,GAHAgE,QAAQ,KAAK,CAAC,0CAA2C,CAAEnG,KAAAA,EAAM0Z,OAAAA,CAAO,GACxE,MAAMqB,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAM,KACZb,EAAO,UAAU,GAEfA,EAAO,OAAO,EACbA,CAAAA,EAAO,OAAO,CAAC,UAAU,GAAKA,EAAO,OAAO,CAAC,UAAU,EACtDA,EAAO,OAAO,CAAC,UAAU,GAAKA,EAAO,OAAO,CAAC,IAAG,EAClD,CACAA,EAAO,UAAU,CAAG,EACpB,MACF,CACA,GAAIA,EAAO,UAAU,CAAGA,EAAO,WAAW,CAAE,CAC1C/T,QAAQ,IAAI,CACV,sFAEF+T,EAAO,UAAU,CAAG,EACpB,MACF,CACAA,EAAO,SAAS,EAClB,QAAU,CACRjY,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,WACP,OAAQ,CACN,KAAMiE,OAAO/D,EAAM,IAAI,EACvB,OAAQA,EAAM,MAAM,AACtB,CACF,EACF,CACF,CAEA,OAAe,SAASjB,CAAQ,CAAQ,CACtCe,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAM,CACJ,MAAO,WACP,OAAQ,CACN,MAAOf,EAAE,QAAQ,EACnB,CACF,EACF,CAEA,OAAe,cAAc8Z,CAAiB,CAAE,CAC9CA,EAAO,gBAAgB,CAAC,OAAQd,EAAO,OAAO,EAC9Cc,EAAO,gBAAgB,CAAC,UAAWd,EAAO,UAAU,EACpDc,EAAO,gBAAgB,CAAC,QAASd,EAAO,QAAQ,EAChDc,EAAO,gBAAgB,CAAC,QAASd,EAAO,QAAQ,CAClD,CAEA,OAAe,iBAAiBc,CAAiB,CAAE,CACjDA,EAAO,mBAAmB,CAAC,OAAQd,EAAO,OAAO,EACjDc,EAAO,mBAAmB,CAAC,UAAWd,EAAO,UAAU,EACvDc,EAAO,mBAAmB,CAAC,QAASd,EAAO,QAAQ,EACnDc,EAAO,mBAAmB,CAAC,QAASd,EAAO,QAAQ,CACrD,CAEA,OAAc,aAAuB,CACnC,OAAOA,AAAmB,OAAnBA,EAAO,OAAO,EAAaA,EAAO,OAAO,CAAC,UAAU,GAAKQ,UAAU,IAAI,AAChF,CAEA,OAAc,KAAKniB,CAAe,CAAQ,CACpC2hB,EAAO,WAAW,IACpBA,EAAO,OAAO,EAAE,KAAK3hB,EAEzB,CAEA,aAAoB,WAClB0iB,CAAoB,CACpBzU,EAAuC,IAAI,CAC/B,CACZ,IAAMqU,EAAgBK,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,IAChBC,EAAY5Z,KAAK,MAAM,GAAG,QAAQ,CAAC,IAAI,SAAS,CAAC,GAMvD,IAAI,CAAC,IAAI,CAAC7H,KAAK,SAAS,CALR,CACd,WAAYyhB,EACZF,OAAAA,EACAzU,KAAAA,CACF,IAEA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC2U,EAAWN,GAEpC,IAAM1d,EAAQ,MAAMie,QAAQ,IAAI,CAAC,CAC/BP,EACA,IAAIO,QAAQ,CAACve,EAAGwe,IACdjjB,WAAW,IACFijB,EAAO,WACb,OAEN,EAGD,OAFA,IAAI,CAAC,eAAe,CAAC,MAAM,CAACF,GAErBhe,CACT,CACF,CAEA+c,EAAO,OAAO,E,wGC5Jd,IAAMoB,EAAmB,MAAOV,IAK9B,GAAM,CAAE9U,KAAAA,CAAI,CAAE,CAAG8U,EACXzJ,EAASC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAsBwJ,EAAQ,MAAM,EAC7C3M,EAAO,CAAC,kBAAkB,EAAEnI,EAAK,aAAa,EAAEqL,EAAO,CAAC,CACxDoK,EAAKX,EAAQ,EAAE,CAAGA,EAAQ,EAAE,CAAG5e,EAAAA,EAAAA,CAAAA,MAAmB,GAClDsO,EAAW,MAAMkR,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAavN,EAAM,CACxC,OAAQ,OACR,QAAS,CACP,eAAgB,0BAClB,EACA,KAAMjS,EAAAA,EAAAA,CAAAA,MAAmB,CAACuf,GAAI,MAAM,EACtC,GACA,GAAI,CAACjR,EAAS,EAAE,CAAE,CAChB,IAAMoP,EAAS,MAAMpP,EAAS,IAAI,EAClC,OAAM,AAAIE,MAAM,CAAC,8BAA8B,EAAEkP,EAAO,CAAC,CAC3D,CACF,EAEa+B,EAAc,MAAOb,IAChC,GAAM,CAAE9U,KAAAA,CAAI,CAAE4V,SAAAA,CAAQ,CAAE,CAAGd,EACrBW,EAAKvf,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CAAE0f,SAAAA,CAAS,GAC/C,OAAOJ,EAAiB,CAAExV,KAAAA,EAAM,OAAQoC,EAAAA,CAAAA,CAAAA,gBAAgC,CAAEqT,GAAAA,CAAG,EAC/E,EAEaI,EAAiB,MAAOf,IACnC,GAAM,CAAE9U,KAAAA,CAAI,CAAE,CAAG8U,EACjB,OAAOU,EAAiB,CAAExV,KAAAA,EAAM,OAAQoC,EAAAA,CAAAA,CAAAA,oBAAoC,AAAC,EAC/E,EAmBa0T,EAAY,MAAOhB,IAC9B,GAAM,CAAE9U,KAAAA,CAAI,CAAE+V,MAAAA,CAAK,CAAE,CAAGjB,EAClBW,EAAKvf,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CAAE,KAAM6f,CAAM,GAClD,OAAOP,EAAiB,CAAExV,KAAAA,EAAM,OAAQoC,EAAAA,CAAAA,CAAAA,kBAAkC,CAAEqT,GAAAA,CAAG,EACjF,EAEaO,EAAiB,MAAOlB,IACnC,GAAM,CAAE9U,KAAAA,CAAI,CAAEiW,WAAAA,CAAU,CAAE,CAAGnB,EACvB,CAAEoB,mBAAAA,CAAkB,CAAEC,aAAAA,CAAY,CAAE,CAAGF,EACvCR,EAAKvf,EAAAA,EAAAA,CAAAA,WAAwB,CAAC,CAAEigB,aAAAA,EAAcD,mBAAAA,CAAmB,GACvE,OAAOV,EAAiB,CAAExV,KAAAA,EAAM,OAAQoC,EAAAA,CAAAA,CAAAA,kBAAkC,CAAEqT,GAAAA,CAAG,EACjF,EA+Ba5E,EAAuB,MAClCuF,IAGA,IAAMC,EAAMC,EAAAA,EAAAA,CAAAA,WAA+B,CAAC,CAAE,YAAaF,CAAY,GACvE,GAAI,CACF,IAAM5R,EAAW,MAAMkR,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAHZ,0CAG+B,CACxC,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACA,KAAMY,EAAAA,EAAAA,CAAAA,MAA0B,CAACD,GAAK,MAAM,EAC9C,GACA,GAAI,CAAC7R,EAAS,EAAE,CAAE,CAChB,IAAMoP,EAAS,MAAMpP,EAAS,IAAI,EAClC,OAAM,AAAIE,MAAM,CAAC,0BAA0B,EAAEkP,EAAO,CAAC,CACvD,CAEA,OADkB,MAAMpP,EAAS,IAAI,EAEvC,CAAE,MAAO9H,EAAK,CAEZ,OADA2D,QAAQ,KAAK,CAAC,eAAgB3D,GACvB,IACT,CACF,C,0ECjFO,IAAMD,EAAuB,MAAOH,IACzC,IAAMkI,EAAW,MAAMC,MAAM,uCAAwC,CACnE,OAAQ,OACR,QAAS,CACP,eAAgB,kBAClB,EACA,KAAM7Q,KAAK,SAAS,CAAC,CAAE0I,MAAAA,CAAM,EAC/B,GACA,GAAI,CAACkI,EAAS,EAAE,CAAE,CAEhB,IAAMoP,EAAS2C,AADM,OAAM/R,EAAS,IAAI,EAAC,EACb,MAAM,CAAC,EAAE,CAAC,GAAG,AACzC,OAAM,AAAIE,MAAM,CAAC,kCAAkC,EAAEkP,EAAO,CAAC,CAC/D,CACA,OAAQ,MAAMpP,EAAS,IAAI,EAC7B,EA2Fa5H,EAAc,MAAON,EAAepC,KAC/C,IAAMsc,EAAU,IAAIC,QAAQ,CAAE,eAAgB,kBAAmB,GAC3DjS,EAAW,MAAMkR,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAa,yBAA0B,CAC5D,OAAQ,OACRc,QAAAA,EACA,KAAM5iB,KAAK,SAAS,CAAC,CAAE0I,MAAAA,EAAOpC,KAAAA,CAAK,EACrC,GAEMwc,EAAO,MAAMlS,EAAS,IAAI,GAChC,GAAIA,AAAoB,MAApBA,EAAS,MAAM,CACjB,MAAM,AAAIE,MAAMgS,EAAK,MAAM,EAE7B,OAAOA,EAAK,MAAM,AACpB,C,2JC5IA,IAAMC,EAA2BC,AAhBjC,WACE,IAAM5W,EAAO6W,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,IACP3W,EAAO4W,EAAAA,CAAAA,CAAAA,IAAoB,EAAI,KACjC9kB,EAAsB,EAAE,CACtB+kB,EAAYC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAoB9W,GAAM,UAI5C,OAHY,MAARA,GAAgB+W,EAAAA,CAAAA,CAAAA,QAAkC,CAACF,IACrD/kB,CAAAA,EAAW8kB,EAAAA,CAAAA,CAAAA,QAAwB,EAAI,EAAE,AAAD,EAEnC,CACL,SAAU,CACR,CAAC9W,EAAK,CAAEhO,CACV,EACA,UAAW,CAAE,CAACgO,EAAK,CAAEE,CAAK,CAC5B,CACF,IAIagX,EAAYC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,CACnC,KAAM,OACNR,aAAAA,EACA,SAAU,CACR,YAAYS,CAAK,CAAEjC,CAA4D,EAC7E,GAAM,CAAEnV,KAAAA,CAAI,CAAEhO,SAAAA,CAAQ,CAAE,CAAGmjB,EAAO,OAAO,AACzCiC,CAAAA,EAAM,QAAQ,CAACpX,EAAK,CAAGhO,CACzB,EACA,cAAcolB,CAAK,CAAEjC,CAAyD,EAC5E,GAAM,CAAE1iB,QAAAA,CAAO,CAAEuN,KAAAA,CAAI,CAAE,CAAGmV,EAAO,OAAO,CAExCnjB,AADiBolB,CAAAA,EAAM,QAAQ,CAACpX,EAAK,EAAI,EAAE,AAAD,EACjC,IAAI,CAACvN,EAChB,EACA,oBAAoB2kB,CAAK,CAAEjC,CAAyD,EAClF,GAAM,CAAEnV,KAAAA,CAAI,CAAEvN,QAAAA,CAAO,CAAE,CAAG0iB,EAAO,OAAO,CAClCnjB,EAAWolB,EAAM,QAAQ,CAACpX,EAAK,EAAI,EAAE,CACrCqX,EAAiBrlB,CAAQ,CAACA,EAAS,MAAM,CAAG,EAAE,CAChDqlB,IACFA,EAAe,IAAI,CAAG5kB,EAAQ,IAAI,CAClC4kB,EAAe,IAAI,CAAG5kB,EAAQ,IAAI,CAClC4kB,EAAe,MAAM,CAAG5kB,EAAQ,MAAM,CAE1C,EACA,kBAAkB2kB,CAAK,CAAEjC,CAAyD,EAChF,GAAM,CAAE,QAASL,CAAO,CAAE9U,KAAAA,CAAI,CAAE,CAAGmV,EAAO,OAAO,CAC3CnjB,EAAWolB,EAAM,QAAQ,CAACpX,EAAK,EAAI,EAAE,CAErCsX,EAAmBtlB,EAAS,SAAS,CAACS,AAAAA,IAC1C,IAAM8kB,EAAY9kB,EAAQ,MAAM,EAAE,KAAKS,AAAAA,GAASA,AAAe,SAAfA,EAAM,IAAI,SAC1D,AAAIqkB,AAAa,MAAbA,EAA0B,KAEvBxmB,AADQwmB,EAAU,MAAM,CAAE,OAAO,GACtBzC,EAAQ,MAAO,CAAC,EAAE,CAAC,MAAM,CAAE,OAAO,AACtD,EACA9iB,CAAAA,CAAQ,CAACslB,EAAiB,CAAGxC,CAC/B,EACA,YAAYsC,CAAK,CAAEjC,CAAkE,EACnF,GAAM,CAAEnV,KAAAA,CAAI,CAAEwX,MAAAA,EAAQ,CAAC,CAAE,CAAGrC,EAAO,OAAO,CACpCnjB,EAAWolB,EAAM,QAAQ,CAACpX,EAAK,EAAI,EAAE,CAC3C,IAAK,IAAIhJ,EAAI,EAAGA,EAAIwgB,EAAOxgB,IACzBhF,EAAS,GAAG,EAEhB,EACA,WAAWolB,CAAK,CAAEjC,CAAgE,EAChF,GAAM,CAAEjV,KAAAA,EAAO,IAAI,CAAEF,KAAAA,CAAI,CAAE,CAAGmV,EAAO,OAAO,CAC5C,GAAIjV,AAAQ,MAARA,EAAc,CAChBkX,EAAM,SAAS,CAACpX,EAAK,CAAGE,EACxB,MACF,CACA,GAAM,CAAEuX,QAAAA,CAAO,CAAE,GAAGC,EAAM,CAAGxX,EACvB4Q,EAAUza,OAAO,MAAM,CAACqhB,EAAM,CAAE,QAASC,EAAAA,EAAAA,CAAAA,QAAmC,CAACF,EAAS,EAC5FL,CAAAA,EAAM,SAAS,CAACpX,EAAK,CAAG8Q,CAC1B,CACF,CACF,GAEa,CACX8G,cAAAA,CAAa,CACbC,oBAAAA,CAAmB,CACnBC,YAAAA,CAAW,CACX9Z,YAAAA,CAAW,CACX+Z,kBAAAA,CAAiB,CACjBhY,WAAAA,CAAU,CACX,CAAGmX,EAAU,OAAO,CAErB,EAAeA,EAAU,OAAO,A,gHClFzB,SAASrjB,EAAK,CAAEmkB,KAAAA,CAAI,CAAEtmB,SAAAA,CAAQ,CAAEE,UAAAA,CAAS,CAAEqmB,OAAAA,CAAM,CAAS,EAC/D,IAAM7e,EAAO4e,EAAK,OAAO,CAAC,UAAW,IAAI,OAAO,CAAC,mBAAoB,YACrE,MACE,UAAC,KACC,KAAM5e,EACN,UAAW7F,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,sCAAuC3B,GACrD,QAAS,KACQ,WAAXqmB,GACJvE,CAAAA,SAAS,IAAI,CAAGta,CAAG,CACrB,EACA,OAAQ6e,E,SAEPvmB,C,EAGP,C,wDClBO,SAASwmB,EAAgB,CAC9BxmB,SAAAA,CAAQ,CACRC,WAAAA,EAAa,EAAK,CAClBC,UAAAA,EAAY,EAAE,CACdC,KAAAA,EAAO,QAAQ,CACfC,QAAAA,CAAO,CACP,GAAGC,EACS,EACZ,MACE,UAAC,UACC,KAAMF,EACN,SAAUF,EACV,QAASG,EACT,UAAW;;QAET,EACEH,EACI,gDACA;QAEN,EAAEC;MACJ,CAAC,CACA,GAAGG,CAAK,C,SAET,UAAC,OACC,UAAW;;QAEX,CAAC,C,SAED,UAAC,OACC,UAAW;;;YAGT,EAAEJ,EAAa,sBAAwB;UACzC,CAAC,C,SAEAD,C,MAKX,C"}