eai-frontend-components 2.0.16 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +76 -5
- package/dist/index.esm.js +137 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +139 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/lib/utils.ts","../src/components/ui/accordion.tsx","../src/components/ui/alert.tsx","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/avatar.tsx","../src/components/ui/badge.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/calendar.tsx","../src/components/ui/card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/chart.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/dialog.tsx","../src/components/ui/command.tsx","../src/components/ui/context-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/dateRangePicker.tsx","../src/components/ui/drawer.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/form.tsx","../src/components/ui/hover-card.tsx","../src/components/ui/masks.ts","../src/lib/help/format.ts","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js","../node_modules/date-fns/locale/pt-BR/_lib/formatLong.js","../node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js","../node_modules/date-fns/locale/pt-BR/_lib/localize.js","../node_modules/date-fns/locale/pt-BR/_lib/match.js","../node_modules/date-fns/locale/pt-BR.js","../src/components/ui/select.tsx","../src/components/ui/custom/date-picker.tsx","../src/components/ui/input.tsx","../src/components/ui/pagination.tsx","../src/components/ui/progress.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/scroll-area.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/slider.tsx","../src/components/ui/switch.tsx","../src/components/ui/table.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx","../src/components/ui/toast.tsx","../src/components/ui/use-toast.ts","../src/components/ui/toaster.tsx","../src/components/ui/use-calendar.tsx","../src/lib/help/theme.ts","../src/components/ui/custom/theme-provider.tsx","../src/components/ui/custom/form/form-help-text.tsx","../src/components/ui/custom/form/form-label.tsx","../src/components/ui/custom/form/form-message.tsx","../src/components/ui/custom/form/cpf-cnpj.tsx","../src/components/ui/custom/form/currency.tsx","../src/lib/help/date-utils.ts","../src/components/ui/custom/form/date.tsx","../src/components/ui/custom/form/date-range.tsx","../src/components/ui/custom/form/decimal.tsx","../src/components/ui/custom/form/file.tsx","../src/components/ui/custom/form/ghost.tsx","../src/components/ui/custom/form/input.tsx","../src/components/ui/custom/form/mask.tsx","../src/components/ui/custom/form/multi-select.tsx","../src/components/ui/custom/form/password.tsx","../src/components/ui/custom/form/percent.tsx","../src/components/ui/custom/form/phone.tsx","../src/components/ui/custom/form/radio-group.tsx","../src/components/ui/custom/form/select.tsx","../src/components/ui/custom/form/switch.tsx","../src/components/ui/custom/form/text.tsx","../src/components/ui/custom/form/textarea.tsx","../src/components/ui/custom/table/data-table-export.tsx","../src/components/ui/custom/table/data-table-footer.tsx","../src/components/ui/custom/table/data-table-header.tsx","../src/components/ui/custom/table/data-table-rows.tsx","../src/components/ui/custom/table/data-table.tsx","../src/components/ui/custom/sidebar/sidebar-item-two-lines.tsx","../src/components/ui/custom/sidebar/module-switcher.tsx","../src/components/ui/custom/sidebar/sidebar-button.tsx","../src/components/ui/custom/sidebar/sidebar-item.tsx","../src/components/ui/custom/sidebar/nav-footer.tsx","../src/components/ui/custom/sidebar/nav-submenu-collapsible.tsx","../src/components/ui/custom/sidebar/nav-submenu-dropdown.tsx","../src/components/ui/custom/sidebar/types/sidebar.ts","../src/components/ui/custom/sidebar/nav-main.tsx","../src/components/ui/custom/sidebar/nav-user.tsx","../src/components/ui/custom/header.tsx","../src/components/ui/custom/label.tsx","../src/components/ui/custom/not-found.tsx","../src/lib/help/uuid.ts","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n\treturn twMerge(clsx(inputs));\r\n}\r\n","import * as AccordionPrimitive from '@radix-ui/react-accordion';\r\nimport { ChevronDown } from 'lucide-react';\r\nimport * as React from 'react';\r\n\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Accordion = AccordionPrimitive.Root;\r\n\r\nconst AccordionItem = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\r\n>(({ className, ...props }, ref) => <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />);\r\nAccordionItem.displayName = 'AccordionItem';\r\n\r\nconst AccordionTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Trigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<AccordionPrimitive.Header className='flex'>\r\n\t\t<AccordionPrimitive.Trigger\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('flex flex-1 items-center justify-between p-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180', className)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t\t<ChevronDown className='h-4 w-4 shrink-0 transition-transform duration-200' />\r\n\t\t</AccordionPrimitive.Trigger>\r\n\t</AccordionPrimitive.Header>\r\n));\r\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\r\n\r\nconst AccordionContent = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<AccordionPrimitive.Content\r\n\t\tref={ref}\r\n\t\tclassName='overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down'\r\n\t\t{...props}\r\n\t>\r\n\t\t<div className={cn('p-4 pt-0', className)}>{children}</div>\r\n\t</AccordionPrimitive.Content>\r\n));\r\n\r\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\r\n\r\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\r\n\r\n","import { cva, type VariantProps } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst alertVariants = cva(\r\n\t'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'bg-background text-foreground',\r\n\t\t\t\tdestructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst Alert = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>>(\r\n\t({ className, variant, ...props }, ref) => <div ref={ref} role='alert' className={cn(alertVariants({ variant }), className)} {...props} />,\r\n);\r\nAlert.displayName = 'Alert';\r\n\r\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(({ className, ...props }, ref) => (\r\n\t<h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />\r\n));\r\nAlertTitle.displayName = 'AlertTitle';\r\n\r\nconst AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-sm [&_p]:leading-relaxed', className)} {...props} />\r\n));\r\nAlertDescription.displayName = 'AlertDescription';\r\n\r\nexport { Alert, AlertDescription, AlertTitle };\r\n\r\n","import { Slot } from '@radix-ui/react-slot';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst buttonVariants = cva(\r\n\t'inline-flex items-center justify-center gap-2 self-start px-4 py-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'bg-background-primary text-white hover:bg-background-primary-hover disabled:opacity-50',\r\n\t\t\t\tsecondary: 'bg-secondary text-secondary-foreground hover:bg-secondary-hover disabled:opacity-50',\r\n\t\t\t\tdestructive: 'bg-red-600 text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50',\r\n\t\t\t\toutline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\r\n\t\t\t\tghost: 'hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\r\n\t\t\t\tlink: 'text-primary underline-offset-4 hover:underline disabled:opacity-50',\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\tdefault: 'h-10 px-4 py-2',\r\n\t\t\t\tsm: 'h-9 rounded-md px-3',\r\n\t\t\t\tlg: 'h-11 rounded-md px-8',\r\n\t\t\t\ticon: 'h-10 w-10',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t\tsize: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({ className, variant, size, asChild = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\treturn <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\r\n});\r\nButton.displayName = 'Button';\r\n\r\nexport { Button, buttonVariants };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\r\nimport * as React from \"react\"\r\nimport { buttonVariants } from \"./button\"\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n))\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n))\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-2 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\"text-lg font-semibold\", className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogDescription.displayName =\r\n AlertDialogPrimitive.Description.displayName\r\n\r\n const AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {\r\n variant?: \"default\" | \"outline\" | \"destructive\" | \"secondary\"; // Adapte conforme suas variantes\r\n }\r\n>(({ className, variant = \"default\", ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(buttonVariants({ variant }), className)}\r\n {...props}\r\n />\r\n));\r\n\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\r\n\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {\r\n variant?: \"default\" | \"outline\" | \"destructive\" | \"secondary\"; // Adapte conforme suas variantes\r\n }\r\n>(({ className, variant = \"outline\", ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n buttonVariants({ variant }), // Usa a variante passada como prop\r\n \"mt-2 sm:mt-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\n\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\r\n\r\n\r\nexport {\r\n AlertDialog, AlertDialogAction,\r\n AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Avatar = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Root\r\n ref={ref}\r\n className={cn(\r\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nAvatar.displayName = AvatarPrimitive.Root.displayName\r\n\r\nconst AvatarImage = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Image>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Image\r\n ref={ref}\r\n className={cn(\"aspect-square h-full w-full\", className)}\r\n {...props}\r\n />\r\n))\r\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\r\n\r\nconst AvatarFallback = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Fallback\r\n ref={ref}\r\n className={cn(\r\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst badgeVariants = cva(\r\n\t'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'border-transparent bg-background-primary text-primary-foreground',\r\n\t\t\t\tsecondary: 'border-transparent bg-background-secondary text-secondary-foreground',\r\n\t\t\t\tsurface: 'border-transparent bg-primary-100 text-primary',\r\n\t\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground',\r\n\t\t\t\toutline: 'text-foreground',\r\n\t\t\t\tgreen: 'border-transparent bg-green-50 text-emerald-700',\r\n\t\t\t\tred: 'border-transparent bg-red-50 text-red-600',\r\n\t\t\t\tgray: 'border-transparent bg-zinc-100 text-zinc-950',\r\n\t\t\t\tblue: 'border-transparent bg-blue-50 text-blue-600',\r\n\t\t\t\torange: 'border-transparent bg-orange-50 text-orange-600',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\r\n\r\nfunction Badge({ className, variant, ...props }: BadgeProps) {\r\n\treturn <div className={cn(badgeVariants({ variant }), className)} {...props} />;\r\n}\r\n\r\nexport { Badge, badgeVariants };\r\n\r\n","import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Breadcrumb = React.forwardRef<\r\n HTMLElement,\r\n React.ComponentPropsWithoutRef<\"nav\"> & {\r\n separator?: React.ReactNode\r\n }\r\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\r\nBreadcrumb.displayName = \"Breadcrumb\"\r\n\r\nconst BreadcrumbList = React.forwardRef<\r\n HTMLOListElement,\r\n React.ComponentPropsWithoutRef<\"ol\">\r\n>(({ className, ...props }, ref) => (\r\n <ol\r\n ref={ref}\r\n className={cn(\r\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbList.displayName = \"BreadcrumbList\"\r\n\r\nconst BreadcrumbItem = React.forwardRef<\r\n HTMLLIElement,\r\n React.ComponentPropsWithoutRef<\"li\">\r\n>(({ className, ...props }, ref) => (\r\n <li\r\n ref={ref}\r\n className={cn(\"inline-flex items-center gap-1.5\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\r\n\r\nconst BreadcrumbLink = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentPropsWithoutRef<\"a\"> & {\r\n asChild?: boolean\r\n }\r\n>(({ asChild, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\"\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n className={cn(\"transition-colors hover:text-foreground\", className)}\r\n {...props}\r\n />\r\n )\r\n})\r\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\r\n\r\nconst BreadcrumbPage = React.forwardRef<\r\n HTMLSpanElement,\r\n React.ComponentPropsWithoutRef<\"span\">\r\n>(({ className, ...props }, ref) => (\r\n <span\r\n ref={ref}\r\n role=\"link\"\r\n aria-disabled=\"true\"\r\n aria-current=\"page\"\r\n className={cn(\"font-normal text-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\r\n\r\nconst BreadcrumbSeparator = ({\r\n children,\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"li\">) => (\r\n <li\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\r\n {...props}\r\n >\r\n {children ?? <ChevronRight />}\r\n </li>\r\n)\r\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\r\n\r\nconst BreadcrumbEllipsis = ({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) => (\r\n <span\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\r\n {...props}\r\n >\r\n <MoreHorizontal className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">More</span>\r\n </span>\r\n)\r\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\r\n\r\nexport {\r\n Breadcrumb,\r\n BreadcrumbList,\r\n BreadcrumbItem,\r\n BreadcrumbLink,\r\n BreadcrumbPage,\r\n BreadcrumbSeparator,\r\n BreadcrumbEllipsis,\r\n}\r\n","import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\r\nimport { cn } from '../../lib/utils';\r\nimport { Button, buttonVariants } from './button';\r\n\r\nfunction Calendar({\r\n\tclassName,\r\n\tclassNames,\r\n\tshowOutsideDays = true,\r\n\tcaptionLayout = 'label',\r\n\tbuttonVariant = 'ghost',\r\n\tformatters,\r\n\tcomponents,\r\n\t...props\r\n}: React.ComponentProps<typeof DayPicker> & {\r\n\tbuttonVariant?: React.ComponentProps<typeof Button>['variant'];\r\n}) {\r\n\tconst defaultClassNames = getDefaultClassNames();\r\n\r\n\treturn (\r\n\t\t<DayPicker\r\n\t\t\tshowOutsideDays={showOutsideDays}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\r\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\r\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tcaptionLayout={captionLayout}\r\n\t\t\tformatters={{\r\n\t\t\t\tformatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\r\n\t\t\t\t...formatters,\r\n\t\t\t}}\r\n\t\t\tclassNames={{\r\n\t\t\t\troot: cn('w-fit', defaultClassNames.root),\r\n\t\t\t\tmonths: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\r\n\t\t\t\tmonth: cn('flex w-full flex-col gap-4', defaultClassNames.month),\r\n\t\t\t\tnav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\r\n\t\t\t\tbutton_previous: cn(\r\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\r\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\r\n\t\t\t\t\tdefaultClassNames.button_previous,\r\n\t\t\t\t),\r\n\t\t\t\tbutton_next: cn(\r\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\r\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\r\n\t\t\t\t\tdefaultClassNames.button_next,\r\n\t\t\t\t),\r\n\t\t\t\tmonth_caption: cn('flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]', defaultClassNames.month_caption),\r\n\t\t\t\tdropdowns: cn('flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium', defaultClassNames.dropdowns),\r\n\t\t\t\tdropdown_root: cn(\r\n\t\t\t\t\t'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\r\n\t\t\t\t\tdefaultClassNames.dropdown_root,\r\n\t\t\t\t),\r\n\t\t\t\tdropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\r\n\t\t\t\tcaption_label: cn(\r\n\t\t\t\t\t'select-none font-medium',\r\n\t\t\t\t\tcaptionLayout === 'label'\r\n\t\t\t\t\t\t? 'text-sm'\r\n\t\t\t\t\t\t: '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\r\n\t\t\t\t\tdefaultClassNames.caption_label,\r\n\t\t\t\t),\r\n\t\t\t\ttable: 'w-full border-collapse',\r\n\t\t\t\tweekdays: cn('flex', defaultClassNames.weekdays),\r\n\t\t\t\tweekday: cn('text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal', defaultClassNames.weekday),\r\n\t\t\t\tweek: cn('mt-2 flex w-full', defaultClassNames.week),\r\n\t\t\t\tweek_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\r\n\t\t\t\tweek_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\r\n\t\t\t\tday: cn(\r\n\t\t\t\t\t'group/day relative aspect-square h-[32px] w-[32px] select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\r\n\t\t\t\t\tdefaultClassNames.day,\r\n\t\t\t\t),\r\n\t\t\t\trange_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\r\n\t\t\t\trange_middle: cn('rounded-none', defaultClassNames.range_middle),\r\n\t\t\t\trange_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\r\n\t\t\t\ttoday: cn('bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\r\n\t\t\t\toutside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\r\n\t\t\t\tdisabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\r\n\t\t\t\thidden: cn('invisible', defaultClassNames.hidden),\r\n\t\t\t\t...classNames,\r\n\t\t\t}}\r\n\t\t\tcomponents={{\r\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\r\n\t\t\t\t\treturn <div data-slot='calendar' ref={rootRef} className={cn(className)} {...props} />;\r\n\t\t\t\t},\r\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\r\n\t\t\t\t\tif (orientation === 'left') {\r\n\t\t\t\t\t\treturn <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (orientation === 'right') {\r\n\t\t\t\t\t\treturn <ChevronRightIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn <ChevronDownIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t},\r\n\t\t\t\tDayButton: CalendarDayButton,\r\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<td {...props}>\r\n\t\t\t\t\t\t\t<div className='flex size-[--cell-size] items-center justify-center text-center'>{children}</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\t...components,\r\n\t\t\t}}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n}\r\n\r\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\r\n\tconst defaultClassNames = getDefaultClassNames();\r\n\r\n\tconst ref = React.useRef<HTMLButtonElement>(null);\r\n\tReact.useEffect(() => {\r\n\t\tif (modifiers.focused) ref.current?.focus();\r\n\t}, [modifiers.focused]);\r\n\r\n\treturn (\r\n\t\t<Button\r\n\t\t\tref={ref}\r\n\t\t\tvariant='ghost'\r\n\t\t\tsize='icon'\r\n\t\t\tdata-day={day.date.toLocaleDateString()}\r\n\t\t\tdata-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\r\n\t\t\tdata-range-start={modifiers.range_start}\r\n\t\t\tdata-range-end={modifiers.range_end}\r\n\t\t\tdata-range-middle={modifiers.range_middle}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'data-[selected-single=true]:bg-background-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-background-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-background-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\r\n\t\t\t\tdefaultClassNames.day,\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n}\r\n\r\nexport { Calendar, CalendarDayButton };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)} {...props} />\r\n));\r\nCard.displayName = 'Card';\r\n\r\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('flex p-6', className)} {...props} />\r\n));\r\nCardHeader.displayName = 'CardHeader';\r\n\r\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\r\n));\r\nCardTitle.displayName = 'CardTitle';\r\n\r\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\r\n));\r\nCardDescription.displayName = 'CardDescription';\r\n\r\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('py-8 px-6', className)} {...props} />\r\n));\r\nCardContent.displayName = 'CardContent';\r\n\r\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('flex items-center p-6', className)} {...props} />\r\n));\r\nCardFooter.displayName = 'CardFooter';\r\n\r\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from \"embla-carousel-react\"\r\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { Button } from \"./button\"\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: \"horizontal\" | \"vertical\"\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = \"horizontal\",\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n\r\n const onSelect = React.useCallback((api: CarouselApi) => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n }, [])\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) {\r\n return\r\n }\r\n\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n onSelect(api)\r\n api.on(\"reInit\", onSelect)\r\n api.on(\"select\", onSelect)\r\n\r\n return () => {\r\n api?.off(\"select\", onSelect)\r\n }\r\n }, [api, onSelect])\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(\"relative\", className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = \"Carousel\"\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex\",\r\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = \"CarouselContent\"\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n \"min-w-0 shrink-0 grow-0 basis-full\",\r\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = \"CarouselItem\"\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-left-12 top-1/2 -translate-y-1/2\"\r\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = \"CarouselPrevious\"\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-right-12 top-1/2 -translate-y-1/2\"\r\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = \"CarouselNext\"\r\n\r\nexport {\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as RechartsPrimitive from \"recharts\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\n// Format: { THEME_NAME: CSS_SELECTOR }\r\nconst THEMES = { light: \"\", dark: \".dark\" } as const\r\n\r\nexport type ChartConfig = {\r\n [k in string]: {\r\n label?: React.ReactNode\r\n icon?: React.ComponentType\r\n } & (\r\n | { color?: string; theme?: never }\r\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\r\n )\r\n}\r\n\r\ntype ChartContextProps = {\r\n config: ChartConfig\r\n}\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\r\n\r\nfunction useChart() {\r\n const context = React.useContext(ChartContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst ChartContainer = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n config: ChartConfig\r\n children: React.ComponentProps<\r\n typeof RechartsPrimitive.ResponsiveContainer\r\n >[\"children\"]\r\n }\r\n>(({ id, className, children, config, ...props }, ref) => {\r\n const uniqueId = React.useId()\r\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\r\n\r\n return (\r\n <ChartContext.Provider value={{ config }}>\r\n <div\r\n data-chart={chartId}\r\n ref={ref}\r\n className={cn(\r\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChartStyle id={chartId} config={config} />\r\n <RechartsPrimitive.ResponsiveContainer>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n )\r\n})\r\nChartContainer.displayName = \"Chart\"\r\n\r\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\r\n const colorConfig = Object.entries(config).filter(\r\n ([, config]) => config.theme || config.color\r\n )\r\n\r\n if (!colorConfig.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <style\r\n // biome-ignore lint/security/noDangerouslySetInnerHtml: Chart theme CSS generation requires dynamic CSS injection\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color =\r\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\r\n itemConfig.color\r\n return color ? ` --color-${key}: ${color};` : null\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n )\r\n}\r\n\r\nconst ChartTooltip = RechartsPrimitive.Tooltip\r\n\r\nconst ChartTooltipContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\r\n React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean\r\n hideIndicator?: boolean\r\n indicator?: \"line\" | \"dot\" | \"dashed\"\r\n nameKey?: string\r\n labelKey?: string\r\n }\r\n>(\r\n (\r\n {\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null\r\n }\r\n\r\n const [item] = payload\r\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const value =\r\n !labelKey && typeof label === \"string\"\r\n ? config[label as keyof typeof config]?.label || label\r\n : itemConfig?.label\r\n\r\n if (labelFormatter) {\r\n return (\r\n <div className={cn(\"font-medium\", labelClassName)}>\r\n {labelFormatter(value, payload)}\r\n </div>\r\n )\r\n }\r\n\r\n if (!value) {\r\n return null\r\n }\r\n\r\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\r\n }, [\r\n label,\r\n labelFormatter,\r\n payload,\r\n hideLabel,\r\n labelClassName,\r\n config,\r\n labelKey,\r\n ])\r\n\r\n if (!active || !payload?.length) {\r\n return null\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\r\n className\r\n )}\r\n >\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className=\"grid gap-1.5\">\r\n {payload.map((item, index) => {\r\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const indicatorColor = color || item.payload.fill || item.color\r\n\r\n return (\r\n <div\r\n key={item.dataKey}\r\n className={cn(\r\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\r\n indicator === \"dot\" && \"items-center\"\r\n )}\r\n >\r\n {formatter && item?.value !== undefined && item.name ? (\r\n formatter(item.value, item.name, item, index, item.payload)\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\r\n {\r\n \"h-2.5 w-2.5\": indicator === \"dot\",\r\n \"w-1\": indicator === \"line\",\r\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\r\n indicator === \"dashed\",\r\n \"my-0.5\": nestLabel && indicator === \"dashed\",\r\n }\r\n )}\r\n style={\r\n {\r\n \"--color-bg\": indicatorColor,\r\n \"--color-border\": indicatorColor,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )\r\n )}\r\n <div\r\n className={cn(\r\n \"flex flex-1 justify-between leading-none\",\r\n nestLabel ? \"items-end\" : \"items-center\"\r\n )}\r\n >\r\n <div className=\"grid gap-1.5\">\r\n {nestLabel ? tooltipLabel : null}\r\n <span className=\"text-muted-foreground\">\r\n {itemConfig?.label || item.name}\r\n </span>\r\n </div>\r\n {item.value && (\r\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\r\n {item.value.toLocaleString()}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n </div>\r\n )\r\n }\r\n)\r\nChartTooltipContent.displayName = \"ChartTooltip\"\r\n\r\nconst ChartLegend = RechartsPrimitive.Legend\r\n\r\nconst ChartLegendContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> &\r\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\r\n hideIcon?: boolean\r\n nameKey?: string\r\n }\r\n>(\r\n (\r\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n if (!payload?.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex items-center justify-center gap-4\",\r\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\r\n className\r\n )}\r\n >\r\n {payload.map((item) => {\r\n const key = `${nameKey || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n\r\n return (\r\n <div\r\n key={item.value}\r\n className={cn(\r\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\r\n )}\r\n >\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\r\n style={{\r\n backgroundColor: item.color,\r\n }}\r\n />\r\n )}\r\n {itemConfig?.label}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n )\r\n }\r\n)\r\nChartLegendContent.displayName = \"ChartLegend\"\r\n\r\n// Helper to extract item config from a payload.\r\nfunction getPayloadConfigFromPayload(\r\n config: ChartConfig,\r\n payload: unknown,\r\n key: string\r\n) {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined\r\n }\r\n\r\n const payloadPayload =\r\n \"payload\" in payload &&\r\n typeof payload.payload === \"object\" &&\r\n payload.payload !== null\r\n ? payload.payload\r\n : undefined\r\n\r\n let configLabelKey: string = key\r\n\r\n if (\r\n key in payload &&\r\n typeof payload[key as keyof typeof payload] === \"string\"\r\n ) {\r\n configLabelKey = payload[key as keyof typeof payload] as string\r\n } else if (\r\n payloadPayload &&\r\n key in payloadPayload &&\r\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\r\n ) {\r\n configLabelKey = payloadPayload[\r\n key as keyof typeof payloadPayload\r\n ] as string\r\n }\r\n\r\n return configLabelKey in config\r\n ? config[configLabelKey]\r\n : config[key as keyof typeof config]\r\n}\r\n\r\nexport {\r\n ChartContainer, ChartLegend,\r\n ChartLegendContent,\r\n ChartStyle, ChartTooltip,\r\n ChartTooltipContent\r\n}\r\n\r\n","import * as CheckboxPrimitive from '@radix-ui/react-checkbox';\r\nimport { Check } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>>(\r\n\t({ className, value, ...props }, ref) => (\r\n\t\t<CheckboxPrimitive.Root\r\n\t\t\tref={ref}\r\n\t\t\tchecked={!!value}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=checked]:text-primary-foreground',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\r\n\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t</CheckboxPrimitive.Indicator>\r\n\t\t</CheckboxPrimitive.Root>\r\n\t),\r\n);\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\r\n\r\nexport { Checkbox };\r\n\r\n","import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\r\n\r\nconst Collapsible = CollapsiblePrimitive.Root\r\n\r\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\r\n\r\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\r\n\r\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\r\n","'use client';\r\n\r\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Overlay>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n\t<DialogPrimitive.Overlay\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\ninterface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\r\n\thideClose?: boolean;\r\n}\r\n\r\nconst DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, DialogContentProps>(\r\n\t({ className, children, hideClose, ...props }, ref) => (\r\n\t\t<DialogPortal>\r\n\t\t\t<DialogOverlay />\r\n\t\t\t<DialogPrimitive.Content\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t\t{!hideClose && (\r\n\t\t\t\t\t<DialogPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'>\r\n\t\t\t\t\t\t<X className='h-4 w-4' />\r\n\t\t\t\t\t\t<span className='sr-only'>Close</span>\r\n\t\t\t\t\t</DialogPrimitive.Close>\r\n\t\t\t\t)}\r\n\t\t\t</DialogPrimitive.Content>\r\n\t\t</DialogPortal>\r\n\t),\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\r\n);\r\nDialogHeader.displayName = 'DialogHeader';\r\n\r\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\r\n);\r\nDialogFooter.displayName = 'DialogFooter';\r\n\r\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<DialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\r\n\t),\r\n);\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { Search } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { Dialog, DialogContent } from \"./dialog\"\r\n\r\nconst Command = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nCommand.displayName = CommandPrimitive.displayName\r\n\r\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\r\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nconst CommandInput = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Input>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\r\n>(({ className, ...props }, ref) => (\r\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\r\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n))\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName\r\n\r\nconst CommandList = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.List\r\n ref={ref}\r\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName\r\n\r\nconst CommandEmpty = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Empty>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\r\n>((props, ref) => (\r\n <CommandPrimitive.Empty\r\n ref={ref}\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n))\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\r\n\r\nconst CommandGroup = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Group>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 h-px bg-border\", className)}\r\n {...props}\r\n />\r\n))\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName\r\n\r\nconst CommandShortcut = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\r\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\nCommandShortcut.displayName = \"CommandShortcut\"\r\n\r\nexport {\r\n Command,\r\n CommandDialog, CommandEmpty,\r\n CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\r\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst ContextMenu = ContextMenuPrimitive.Root\r\n\r\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\r\n\r\nconst ContextMenuGroup = ContextMenuPrimitive.Group\r\n\r\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\r\n\r\nconst ContextMenuSub = ContextMenuPrimitive.Sub\r\n\r\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\r\n\r\nconst ContextMenuSubTrigger = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, children, ...props }, ref) => (\r\n <ContextMenuPrimitive.SubTrigger\r\n ref={ref}\r\n className={cn(\r\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRight className=\"ml-auto h-4 w-4\" />\r\n </ContextMenuPrimitive.SubTrigger>\r\n))\r\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\r\n\r\nconst ContextMenuSubContent = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.SubContent\r\n ref={ref}\r\n className={cn(\r\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\r\n\r\nconst ContextMenuContent = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.Portal>\r\n <ContextMenuPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </ContextMenuPrimitive.Portal>\r\n))\r\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\r\n\r\nconst ContextMenuItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, ...props }, ref) => (\r\n <ContextMenuPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\r\n\r\nconst ContextMenuCheckboxItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, ...props }, ref) => (\r\n <ContextMenuPrimitive.CheckboxItem\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Check className=\"h-4 w-4\" />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.CheckboxItem>\r\n))\r\nContextMenuCheckboxItem.displayName =\r\n ContextMenuPrimitive.CheckboxItem.displayName\r\n\r\nconst ContextMenuRadioItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\r\n>(({ className, children, ...props }, ref) => (\r\n <ContextMenuPrimitive.RadioItem\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Circle className=\"h-2 w-2 fill-current\" />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.RadioItem>\r\n))\r\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\r\n\r\nconst ContextMenuLabel = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, ...props }, ref) => (\r\n <ContextMenuPrimitive.Label\r\n ref={ref}\r\n className={cn(\r\n \"px-2 py-1.5 text-sm font-semibold text-foreground\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\r\n\r\nconst ContextMenuSeparator = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\r\n {...props}\r\n />\r\n))\r\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\r\n\r\nconst ContextMenuShortcut = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\r\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\r\n\r\nexport {\r\n ContextMenu,\r\n ContextMenuTrigger,\r\n ContextMenuContent,\r\n ContextMenuItem,\r\n ContextMenuCheckboxItem,\r\n ContextMenuRadioItem,\r\n ContextMenuLabel,\r\n ContextMenuSeparator,\r\n ContextMenuShortcut,\r\n ContextMenuGroup,\r\n ContextMenuPortal,\r\n ContextMenuSub,\r\n ContextMenuSubContent,\r\n ContextMenuSubTrigger,\r\n ContextMenuRadioGroup,\r\n}\r\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Popover = PopoverPrimitive.Root;\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger;\r\n\r\nconst PopoverContent = React.forwardRef<\r\n\tReact.ElementRef<typeof PopoverPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n\t<PopoverPrimitive.Portal>\r\n\t\t<PopoverPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\talign={align}\r\n\t\t\tsideOffset={sideOffset}\r\n\t\t\tonWheel={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t}}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t</PopoverPrimitive.Portal>\r\n));\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\r\n\r\nexport { Popover, PopoverContent, PopoverTrigger };\r\n\r\n","import { addDays, format } from \"date-fns\"\r\nimport { CalendarIcon } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { DateRange } from \"react-day-picker\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Button } from \"./button\"\r\nimport { Calendar } from \"./calendar\"\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"./popover\"\r\n\r\nexport function DatePickerWithRange({\r\n className,\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n const [date, setDate] = React.useState<DateRange | undefined>({\r\n from: new Date(2022, 0, 20),\r\n to: addDays(new Date(2022, 0, 20), 20),\r\n })\r\n\r\n return (\r\n <div className={cn(\"grid gap-2\", className)}>\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id=\"date\"\r\n variant={\"outline\"}\r\n className={cn(\r\n \"w-[300px] justify-start text-left font-normal\",\r\n !date && \"text-muted-foreground\"\r\n )}\r\n >\r\n <CalendarIcon />\r\n {date?.from ? (\r\n date.to ? (\r\n <>\r\n {format(date.from, \"LLL dd, y\")} -{\" \"}\r\n {format(date.to, \"LLL dd, y\")}\r\n </>\r\n ) : (\r\n format(date.from, \"LLL dd, y\")\r\n )\r\n ) : (\r\n <span>Pick a date</span>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar\r\n initialFocus\r\n mode=\"range\"\r\n defaultMonth={date?.from}\r\n selected={date}\r\n onSelect={setDate}\r\n numberOfMonths={2}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n </div>\r\n )\r\n}\r\n","import * as React from \"react\"\r\nimport { Drawer as DrawerPrimitive } from \"vaul\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Drawer = ({\r\n shouldScaleBackground = true,\r\n ...props\r\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\r\n <DrawerPrimitive.Root\r\n shouldScaleBackground={shouldScaleBackground}\r\n {...props}\r\n />\r\n)\r\nDrawer.displayName = \"Drawer\"\r\n\r\nconst DrawerTrigger = DrawerPrimitive.Trigger\r\n\r\nconst DrawerPortal = DrawerPrimitive.Portal\r\n\r\nconst DrawerClose = DrawerPrimitive.Close\r\n\r\nconst DrawerOverlay = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\r\n {...props}\r\n />\r\n))\r\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\r\n\r\nconst DrawerContent = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n <DrawerPortal>\r\n <DrawerOverlay />\r\n <DrawerPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\r\n {children}\r\n </DrawerPrimitive.Content>\r\n </DrawerPortal>\r\n))\r\nDrawerContent.displayName = \"DrawerContent\"\r\n\r\nconst DrawerHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\r\n {...props}\r\n />\r\n)\r\nDrawerHeader.displayName = \"DrawerHeader\"\r\n\r\nconst DrawerFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\r\n {...props}\r\n />\r\n)\r\nDrawerFooter.displayName = \"DrawerFooter\"\r\n\r\nconst DrawerTitle = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\r\n\r\nconst DrawerDescription = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\r\n\r\nexport {\r\n Drawer,\r\n DrawerPortal,\r\n DrawerOverlay,\r\n DrawerTrigger,\r\n DrawerClose,\r\n DrawerContent,\r\n DrawerHeader,\r\n DrawerFooter,\r\n DrawerTitle,\r\n DrawerDescription,\r\n}\r\n","import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { Check, ChevronRight, Circle } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst DropdownMenu = DropdownMenuPrimitive.Root;\r\n\r\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\r\n\r\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\r\n\r\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\r\n\r\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\r\n\r\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\r\n\r\nconst DropdownMenuSubTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, children, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.SubTrigger\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\r\n\t\t\tinset && 'pl-8',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{children}\r\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\r\n\t</DropdownMenuPrimitive.SubTrigger>\r\n));\r\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\r\n\r\nconst DropdownMenuSubContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.SubContent\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\r\n\r\nconst DropdownMenuContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Portal>\r\n\t\t<DropdownMenuPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tsideOffset={sideOffset}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t</DropdownMenuPrimitive.Portal>\r\n));\r\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\r\n\r\nconst DropdownMenuItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Item\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tinset && 'pl-8',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\r\n\r\nconst DropdownMenuCheckboxItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.CheckboxItem\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\tchecked={checked}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t</span>\r\n\t\t{children}\r\n\t</DropdownMenuPrimitive.CheckboxItem>\r\n));\r\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\r\n\r\nconst DropdownMenuRadioItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.RadioItem\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\r\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t</span>\r\n\t\t{children}\r\n\t</DropdownMenuPrimitive.RadioItem>\r\n));\r\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\r\n\r\nconst DropdownMenuLabel = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)} {...props} />\r\n));\r\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\r\n\r\nconst DropdownMenuSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\r\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\r\n\r\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n\treturn <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\r\n};\r\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\r\n\r\nexport {\r\n\tDropdownMenu,\r\n\tDropdownMenuCheckboxItem,\r\n\tDropdownMenuContent,\r\n\tDropdownMenuGroup,\r\n\tDropdownMenuItem,\r\n\tDropdownMenuLabel,\r\n\tDropdownMenuPortal,\r\n\tDropdownMenuRadioGroup,\r\n\tDropdownMenuRadioItem,\r\n\tDropdownMenuSeparator,\r\n\tDropdownMenuShortcut,\r\n\tDropdownMenuSub,\r\n\tDropdownMenuSubContent,\r\n\tDropdownMenuSubTrigger,\r\n\tDropdownMenuTrigger\r\n};\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst labelVariants = cva('text-sm font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70');\r\n\r\nconst Label = React.forwardRef<\r\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\r\n>(({ className, ...props }, ref) => <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />);\r\nLabel.displayName = LabelPrimitive.Root.displayName;\r\n\r\nexport { Label };\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport { Slot } from '@radix-ui/react-slot';\r\nimport * as React from 'react';\r\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\r\nimport { cn } from '../../lib/utils';\r\nimport { Label } from './label';\r\n\r\nconst Form = FormProvider;\r\n\r\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\r\n\tname: TName;\r\n};\r\n\r\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\r\n\r\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\r\n\t...props\r\n}: ControllerProps<TFieldValues, TName>) => {\r\n\treturn (\r\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\r\n\t\t\t<Controller {...props} />\r\n\t\t</FormFieldContext.Provider>\r\n\t);\r\n};\r\n\r\nconst useFormField = () => {\r\n\tconst fieldContext = React.useContext(FormFieldContext);\r\n\tconst itemContext = React.useContext(FormItemContext);\r\n\tconst { getFieldState, formState } = useFormContext();\r\n\r\n\tconst fieldState = getFieldState(fieldContext.name, formState);\r\n\r\n\tif (!fieldContext) {\r\n\t\tthrow new Error('useFormField should be used within <FormField>');\r\n\t}\r\n\r\n\tconst { id } = itemContext;\r\n\r\n\treturn {\r\n\t\tid,\r\n\t\tname: fieldContext.name,\r\n\t\tformItemId: `${id}-form-item`,\r\n\t\tformDescriptionId: `${id}-form-item-description`,\r\n\t\tformMessageId: `${id}-form-item-message`,\r\n\t\t...fieldState,\r\n\t};\r\n};\r\n\r\ntype FormItemContextValue = {\r\n\tid: string;\r\n};\r\n\r\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\r\n\r\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\r\n\tconst id = React.useId();\r\n\r\n\treturn (\r\n\t\t<FormItemContext.Provider value={{ id }}>\r\n\t\t\t<div ref={ref} className={cn('', className)} {...props} />\r\n\t\t</FormItemContext.Provider>\r\n\t);\r\n});\r\nFormItem.displayName = 'FormItem';\r\n\r\nconst FormLabel = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { error, formItemId } = useFormField();\r\n\r\n\t\treturn <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\r\n\t},\r\n);\r\nFormLabel.displayName = 'FormLabel';\r\n\r\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(({ ...props }, ref) => {\r\n\tconst { error, formItemId, formDescriptionId, formMessageId } = useFormField();\r\n\r\n\treturn (\r\n\t\t<Slot\r\n\t\t\tref={ref}\r\n\t\t\tid={formItemId}\r\n\t\t\taria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\r\n\t\t\taria-invalid={!!error}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nFormControl.displayName = 'FormControl';\r\n\r\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => {\r\n\tconst { formDescriptionId } = useFormField();\r\n\r\n\treturn <p ref={ref} id={formDescriptionId} className={cn('text-sm text-muted-foreground', className)} {...props} />;\r\n});\r\nFormDescription.displayName = 'FormDescription';\r\n\r\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, children, ...props }, ref) => {\r\n\tconst { error, formMessageId } = useFormField();\r\n\tconst body = error ? String(error?.message) : children;\r\n\r\n\tif (!body) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<p ref={ref} id={formMessageId} className={cn('text-sm font-medium text-destructive', className)} {...props}>\r\n\t\t\t{body}\r\n\t\t</p>\r\n\t);\r\n});\r\nFormMessage.displayName = 'FormMessage';\r\n\r\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };\r\n\r\n","import * as HoverCardPrimitive from '@radix-ui/react-hover-card';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst HoverCard = HoverCardPrimitive.Root;\r\n\r\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\r\n\r\nconst HoverCardContent = React.forwardRef<\r\n\tReact.ElementRef<typeof HoverCardPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n\t<HoverCardPrimitive.Content\r\n\t\tref={ref}\r\n\t\talign={align}\r\n\t\tsideOffset={sideOffset}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 w-auto mr-20 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\r\n\r\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\r\n\r\n","import { Modify } from '@react-input/mask';\r\n\r\nexport const modifyPhone: Modify = ({ value, data, selectionStart, selectionEnd }) => {\r\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\r\n\tconst len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\treturn maskPhone(_value);\r\n};\r\n\r\nexport function maskPhone(value: string | null) {\r\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\tif (len > 10) return { mask: '(__) _ ____-____', replacement: { _: /\\d/ } };\r\n\r\n\treturn { mask: '(__) ____-_____', replacement: { _: /\\d/ } };\r\n}\r\n\r\nexport const modifyCpfCnpj: Modify = ({ value, data, selectionStart, selectionEnd }) => {\r\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\r\n\tconst len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\treturn maskCpfCnpj(_value);\r\n};\r\n\r\nexport function maskCpfCnpj(value: string | null) {\r\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\tif (len > 11) return { mask: '__.___.___/____-__', replacement: { _: /\\d/ } };\r\n\r\n\treturn { mask: '___.___.___-___', replacement: { _: /\\d/ } };\r\n}\r\n\r\nexport const removeMaskNumber = (value: string): string => {\r\n\treturn value?.replace(/\\D/g, '');\r\n};\r\n","import { maskCpfCnpj, maskPhone } from \"@/components/ui/masks\";\r\nimport { format } from '@react-input/mask';\r\n\r\n// PHONE\r\nexport function formatPhone(telefone: string, removerCountryCode = true) {\r\n\tif (!telefone) return '';\r\n\r\n\tlet numberPhone = telefone.replace(/\\D/g, '');\r\n\r\n\t// Remover código do país apenas se ele começar com '55'\r\n\tif (removerCountryCode && numberPhone.startsWith('55')) {\r\n\t\tnumberPhone = numberPhone.substring(2);\r\n\t}\r\n\r\n\treturn format(numberPhone, maskPhone(numberPhone));\r\n}\r\n\r\n// CPF/CNPJ\r\nexport function formatCpfCnpj(cpfCnpj?: string): string {\r\n\tif (!cpfCnpj) return '';\r\n\r\n\tconst numberCpfCnpj = cpfCnpj.replace(/\\D/g, '');\r\n\r\n\treturn format(numberCpfCnpj, maskCpfCnpj(numberCpfCnpj));\r\n}\r\n\r\n// DATE\r\nfunction getDay(date: Date) {\r\n\treturn date.getDate().toString().padStart(2, '0');\r\n}\r\n\r\nfunction getMonth(date: Date) {\r\n\treturn (date.getMonth() + 1).toString().padStart(2, '0');\r\n}\r\n\r\nfunction getYear(date: Date) {\r\n\treturn date.getFullYear().toString();\r\n}\r\n\r\nexport const formatDate = (date: string | Date | undefined, separator: string = '/') => {\r\n\tif (!date) return '';\r\n\r\n\tconst d = new Date(date);\r\n\r\n\treturn d.toLocaleDateString('pt-BR');\r\n};\r\n\r\nexport const formatDateTime = (date: Date | undefined, returnSeconds: boolean = false): string => {\r\n\tif (!date) return '';\r\n\r\n\tconst hours = date.getHours().toString().padStart(2, '0');\r\n\tconst minutes = date.getMinutes().toString().padStart(2, '0');\r\n\tconst seconds = returnSeconds ? `:${date.getSeconds().toString().padStart(2, '0')}` : '';\r\n\r\n\treturn `${formatDate(date)} ${hours}:${minutes}${seconds}`;\r\n};\r\n\r\nexport function formatDateCalendar(date: Date | undefined): string {\r\n\tif (!date) return '';\r\n\r\n\tconst day = getDay(date);\r\n\tconst month = getMonth(date);\r\n\tconst year = getYear(date);\r\n\r\n\treturn `${year}-${month}-${day}`;\r\n}\r\n\r\nexport function stringDateToDate(date: string | undefined, separator: string = '/'): Date | undefined {\r\n\tif (!date) return undefined;\r\n\r\n\tconst [day, month, year] = date.split(separator).map(Number);\r\n\r\n\t// new Date(ano, mês-1, dia) interpreta a data no fuso horário local\r\n\treturn new Date(year, month - 1, day);\r\n}\r\n\r\n// NUMBER\r\nexport const roundNumber = (value: number, fractionDigits: number = 2): number => {\r\n\treturn Number(value.toFixed(fractionDigits));\r\n};\r\n\r\nexport const stringToNumber = (value: string | undefined): number => {\r\n\tif (!value) return 0;\r\n\r\n\tconst numericValue = value\r\n\t\t.replace(/[^\\d,-]/g, '')\r\n\t\t.replace(/\\./g, '')\r\n\t\t.replace(',', '.');\r\n\treturn Number.parseFloat(numericValue);\r\n};\r\n\r\nexport const convertMbToGb = (value: number) => {\r\n\treturn value > 0 ? roundNumber(value / 1024) : 0;\r\n};\r\n\r\nexport const convertGbToMb = (value: number) => {\r\n\treturn value > 0 ? roundNumber(value * 1024) : 0;\r\n};\r\n\r\nexport const convertSecondsToMinutes = (value: number): number => {\r\n\treturn value > 0 ? roundNumber(value / 60) : 0;\r\n};\r\n\r\nexport const convertBytesToMB = (bytes: number): number => {\r\n\tif (!bytes || Number.isNaN(bytes)) return 0;\r\n\treturn roundNumber(bytes / (1024 * 1024));\r\n};\r\n\r\nexport const convertMonthToDays = (months: number): number => {\r\n\treturn months > 0 ? months * 30 : 0;\r\n};\r\n\r\nexport const convertDaysToMonth = (days: number): number => {\r\n\treturn days > 0 ? roundNumber(days / 30) : 0;\r\n};\r\n\r\n// NUMBER\r\nexport const formatNumber = (value: number) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'decimal',\r\n\t\tminimumFractionDigits: 0,\r\n\t\tmaximumFractionDigits: 0,\r\n\t});\r\n};\r\n\r\n// DECIMAL\r\nexport const formatDecimal = (value: number, decimalPlaces: number = 2) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'decimal',\r\n\t\tminimumFractionDigits: decimalPlaces,\r\n\t\tmaximumFractionDigits: decimalPlaces,\r\n\t});\r\n};\r\n\r\n// PERCENT\r\nexport const formatPercent = (value: number, decimalPlaces: number = 2) => {\r\n\treturn `% ${formatDecimal(value, decimalPlaces)}`;\r\n};\r\n\r\n// CURRENCY\r\nexport const formatCurrency = (value: number, decimalPlaces: number = 2) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'currency',\r\n\t\tcurrency: 'BRL',\r\n\t\tminimumFractionDigits: decimalPlaces,\r\n\t\tmaximumFractionDigits: decimalPlaces,\r\n\t});\r\n};\r\n\r\nexport const isInvalidCurrencyValue = (rawValue: string | undefined): boolean => {\r\n\tif (!rawValue || rawValue.trim() === '') return true;\r\n\r\n\tconst numericValue = stringToNumber(rawValue);\r\n\r\n\treturn Number.isNaN(numericValue) || numericValue <= 0;\r\n};\r\n\r\n// OTHERS\r\nexport function formatMsisdn(value: string = ''): string {\r\n\tconst msisdn = value.replace(/\\D/g, '');\r\n\treturn `(${msisdn.slice(2, 4)}) ${msisdn.slice(4, 9)}-${msisdn.slice(9)}`;\r\n}\r\n\r\nexport function formatCEP(cep?: string) {\r\n\tif (!cep) return '';\r\n\r\n\treturn cep\r\n\t\t.replace(/\\D/g, '')\r\n\t\t.replace(/(\\d{5})(\\d)/, '$1-$2')\r\n\t\t.replace(/(-\\d{3})\\d+?$/, '$1');\r\n}\r\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"menos de um segundo\",\n other: \"menos de {{count}} segundos\",\n },\n\n xSeconds: {\n one: \"1 segundo\",\n other: \"{{count}} segundos\",\n },\n\n halfAMinute: \"meio minuto\",\n\n lessThanXMinutes: {\n one: \"menos de um minuto\",\n other: \"menos de {{count}} minutos\",\n },\n\n xMinutes: {\n one: \"1 minuto\",\n other: \"{{count}} minutos\",\n },\n\n aboutXHours: {\n one: \"cerca de 1 hora\",\n other: \"cerca de {{count}} horas\",\n },\n\n xHours: {\n one: \"1 hora\",\n other: \"{{count}} horas\",\n },\n\n xDays: {\n one: \"1 dia\",\n other: \"{{count}} dias\",\n },\n\n aboutXWeeks: {\n one: \"cerca de 1 semana\",\n other: \"cerca de {{count}} semanas\",\n },\n\n xWeeks: {\n one: \"1 semana\",\n other: \"{{count}} semanas\",\n },\n\n aboutXMonths: {\n one: \"cerca de 1 mês\",\n other: \"cerca de {{count}} meses\",\n },\n\n xMonths: {\n one: \"1 mês\",\n other: \"{{count}} meses\",\n },\n\n aboutXYears: {\n one: \"cerca de 1 ano\",\n other: \"cerca de {{count}} anos\",\n },\n\n xYears: {\n one: \"1 ano\",\n other: \"{{count}} anos\",\n },\n\n overXYears: {\n one: \"mais de 1 ano\",\n other: \"mais de {{count}} anos\",\n },\n\n almostXYears: {\n one: \"quase 1 ano\",\n other: \"quase {{count}} anos\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"em \" + result;\n } else {\n return \"há \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d MMM y\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: (date) => {\n const weekday = date.getDay();\n const last = weekday === 0 || weekday === 6 ? \"último\" : \"última\";\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"AC\", \"DC\"],\n abbreviated: [\"AC\", \"DC\"],\n wide: [\"antes de cristo\", \"depois de cristo\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"j\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n abbreviated: [\n \"jan\",\n \"fev\",\n \"mar\",\n \"abr\",\n \"mai\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"set\",\n \"out\",\n \"nov\",\n \"dez\",\n ],\n\n wide: [\n \"janeiro\",\n \"fevereiro\",\n \"março\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"],\n short: [\"dom\", \"seg\", \"ter\", \"qua\", \"qui\", \"sex\", \"sab\"],\n abbreviated: [\n \"domingo\",\n \"segunda\",\n \"terça\",\n \"quarta\",\n \"quinta\",\n \"sexta\",\n \"sábado\",\n ],\n\n wide: [\n \"domingo\",\n \"segunda-feira\",\n \"terça-feira\",\n \"quarta-feira\",\n \"quinta-feira\",\n \"sexta-feira\",\n \"sábado\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n\n if (options?.unit === \"week\") {\n return number + \"ª\";\n }\n return number + \"º\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|depois de cristo)/i,\n};\nconst parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^antes de cristo/i, /^depois de cristo/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmajsond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^fev/i,\n /^mar/i,\n /^abr/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^set/i,\n /^out/i,\n /^nov/i,\n /^dez/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n short: /^(dom|[23456]ª?|s[aá]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i,\n};\nconst parseDayPatterns = {\n short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn|^meia[-\\s]noite/i,\n noon: /^md|^meio[-\\s]dia/i,\n morning: /manhã/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noite/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./pt-BR/_lib/formatDistance.js\";\nimport { formatLong } from \"./pt-BR/_lib/formatLong.js\";\nimport { formatRelative } from \"./pt-BR/_lib/formatRelative.js\";\nimport { localize } from \"./pt-BR/_lib/localize.js\";\nimport { match } from \"./pt-BR/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe](https://github.com/duailibe)\n * @author Yago Carballo [@yagocarballo](https://github.com/YagoCarballo)\n */\nexport const ptBR = {\n code: \"pt-BR\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ptBR;\n","import * as SelectPrimitive from '@radix-ui/react-select';\r\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Select = SelectPrimitive.Root;\r\n\r\nconst SelectGroup = SelectPrimitive.Group;\r\n\r\nconst SelectValue = SelectPrimitive.Value;\r\n\r\nconst SelectTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Trigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<SelectPrimitive.Trigger\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{children}\r\n\t\t<SelectPrimitive.Icon asChild>\r\n\t\t\t<ChevronDown className='h-4 w-4 opacity-50' />\r\n\t\t</SelectPrimitive.Icon>\r\n\t</SelectPrimitive.Trigger>\r\n));\r\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\r\n\r\nconst SelectScrollUpButton = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\r\n>(({ className, ...props }, ref) => (\r\n\t<SelectPrimitive.ScrollUpButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\r\n\t\t<ChevronUp className='h-4 w-4' />\r\n\t</SelectPrimitive.ScrollUpButton>\r\n));\r\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\r\n\r\nconst SelectScrollDownButton = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\r\n>(({ className, ...props }, ref) => (\r\n\t<SelectPrimitive.ScrollDownButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\r\n\t\t<ChevronDown className='h-4 w-4' />\r\n\t</SelectPrimitive.ScrollDownButton>\r\n));\r\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\r\n\r\nconst SelectContent = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\r\n>(({ className, children, position = 'popper', ...props }, ref) => (\r\n\t<SelectPrimitive.Portal>\r\n\t\t<SelectPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\r\n\t\t\t\tposition === 'popper' &&\r\n\t\t\t\t\t'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tposition={position}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<SelectScrollUpButton />\r\n\t\t\t<SelectPrimitive.Viewport\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'p-1',\r\n\t\t\t\t\tposition === 'popper' && 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</SelectPrimitive.Viewport>\r\n\t\t\t<SelectScrollDownButton />\r\n\t\t</SelectPrimitive.Content>\r\n\t</SelectPrimitive.Portal>\r\n));\r\nSelectContent.displayName = SelectPrimitive.Content.displayName;\r\n\r\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SelectPrimitive.Label ref={ref} className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)} {...props} />\r\n\t),\r\n);\r\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\r\n\r\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\r\n\t({ className, children, ...props }, ref) => (\r\n\t\t<SelectPrimitive.Item\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-3 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\r\n\r\n\t\t\t<span className='absolute right-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t\t<SelectPrimitive.ItemIndicator>\r\n\t\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t\t</SelectPrimitive.ItemIndicator>\r\n\t\t\t</span>\r\n\t\t</SelectPrimitive.Item>\r\n\t),\r\n);\r\nSelectItem.displayName = SelectPrimitive.Item.displayName;\r\n\r\nconst SelectSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\r\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\r\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\r\n\r\nexport {\r\n\tSelect,\r\n\tSelectContent,\r\n\tSelectGroup,\r\n\tSelectItem,\r\n\tSelectLabel,\r\n\tSelectScrollDownButton,\r\n\tSelectScrollUpButton,\r\n\tSelectSeparator,\r\n\tSelectTrigger,\r\n\tSelectValue\r\n};\r\n\r\n","import { getMonth, getYear, setMonth, setYear } from 'date-fns';\r\nimport { ptBR } from 'date-fns/locale';\r\nimport { Calendar as CalendarIcon } from 'lucide-react';\r\nimport React, { useState } from 'react';\r\nimport { DayPicker } from 'react-day-picker';\r\nimport { cn } from '../../../lib/utils';\r\nimport { Calendar as CalendarComponent } from '../calendar';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover';\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select';\r\n\r\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\r\n\r\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tonDateSelected: (selectedDateProps: Date | null) => void;\r\n\tselectedDateProps?: Date | null;\r\n\tstartYear?: number;\r\n\tendYear?: number;\r\n}\r\n\r\nconst DatePicker = React.forwardRef<HTMLDivElement, CalendarFormProps>(\r\n\t({ className, onDateSelected, selectedDateProps, startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, ...props }, ref) => {\r\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\r\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = useState(false);\r\n\t\tconst months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\r\n\r\n\t\tconst years = Array.from({ length: endYear - startYear + 1 }, (_, i) => startYear + i);\r\n\r\n\t\tconst handleMonthChange = (month: string) => {\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst newDate = setMonth(selectedDate, months.indexOf(month));\r\n\t\t\t\tsetSelectedDate(newDate);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst handleYearChange = (year: string) => {\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst newDate = setYear(selectedDate, parseInt(year, 10));\r\n\t\t\t\tsetSelectedDate(newDate);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst handleDateChange = (selectedDate: Date | undefined) => {\r\n\t\t\tconst newDate = selectedDate || null;\r\n\t\t\tsetSelectedDate(newDate);\r\n\t\t\tsetIsPopoverOpen(false);\r\n\t\t\tonDateSelected(newDate);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<div className={cn('gap-2', className)} ref={ref} {...props}>\r\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\r\n\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' onClick={() => setIsPopoverOpen(true)} />\r\n\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t<PopoverContent className='w-auto p-0 flex flex-col justify-center' align='start'>\r\n\t\t\t\t\t\t<div className='flex justify-between pt-5 px-5'>\r\n\t\t\t\t\t\t\t<Select onValueChange={handleMonthChange} value={months[getMonth(selectedDate || new Date())]}>\r\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\r\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Month' />\r\n\t\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t\t{months.map((month) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={month} value={month}>\r\n\t\t\t\t\t\t\t\t\t\t\t{month}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t\t\t<Select onValueChange={handleYearChange} value={getYear(selectedDate || new Date()).toString()}>\r\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\r\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Year' />\r\n\t\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t\t{years.map((year) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={year} value={year.toString()}>\r\n\t\t\t\t\t\t\t\t\t\t\t{year}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tmode='single'\r\n\t\t\t\t\t\t\tlocale={ptBR}\r\n\t\t\t\t\t\t\tonSelect={handleDateChange}\r\n\t\t\t\t\t\t\tclassName='bg-white text-black'\r\n\t\t\t\t\t\t\tmonth={selectedDate || undefined}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t</Popover>\r\n\t\t\t</div>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nexport { DatePicker };\r\n\r\n","import InputMask from '@mona-health/react-input-mask';\r\nimport * as React from 'react';\r\nimport { useEffect, useState } from 'react';\r\nimport { formatDecimal } from '../../lib/help/format';\r\nimport { cn } from '../../lib/utils';\r\nimport { DatePicker } from './custom/date-picker';\r\n\r\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\r\n\tmask?: string;\r\n\tmaskPlaceholder?: string | null;\r\n\tmaxLength?: number;\r\n\tplaceholder?: string;\r\n\tlabel?: string;\r\n\tdisabled?: boolean;\r\n}\r\n\r\nexport interface InputDecimalProps extends InputProps {\r\n\tsymbol?: string;\r\n}\r\n\r\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\r\n\tif (className?.includes('border-none')) {\r\n\t\treturn '';\r\n\t}\r\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\r\n}\r\n\r\nconst InputFile = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype='file'\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst InputUF = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t\tonChange={(e) => {\r\n\t\t\t\talert(e.target.value);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst InputText = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tvalue={value || ''}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst MaskInput = React.forwardRef<HTMLInputElement, InputProps>(\r\n\t({ className, type, mask, maskPlaceholder, value, maxLength, disabled, placeholder, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={maskPlaceholder}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nconst MaskInputDate = React.forwardRef<HTMLInputElement, InputProps>(\r\n\t({ className, type, mask, maxLength, disabled, placeholder, onChange, value, ...props }, ref) => {\r\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\r\n\t\tconst handleDayPickerSelect = (selectedDate: Date | null) => {\r\n\t\t\tsetSelectedDate(selectedDate);\r\n\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst formattedDate = selectedDate.toLocaleDateString('pt-BR');\r\n\t\t\t\tif (onChange) {\r\n\t\t\t\t\tonChange({ target: { value: formattedDate } } as React.ChangeEvent<HTMLInputElement>);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tuseEffect(() => {\r\n\t\t\tif (value) {\r\n\t\t\t\tconst parsedDate = new Date(Array.isArray(value) ? value[0] : value);\r\n\t\t\t\tif (!Number.isNaN(parsedDate.getTime())) {\r\n\t\t\t\t\tsetSelectedDate(parsedDate);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, [value]);\r\n\r\n\t\treturn (\r\n\t\t\t<div className='relative w-full'>\r\n\t\t\t\t<InputMask\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\tmask={'99/99/9999'}\r\n\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\ttype={type}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\tplaceholder={placeholder ?? 'DD/MM/AAAA'}\r\n\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background pl-9 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\t\tclassName,\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\r\n\t\t\t\t\t<DatePicker onDateSelected={handleDayPickerSelect} selectedDateProps={selectedDate} />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nconst MaskInputCpfCnpj = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tplaceholder={'000.000.000-00'}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nconst MaskInputFone = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tplaceholder='(00) 0 0000-0000'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nconst InputPassword = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst MaskInputDecimal = React.forwardRef<HTMLInputElement, InputDecimalProps>(({ className, value, onChange, disabled, symbol, ...props }, ref) => {\r\n\tconst handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\tconst numericValue = Number(event.target.value.replace(/\\D/g, '')) / 100;\r\n\t\tconst formattedValue = symbol ? `${symbol} ${formatDecimal(numericValue)}` : formatDecimal(numericValue);\r\n\r\n\t\tif (onChange) {\r\n\t\t\tonChange({ ...event, target: { ...event.target, value: formattedValue } });\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<InputMask\r\n\t\t\tref={ref}\r\n\t\t\tmask=''\r\n\t\t\tvalue={value || ''}\r\n\t\t\tonChange={handleChange}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tplaceholder={symbol ? `${symbol} 0,00` : '0,00'}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nexport { Input, InputFile, InputPassword, InputText, InputUF, MaskInput, MaskInputCpfCnpj, MaskInputDate, MaskInputDecimal, MaskInputFone };\r\n\r\n","import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\nimport { ButtonProps, buttonVariants } from './button';\r\n\r\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\r\n\t<nav role='navigation' aria-label='pagination' className={cn('mx-auto flex w-full justify-center', className)} {...props} />\r\n);\r\nPagination.displayName = 'Pagination';\r\n\r\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\r\n));\r\nPaginationContent.displayName = 'PaginationContent';\r\n\r\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} className={cn('', className)} {...props} />\r\n));\r\nPaginationItem.displayName = 'PaginationItem';\r\n\r\ntype PaginationLinkProps = {\r\n\tisActive?: boolean;\r\n\tdisabled?: boolean;\r\n} & Pick<ButtonProps, 'size'> &\r\n\tReact.ComponentProps<'a'>;\r\n\r\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\r\n\t<a\r\n\t\taria-current={isActive ? 'page' : undefined}\r\n\t\tclassName={cn(\r\n\t\t\tbuttonVariants({\r\n\t\t\t\tvariant: isActive ? 'outline' : 'ghost',\r\n\t\t\t\tsize,\r\n\t\t\t}),\r\n\t\t\tisActive ? '' : 'cursor-pointer',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n);\r\nPaginationLink.displayName = 'PaginationLink';\r\n\r\nconst PaginationPrevious = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\r\n\t<PaginationLink\r\n\t\taria-label='Go to previous page'\r\n\t\tsize='default'\r\n\t\tclassName={cn('gap-1 pl-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<ChevronLeft className='h-4 w-4' />\r\n\t\t<span>Anterior</span>\r\n\t</PaginationLink>\r\n);\r\nPaginationPrevious.displayName = 'PaginationPrevious';\r\n\r\nconst PaginationNext = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\r\n\t<PaginationLink\r\n\t\taria-label='Go to next page'\r\n\t\tsize='default'\r\n\t\tclassName={cn('gap-1 pr-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span>Próximo</span>\r\n\t\t<ChevronRight className='h-4 w-4' />\r\n\t</PaginationLink>\r\n);\r\nPaginationNext.displayName = 'PaginationNext';\r\n\r\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\r\n\t<span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\r\n\t\t<MoreHorizontal className='h-4 w-4' />\r\n\t\t<span className='sr-only'>More pages</span>\r\n\t</span>\r\n);\r\nPaginationEllipsis.displayName = 'PaginationEllipsis';\r\n\r\nexport { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };\r\n\r\n","import * as ProgressPrimitive from '@radix-ui/react-progress';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>>(\r\n\t({ className, value, ...props }, ref) => (\r\n\t\t<ProgressPrimitive.Root\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('relative h-4 w-full overflow-hidden rounded-full bg-background-secondary', className)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<ProgressPrimitive.Indicator\r\n\t\t\t\tclassName='h-full w-full flex-1 bg-background-primary transition-all'\r\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\r\n\t\t\t/>\r\n\t\t</ProgressPrimitive.Root>\r\n\t),\r\n);\r\nProgress.displayName = ProgressPrimitive.Root.displayName;\r\n\r\nexport { Progress };\r\n\r\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\r\nimport { Circle } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst RadioGroup = React.forwardRef<\r\n\tReact.ElementRef<typeof RadioGroupPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\r\n>(({ className, ...props }, ref) => {\r\n\treturn <RadioGroupPrimitive.Root className={cn('', className)} {...props} ref={ref} />;\r\n});\r\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\r\n\r\nconst RadioGroupItem = React.forwardRef<\r\n\tReact.ElementRef<typeof RadioGroupPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\r\n>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<RadioGroupPrimitive.Item\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<RadioGroupPrimitive.Indicator className='flex items-center justify-center'>\r\n\t\t\t\t<Circle className='h-2.5 w-2.5 fill-current text-current' />\r\n\t\t\t</RadioGroupPrimitive.Indicator>\r\n\t\t</RadioGroupPrimitive.Item>\r\n\t);\r\n});\r\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\r\n\r\nexport { RadioGroup, RadioGroupItem };\r\n\r\n","import * as React from \"react\"\r\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst ScrollArea = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\r\n>(({ className, children, ...props }, ref) => (\r\n <ScrollAreaPrimitive.Root\r\n ref={ref}\r\n className={cn(\"relative overflow-hidden\", className)}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\r\n {children}\r\n </ScrollAreaPrimitive.Viewport>\r\n <ScrollBar />\r\n <ScrollAreaPrimitive.Corner />\r\n </ScrollAreaPrimitive.Root>\r\n))\r\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\r\n\r\nconst ScrollBar = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\r\n <ScrollAreaPrimitive.ScrollAreaScrollbar\r\n ref={ref}\r\n orientation={orientation}\r\n className={cn(\r\n \"flex touch-none select-none transition-colors\",\r\n orientation === \"vertical\" &&\r\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\r\n orientation === \"horizontal\" &&\r\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\r\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n))\r\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\r\n\r\nexport { ScrollArea, ScrollBar }\r\n","import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","'use client';\r\n\r\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Sheet = SheetPrimitive.Root;\r\n\r\nconst SheetTrigger = SheetPrimitive.Trigger;\r\n\r\nconst SheetClose = SheetPrimitive.Close;\r\n\r\nconst SheetPortal = SheetPrimitive.Portal;\r\n\r\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SheetPrimitive.Overlay\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t\tref={ref}\r\n\t\t/>\r\n\t),\r\n);\r\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\r\n\r\nconst sheetVariants = cva(\r\n\t'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tside: {\r\n\t\t\t\ttop: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\r\n\t\t\t\tbottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\r\n\t\t\t\tleft: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\r\n\t\t\t\tright: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tside: 'right',\r\n\t\t},\r\n\t},\r\n);\r\n\r\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\r\n\r\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\r\n\t({ side = 'right', className, children, ...props }, ref) => (\r\n\t\t<SheetPortal>\r\n\t\t\t<SheetOverlay />\r\n\t\t\t<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t\t<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-background-secondary'>\r\n\t\t\t\t\t<X className='h-4 w-4' />\r\n\t\t\t\t\t<span className='sr-only'>Close</span>\r\n\t\t\t\t</SheetPrimitive.Close>\r\n\t\t\t</SheetPrimitive.Content>\r\n\t\t</SheetPortal>\r\n\t),\r\n);\r\nSheetContent.displayName = SheetPrimitive.Content.displayName;\r\n\r\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\r\n);\r\nSheetHeader.displayName = 'SheetHeader';\r\n\r\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\r\n);\r\nSheetFooter.displayName = 'SheetFooter';\r\n\r\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\r\n\t),\r\n);\r\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\r\n\r\nconst SheetDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof SheetPrimitive.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\r\n>(({ className, ...props }, ref) => <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\r\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\r\n\r\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\n\r\nfunction Skeleton({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n return (\r\n <div\r\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Skeleton }\r\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider;\r\n\r\nconst Tooltip = TooltipPrimitive.Root;\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger;\r\n\r\nconst TooltipContent = React.forwardRef<\r\n\tReact.ElementRef<typeof TooltipPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n\t<TooltipPrimitive.Content\r\n\t\tref={ref}\r\n\t\tsideOffset={sideOffset}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 overflow-hidden rounded-md bg-background-primary text-white px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{props.children}\r\n\t\t<TooltipPrimitive.Arrow className='z-50 fill-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' />\r\n\t</TooltipPrimitive.Content>\r\n));\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\r\n\r\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\r\n\r\n","import * as React from 'react';\r\n\r\nconst MOBILE_BREAKPOINT = 1350;\r\n\r\nexport function useIsMobile() {\r\n\tconst [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\r\n\t\tconst onChange = () => {\r\n\t\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n\t\t};\r\n\t\tmql.addEventListener('change', onChange);\r\n\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n\t\treturn () => mql.removeEventListener('change', onChange);\r\n\t}, []);\r\n\r\n\treturn !!isMobile;\r\n}\r\n","import { Button } from '@/components/ui/button';\r\nimport { Input } from '@/components/ui/input';\r\nimport { Separator } from '@/components/ui/separator';\r\nimport { Sheet, SheetContent } from '@/components/ui/sheet';\r\nimport { Skeleton } from '@/components/ui/skeleton';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\r\nimport { useIsMobile } from '@/hooks/use-mobile';\r\nimport { cn } from '@/lib/utils';\r\nimport { Slot } from '@radix-ui/react-slot';\r\nimport { VariantProps, cva } from 'class-variance-authority';\r\nimport { PanelLeft } from 'lucide-react';\r\nimport * as React from 'react';\r\n\r\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = '16rem';\r\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\r\nconst SIDEBAR_WIDTH_ICON = '3rem';\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\r\n\r\ntype SidebarContext = {\r\n\tstate: 'expanded' | 'collapsed';\r\n\topen: boolean;\r\n\tsetOpen: (open: boolean) => void;\r\n\topenMobile: boolean;\r\n\tsetOpenMobile: (open: boolean) => void;\r\n\tisMobile: boolean;\r\n\ttoggleSidebar: () => void;\r\n};\r\n\r\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\r\n\r\nfunction useSidebar() {\r\n\tconst context = React.useContext(SidebarContext);\r\n\tif (!context) {\r\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.');\r\n\t}\r\n\r\n\treturn context;\r\n}\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tdefaultOpen?: boolean;\r\n\t\topen?: boolean;\r\n\t\tonOpenChange?: (open: boolean) => void;\r\n\t}\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst [openMobile, setOpenMobile] = React.useState(false);\r\n\r\n\t// This is the internal state of the sidebar.\r\n\t// We use openProp and setOpenProp for control from outside the component.\r\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\r\n\tconst open = openProp ?? _open;\r\n\tconst setOpen = React.useCallback(\r\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\r\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value;\r\n\t\t\tif (setOpenProp) {\r\n\t\t\t\tsetOpenProp(openState);\r\n\t\t\t} else {\r\n\t\t\t\t_setOpen(openState);\r\n\t\t\t}\r\n\r\n\t\t\t// This sets the cookie to keep the sidebar state.\r\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n\t\t},\r\n\t\t[setOpenProp, open],\r\n\t);\r\n\r\n\t// Helper to toggle the sidebar.\r\n\tconst toggleSidebar = React.useCallback(() => {\r\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\r\n\t}, [isMobile, setOpen, setOpenMobile]);\r\n\r\n\t// Adds a keyboard shortcut to toggle the sidebar.\r\n\tReact.useEffect(() => {\r\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\r\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\ttoggleSidebar();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('keydown', handleKeyDown);\r\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown);\r\n\t}, [toggleSidebar]);\r\n\r\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n\t// This makes it easier to style the sidebar with Tailwind classes.\r\n\tconst state = open ? 'expanded' : 'collapsed';\r\n\r\n\tconst contextValue = React.useMemo<SidebarContext>(\r\n\t\t() => ({\r\n\t\t\tstate,\r\n\t\t\topen,\r\n\t\t\tsetOpen,\r\n\t\t\tisMobile,\r\n\t\t\topenMobile,\r\n\t\t\tsetOpenMobile,\r\n\t\t\ttoggleSidebar,\r\n\t\t}),\r\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\r\n\t);\r\n\r\n\treturn (\r\n\t\t<SidebarContext.Provider value={contextValue}>\r\n\t\t\t<TooltipProvider delayDuration={0}>\r\n\t\t\t\t<div\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\r\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\r\n\t\t\t\t\t\t\t...style,\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclassName={cn('group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar', className)}\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</TooltipProvider>\r\n\t\t</SidebarContext.Provider>\r\n\t);\r\n});\r\nSidebarProvider.displayName = 'SidebarProvider';\r\n\r\nconst Sidebar = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tside?: 'left' | 'right';\r\n\t\tvariant?: 'sidebar' | 'floating' | 'inset';\r\n\t\tcollapsible?: 'offcanvas' | 'icon' | 'none';\r\n\t}\r\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\r\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\r\n\r\n\tif (collapsible === 'none') {\r\n\t\treturn (\r\n\t\t\t<div className={cn('flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground', className)} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\tif (isMobile) {\r\n\t\treturn (\r\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n\t\t\t\t<SheetContent\r\n\t\t\t\t\tdata-sidebar='sidebar'\r\n\t\t\t\t\tdata-mobile='true'\r\n\t\t\t\t\tclassName='w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden'\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tside={side}\r\n\t\t\t\t>\r\n\t\t\t\t\t<div className='flex h-screen w-full flex-col'>{children}</div>\r\n\t\t\t\t</SheetContent>\r\n\t\t\t</Sheet>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tclassName='group peer text-sidebar-foreground [display:none] md:[display:block]'\r\n\t\t\tdata-state={state}\r\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\r\n\t\t\tdata-variant={variant}\r\n\t\t\tdata-side={side}\r\n\t\t>\r\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\r\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\r\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\r\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\r\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\r\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 fixed inset-y-0 z-10 h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear [display:none] md:[display:flex]',\r\n\t\t\t\t\tside === 'left'\r\n\t\t\t\t\t\t? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\r\n\t\t\t\t\t\t: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\r\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\r\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\r\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\r\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tdata-sidebar='sidebar'\r\n\t\t\t\t\tclassName='flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n});\r\nSidebar.displayName = 'Sidebar';\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\r\n\t({ className, onClick, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<Button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='trigger'\r\n\t\t\t\tvariant='ghost'\r\n\t\t\t\tsize='icon'\r\n\t\t\t\ttype='button'\r\n\t\t\t\tclassName={cn('h-7 w-7', className)}\r\n\t\t\t\tonClick={(event) => {\r\n\t\t\t\t\tonClick?.(event);\r\n\t\t\t\t\ttoggleSidebar();\r\n\t\t\t\t}}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<PanelLeft />\r\n\t\t\t\t<span className='sr-only'>Toggle Sidebar</span>\r\n\t\t\t</Button>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarTrigger.displayName = 'SidebarTrigger';\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(({ className, ...props }, ref) => {\r\n\tconst { toggleSidebar } = useSidebar();\r\n\r\n\treturn (\r\n\t\t<button\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='rail'\r\n\t\t\taria-label='Toggle Sidebar'\r\n\t\t\ttabIndex={-1}\r\n\t\t\ttype='button'\r\n\t\t\tonClick={toggleSidebar}\r\n\t\t\ttitle='Toggle Sidebar'\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\r\n\t\t\t\t'[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\r\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\r\n\t\t\t\t'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\r\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\r\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarRail.displayName = 'SidebarRail';\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<main\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative flex min-h-svh flex-1 flex-col bg-background',\r\n\t\t\t\t'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarInset.displayName = 'SidebarInset';\r\n\r\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<Input\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='input'\r\n\t\t\tclassName={cn('h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarInput.displayName = 'SidebarInput';\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='header' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\r\n});\r\nSidebarHeader.displayName = 'SidebarHeader';\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='footer' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\r\n});\r\nSidebarFooter.displayName = 'SidebarFooter';\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <Separator ref={ref} data-sidebar='separator' className={cn('mx-2 w-auto bg-sidebar-border', className)} {...props} />;\r\n\t},\r\n);\r\nSidebarSeparator.displayName = 'SidebarSeparator';\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='content'\r\n\t\t\tclassName={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarContent.displayName = 'SidebarContent';\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='group' className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\r\n});\r\nSidebarGroup.displayName = 'SidebarGroup';\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : 'div';\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='group-label'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : 'button';\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='group-action'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t\t// Increases the hit area of the button on mobile.\r\n\t\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\r\n\t\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarGroupAction.displayName = 'SidebarGroupAction';\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} data-sidebar='group-content' className={cn('w-full text-sm', className)} {...props} />\r\n));\r\nSidebarGroupContent.displayName = 'SidebarGroupContent';\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} data-sidebar='menu' className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\r\n));\r\nSidebarMenu.displayName = 'SidebarMenu';\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} data-sidebar='menu-item' className={cn('group/menu-item relative', className)} {...props} />\r\n));\r\nSidebarMenuItem.displayName = 'SidebarMenuItem';\r\n\r\nconst sidebarMenuButtonVariants = cva(\r\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\r\n\t\t\t\toutline:\r\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]',\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\tdefault: 'h-8 text-sm',\r\n\t\t\t\tsm: 'h-7 text-xs',\r\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t\tsize: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<'button'> & {\r\n\t\tasChild?: boolean;\r\n\t\tisActive?: boolean;\r\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n\t} & VariantProps<typeof sidebarMenuButtonVariants>\r\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\tconst { isMobile, state } = useSidebar();\r\n\r\n\tconst button = (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-button'\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n\r\n\tif (!tooltip) {\r\n\t\treturn button;\r\n\t}\r\n\r\n\tif (typeof tooltip === 'string') {\r\n\t\ttooltip = {\r\n\t\t\tchildren: tooltip,\r\n\t\t};\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Tooltip>\r\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\r\n\t\t\t<TooltipContent side='right' align='center' hidden={state !== 'collapsed' || isMobile} {...tooltip} />\r\n\t\t</Tooltip>\r\n\t);\r\n});\r\nSidebarMenuButton.displayName = 'SidebarMenuButton';\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<'button'> & {\r\n\t\tasChild?: boolean;\r\n\t\tshowOnHover?: boolean;\r\n\t}\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-action'\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t// Increases the hit area of the button on mobile.\r\n\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\r\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\r\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\r\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\r\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\tshowOnHover &&\r\n\t\t\t\t\t'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarMenuAction.displayName = 'SidebarMenuAction';\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\r\n\t<div\r\n\t\tref={ref}\r\n\t\tdata-sidebar='menu-badge'\r\n\t\tclassName={cn(\r\n\t\t\t'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\r\n\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\r\n\t\t\t'peer-data-[size=sm]/menu-button:top-1',\r\n\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\r\n\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\r\n\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tshowIcon?: boolean;\r\n\t}\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n\t// Random width between 50 to 90%.\r\n\tconst width = React.useMemo(() => {\r\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<div ref={ref} data-sidebar='menu-skeleton' className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)} {...props}>\r\n\t\t\t{showIcon && <Skeleton className='size-4 rounded-md' data-sidebar='menu-skeleton-icon' />}\r\n\t\t\t<Skeleton\r\n\t\t\t\tclassName='h-4 flex-1 max-w-[--skeleton-width]'\r\n\t\t\t\tdata-sidebar='menu-skeleton-text'\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t'--skeleton-width': width,\r\n\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul\r\n\t\tref={ref}\r\n\t\tdata-sidebar='menu-sub'\r\n\t\tclassName={cn(\r\n\t\t\t'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\r\n\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nSidebarMenuSub.displayName = 'SidebarMenuSub';\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => <li ref={ref} {...props} />);\r\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n\tHTMLAnchorElement,\r\n\tReact.ComponentProps<'a'> & {\r\n\t\tasChild?: boolean;\r\n\t\tsize?: 'sm' | 'md';\r\n\t\tisActive?: boolean;\r\n\t}\r\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'a';\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-sub-button'\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\r\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\r\n\t\t\t\tsize === 'sm' && 'text-xs',\r\n\t\t\t\tsize === 'md' && 'text-sm',\r\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\r\n\r\nexport {\r\n\tSidebar,\r\n\tSidebarContent,\r\n\tSidebarFooter,\r\n\tSidebarGroup,\r\n\tSidebarGroupAction,\r\n\tSidebarGroupContent,\r\n\tSidebarGroupLabel,\r\n\tSidebarHeader,\r\n\tSidebarInput,\r\n\tSidebarInset,\r\n\tSidebarMenu,\r\n\tSidebarMenuAction,\r\n\tSidebarMenuBadge,\r\n\tSidebarMenuButton,\r\n\tSidebarMenuItem,\r\n\tSidebarMenuSkeleton,\r\n\tSidebarMenuSub,\r\n\tSidebarMenuSubButton,\r\n\tSidebarMenuSubItem,\r\n\tSidebarProvider,\r\n\tSidebarRail,\r\n\tSidebarSeparator,\r\n\tSidebarTrigger,\r\n\tuseSidebar\r\n};\r\n\r\n","import * as SliderPrimitive from '@radix-ui/react-slider';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SliderPrimitive.Root ref={ref} className={cn('relative flex w-full touch-none select-none items-center', className)} {...props}>\r\n\t\t\t<SliderPrimitive.Track className='relative h-2 w-full grow overflow-hidden rounded-full bg-background-secondary'>\r\n\t\t\t\t<SliderPrimitive.Range className='absolute h-full bg-background-primary' />\r\n\t\t\t</SliderPrimitive.Track>\r\n\t\t\t<SliderPrimitive.Thumb className='block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50' />\r\n\t\t</SliderPrimitive.Root>\r\n\t),\r\n);\r\nSlider.displayName = SliderPrimitive.Root.displayName;\r\n\r\nexport { Slider };\r\n\r\n","import * as SwitchPrimitives from '@radix-ui/react-switch';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SwitchPrimitives.Root\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=unchecked]:bg-accent',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t\tref={ref}\r\n\t\t>\r\n\t\t\t<SwitchPrimitives.Thumb\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0',\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t</SwitchPrimitives.Root>\r\n\t),\r\n);\r\nSwitch.displayName = SwitchPrimitives.Root.displayName;\r\n\r\nexport { Switch };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(({ className, ...props }, ref) => (\r\n\t<table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\r\n));\r\nTable.displayName = 'Table';\r\n\r\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<thead ref={ref} className={cn('sticky top-0 [&_tr]:border-b', className)} {...props} />\r\n));\r\nTableHeader.displayName = 'TableHeader';\r\n\r\nconst TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\r\n));\r\nTableBody.displayName = 'TableBody';\r\n\r\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<tfoot ref={ref} className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)} {...props} />\r\n));\r\nTableFooter.displayName = 'TableFooter';\r\n\r\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(({ className, ...props }, ref) => (\r\n\t<tr\r\n\t\tref={ref}\r\n\t\tclassName={cn('border-b transition-colors hover:bg-datatable-accent', 'data-[state=selected]:bg-background-secondary', className)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nTableRow.displayName = 'TableRow';\r\n\r\nconst TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\r\n\t<th\r\n\t\tref={ref}\r\n\t\tclassName={cn('h-12 py-[12.25px] px-6 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0', className)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nTableHead.displayName = 'TableHead';\r\n\r\nconst TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\r\n\t<td ref={ref} className={cn('align-middle px-6 [&:has([role=checkbox])]:pr-0', className)} {...props} />\r\n));\r\nTableCell.displayName = 'TableCell';\r\n\r\nconst TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(({ className, ...props }, ref) => (\r\n\t<caption ref={ref} className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\r\n));\r\nTableCaption.displayName = 'TableCaption';\r\n\r\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\r\n\r\n","import * as TabsPrimitive from '@radix-ui/react-tabs';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Tabs = TabsPrimitive.Root;\r\n\r\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.List\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('inline-flex h-10 items-center justify-center rounded-md bg-background-elevated p-1 text-muted-foreground', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsList.displayName = TabsPrimitive.List.displayName;\r\n\r\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.Trigger\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\r\n\r\nconst TabsContent = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Content>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsContent.displayName = TabsPrimitive.Content.displayName;\r\n\r\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\r\n\tif (className?.includes('border-none')) {\r\n\t\treturn '';\r\n\t}\r\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\r\n}\r\n\r\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.TextareaHTMLAttributes<HTMLTextAreaElement>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<textarea\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nTextarea.displayName = 'Textarea';\r\n\r\nexport { Textarea };\r\n\r\n","import * as ToastPrimitives from '@radix-ui/react-toast';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst ToastProvider = ToastPrimitives.Provider;\r\n\r\nconst ToastViewport = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Viewport>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\r\n>(({ className, ...props }, ref) => (\r\n\t<ToastPrimitives.Viewport ref={ref} className={cn('fixed top-0 right-0 p-4 space-y-2 z-[100]', className)} {...props} />\r\n));\r\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\r\n\r\nconst toastVariants = cva(\r\n\t'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-top-full',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'border bg-background text-foreground',\r\n\t\t\t\tdestructive: 'bg-white text-zinc-950',\r\n\t\t\t\tsuccess: 'bg-white text-zinc-950',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst Toast = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\r\n>(({ className, variant, ...props }, ref) => {\r\n\treturn <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\r\n});\r\nToast.displayName = ToastPrimitives.Root.displayName;\r\n\r\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ToastPrimitives.Action\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-background-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nToastAction.displayName = ToastPrimitives.Action.displayName;\r\n\r\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ToastPrimitives.Close\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\ttoast-close=''\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<X className='h-4 w-4' />\r\n\t\t</ToastPrimitives.Close>\r\n\t),\r\n);\r\nToastClose.displayName = ToastPrimitives.Close.displayName;\r\n\r\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\r\n\t({ className, ...props }, ref) => <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold', className)} {...props} />,\r\n);\r\nToastTitle.displayName = ToastPrimitives.Title.displayName;\r\n\r\nconst ToastDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\r\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />);\r\nToastDescription.displayName = ToastPrimitives.Description.displayName;\r\n\r\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\r\n\r\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\r\n\r\nexport { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement, type ToastProps };\r\n\r\n","// Inspired by react-hot-toast library\r\nimport * as React from 'react';\r\n\r\nimport type { ToastActionElement, ToastProps } from './toast';\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst TOAST_REMOVE_DELAY = 1000000;\r\n\r\ntype ToasterToast = ToastProps & {\r\n\tid: string;\r\n\ttitle?: React.ReactNode;\r\n\tdescription?: React.ReactNode;\r\n\taction?: ToastActionElement;\r\n\ticon?: React.ReactNode;\r\n};\r\n\r\nconst actionTypes = {\r\n\tADD_TOAST: 'ADD_TOAST',\r\n\tUPDATE_TOAST: 'UPDATE_TOAST',\r\n\tDISMISS_TOAST: 'DISMISS_TOAST',\r\n\tREMOVE_TOAST: 'REMOVE_TOAST',\r\n} as const;\r\n\r\nlet count = 0;\r\n\r\nfunction genId() {\r\n\tcount = (count + 1) % Number.MAX_SAFE_INTEGER;\r\n\treturn count.toString();\r\n}\r\n\r\ntype ActionType = typeof actionTypes;\r\n\r\ntype Action =\r\n\t| {\r\n\t\t\ttype: ActionType['ADD_TOAST'];\r\n\t\t\ttoast: ToasterToast;\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['UPDATE_TOAST'];\r\n\t\t\ttoast: Partial<ToasterToast>;\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['DISMISS_TOAST'];\r\n\t\t\ttoastId?: ToasterToast['id'];\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['REMOVE_TOAST'];\r\n\t\t\ttoastId?: ToasterToast['id'];\r\n\t };\r\n\r\ninterface State {\r\n\ttoasts: ToasterToast[];\r\n}\r\n\r\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\r\n\r\nconst addToRemoveQueue = (toastId: string) => {\r\n\tif (toastTimeouts.has(toastId)) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst timeout = setTimeout(() => {\r\n\t\ttoastTimeouts.delete(toastId);\r\n\t\tdispatch({\r\n\t\t\ttype: 'REMOVE_TOAST',\r\n\t\t\ttoastId: toastId,\r\n\t\t});\r\n\t}, TOAST_REMOVE_DELAY);\r\n\r\n\ttoastTimeouts.set(toastId, timeout);\r\n};\r\n\r\nexport const reducer = (state: State, action: Action): State => {\r\n\tswitch (action.type) {\r\n\t\tcase 'ADD_TOAST':\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\r\n\t\t\t};\r\n\r\n\t\tcase 'UPDATE_TOAST':\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\r\n\t\t\t};\r\n\r\n\t\tcase 'DISMISS_TOAST': {\r\n\t\t\tconst { toastId } = action;\r\n\r\n\t\t\tif (toastId) {\r\n\t\t\t\taddToRemoveQueue(toastId);\r\n\t\t\t} else {\r\n\t\t\t\tfor (const toast of state.toasts) {\r\n\t\t\t\t\taddToRemoveQueue(toast.id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.map((t) =>\r\n\t\t\t\t\tt.id === toastId || toastId === undefined\r\n\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t...t,\r\n\t\t\t\t\t\t\t\topen: false,\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t: t,\r\n\t\t\t\t),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase 'REMOVE_TOAST':\r\n\t\t\tif (action.toastId === undefined) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttoasts: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.filter((t) => t.id !== action.toastId),\r\n\t\t\t};\r\n\t}\r\n};\r\n\r\nconst listeners: Array<(state: State) => void> = [];\r\n\r\nlet memoryState: State = { toasts: [] };\r\n\r\nfunction dispatch(action: Action) {\r\n\tmemoryState = reducer(memoryState, action);\r\n\tfor (const listener of listeners) {\r\n\t\tlistener(memoryState);\r\n\t}\r\n}\r\n\r\ntype Toast = Omit<ToasterToast, 'id'>;\r\n\r\nfunction toast({ ...props }: Toast) {\r\n\tconst id = genId();\r\n\r\n\tconst update = (props: ToasterToast) =>\r\n\t\tdispatch({\r\n\t\t\ttype: 'UPDATE_TOAST',\r\n\t\t\ttoast: { ...props, id },\r\n\t\t});\r\n\tconst dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\r\n\r\n\tdispatch({\r\n\t\ttype: 'ADD_TOAST',\r\n\t\ttoast: {\r\n\t\t\t...props,\r\n\t\t\tid,\r\n\t\t\topen: true,\r\n\t\t\tonOpenChange: (open) => {\r\n\t\t\t\tif (!open) dismiss();\r\n\t\t\t},\r\n\t\t},\r\n\t});\r\n\r\n\treturn {\r\n\t\tid: id,\r\n\t\tdismiss,\r\n\t\tupdate,\r\n\t};\r\n}\r\n\r\nfunction useToast() {\r\n\tconst [state, setState] = React.useState<State>(memoryState);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tlisteners.push(setState);\r\n\t\treturn () => {\r\n\t\t\tconst index = listeners.indexOf(setState);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tlisteners.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\t}, [state]);\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\ttoast,\r\n\t\tdismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\r\n\t};\r\n}\r\n\r\nexport { toast, useToast };\r\n","import { Check, CircleX } from 'lucide-react';\r\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\r\nimport { useToast } from './use-toast';\r\n\r\nexport function Toaster() {\r\n\tconst { toasts } = useToast();\r\n\r\n\tconst getIcon = (icon: React.ReactNode, variant: string | null) => {\r\n\t\tif (icon) {\r\n\t\t\treturn icon;\r\n\t\t}\r\n\r\n\t\tswitch (variant) {\r\n\t\t\tcase 'success':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-emerald-700'>\r\n\t\t\t\t\t\t<Check size={16} className='text-white' />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\tcase 'destructive':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-red-700'>\r\n\t\t\t\t\t\t<CircleX size={16} className='text-white' />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ToastProvider>\r\n\t\t\t{toasts.map(({ id, title, description, action, icon, variant, ...props }) => (\r\n\t\t\t\t<Toast key={id} {...props} variant={variant} className='p-4 w-[334px] rounded-lg'>\r\n\t\t\t\t\t<div className='grid gap-1'>\r\n\t\t\t\t\t\t<div className='flex items-center'>\r\n\t\t\t\t\t\t\t{getIcon(icon, variant ?? null)}\r\n\t\t\t\t\t\t\t{title && <ToastTitle>{title}</ToastTitle>} {/* title deve funcionar aqui */}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t{description && <ToastDescription>{description}</ToastDescription>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{action}\r\n\t\t\t\t\t<ToastClose className='text-white' />\r\n\t\t\t\t</Toast>\r\n\t\t\t))}\r\n\t\t\t<ToastViewport />\r\n\t\t</ToastProvider>\r\n\t);\r\n}\r\n","import { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\r\nimport { format } from 'date-fns';\r\nimport { ptBR } from 'date-fns/locale';\r\nimport { CalendarDays } from 'lucide-react';\r\nimport React from 'react';\r\nimport { DateRange } from 'react-day-picker';\r\nimport { cn } from '../../lib/utils';\r\nimport { Button } from './button';\r\nimport { Calendar } from './calendar';\r\n\r\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tgetDataFilter: (from: Date | null, to: Date | null) => void;\r\n}\r\n\r\nexport default function UseCalendar({ className, getDataFilter }: CalendarFormProps) {\r\n\tconst endDate = null;\r\n\tconst startDate = null;\r\n\r\n\tconst [date, setDate] = React.useState<DateRange | any>({\r\n\t\tfrom: startDate,\r\n\t\tto: endDate,\r\n\t});\r\n\r\n\tconst submitDate = () => {\r\n\t\tif (date.from !== null && date.to !== null) {\r\n\t\t\tgetDataFilter(date.from, date.to);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={cn('grid gap-2', className)}>\r\n\t\t\t<Popover>\r\n\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tid='date'\r\n\t\t\t\t\t\tvariant={'outline'}\r\n\t\t\t\t\t\tclassName={'flex justify-center items-center px-4 py-2 cursor-pointer bg-primaryBack text-textFilter rounded-md'}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<CalendarDays color='#0F172A' size={16} className='mr-4' />\r\n\t\t\t\t\t\t{date?.to ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{format(date.from, 'dd/MM', { locale: ptBR })} - {format(date.to, 'dd/MM', { locale: ptBR })}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<span>Filtrar por Período</span>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t<PopoverContent className='w-auto p-0 testeCalendar flex flex-col justify-center bg-white z-10 shadow-md text-black ' align='start'>\r\n\t\t\t\t\t<Calendar mode='range' locale={ptBR} selected={date} onSelect={setDate} className=' ' />\r\n\r\n\t\t\t\t\t<PopoverClose className='flex justify-center items-center p-4'>\r\n\t\t\t\t\t\t<Button className='w-[150px] bg-background-primary mt-8 px-4 py-2 text-white' onClick={submitDate}>\r\n\t\t\t\t\t\t\tAplicar Filtro\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</PopoverClose>\r\n\t\t\t\t</PopoverContent>\r\n\t\t\t</Popover>\r\n\t\t</div>\r\n\t);\r\n}\r\n","// Retorna todas as cores do Tailwind CSS das variações 50 a 950\r\nexport function getTailwindColorShades() {\r\n\t// Paleta padrão do Tailwind v3.3.0\r\n\t// Fonte: https://github.com/tailwindlabs/tailwindcss/blob/master/src/public/colors.js\r\n\treturn {\r\n\t\tslate: {\r\n\t\t\t50: '#f8fafc',\r\n\t\t\t100: '#f1f5f9',\r\n\t\t\t200: '#e2e8f0',\r\n\t\t\t300: '#cbd5e1',\r\n\t\t\t400: '#94a3b8',\r\n\t\t\t500: '#64748b',\r\n\t\t\t600: '#475569',\r\n\t\t\t700: '#334155',\r\n\t\t\t800: '#1e293b',\r\n\t\t\t900: '#0f172a',\r\n\t\t\t950: '#020617',\r\n\t\t},\r\n\t\tgray: {\r\n\t\t\t50: '#f9fafb',\r\n\t\t\t100: '#f3f4f6',\r\n\t\t\t200: '#e5e7eb',\r\n\t\t\t300: '#d1d5db',\r\n\t\t\t400: '#9ca3af',\r\n\t\t\t500: '#6b7280',\r\n\t\t\t600: '#4b5563',\r\n\t\t\t700: '#374151',\r\n\t\t\t800: '#1f2937',\r\n\t\t\t900: '#111827',\r\n\t\t\t950: '#030712',\r\n\t\t},\r\n\t\tzinc: {\r\n\t\t\t50: '#fafafa',\r\n\t\t\t100: '#f4f4f5',\r\n\t\t\t200: '#e4e4e7',\r\n\t\t\t300: '#d4d4d8',\r\n\t\t\t400: '#a1a1aa',\r\n\t\t\t500: '#71717a',\r\n\t\t\t600: '#52525b',\r\n\t\t\t700: '#3f3f46',\r\n\t\t\t800: '#27272a',\r\n\t\t\t900: '#18181b',\r\n\t\t\t950: '#09090b',\r\n\t\t},\r\n\t\tneutral: {\r\n\t\t\t50: '#fafafa',\r\n\t\t\t100: '#f5f5f5',\r\n\t\t\t200: '#e5e5e5',\r\n\t\t\t300: '#d4d4d4',\r\n\t\t\t400: '#a3a3a3',\r\n\t\t\t500: '#737373',\r\n\t\t\t600: '#525252',\r\n\t\t\t700: '#404040',\r\n\t\t\t800: '#262626',\r\n\t\t\t900: '#171717',\r\n\t\t\t950: '#0a0a0a',\r\n\t\t},\r\n\t\tstone: {\r\n\t\t\t50: '#fafaf9',\r\n\t\t\t100: '#f5f5f4',\r\n\t\t\t200: '#e7e5e4',\r\n\t\t\t300: '#d6d3d1',\r\n\t\t\t400: '#a8a29e',\r\n\t\t\t500: '#78716c',\r\n\t\t\t600: '#57534e',\r\n\t\t\t700: '#44403c',\r\n\t\t\t800: '#292524',\r\n\t\t\t900: '#1c1917',\r\n\t\t\t950: '#0c0a09',\r\n\t\t},\r\n\t\tred: {\r\n\t\t\t50: '#fef2f2',\r\n\t\t\t100: '#fee2e2',\r\n\t\t\t200: '#fecaca',\r\n\t\t\t300: '#fca5a5',\r\n\t\t\t400: '#f87171',\r\n\t\t\t500: '#ef4444',\r\n\t\t\t600: '#dc2626',\r\n\t\t\t700: '#b91c1c',\r\n\t\t\t800: '#991b1b',\r\n\t\t\t900: '#7f1d1d',\r\n\t\t\t950: '#450a0a',\r\n\t\t},\r\n\t\torange: {\r\n\t\t\t50: '#fff7ed',\r\n\t\t\t100: '#ffedd5',\r\n\t\t\t200: '#fed7aa',\r\n\t\t\t300: '#fdba74',\r\n\t\t\t400: '#fb923c',\r\n\t\t\t500: '#f97316',\r\n\t\t\t600: '#ea580c',\r\n\t\t\t700: '#c2410c',\r\n\t\t\t800: '#9a3412',\r\n\t\t\t900: '#7c2d12',\r\n\t\t\t950: '#431407',\r\n\t\t},\r\n\t\tamber: {\r\n\t\t\t50: '#fffbeb',\r\n\t\t\t100: '#fef3c7',\r\n\t\t\t200: '#fde68a',\r\n\t\t\t300: '#fcd34d',\r\n\t\t\t400: '#fbbf24',\r\n\t\t\t500: '#f59e42',\r\n\t\t\t600: '#d97706',\r\n\t\t\t700: '#b45309',\r\n\t\t\t800: '#92400e',\r\n\t\t\t900: '#78350f',\r\n\t\t\t950: '#451a03',\r\n\t\t},\r\n\t\tyellow: {\r\n\t\t\t50: '#fefce8',\r\n\t\t\t100: '#fef9c3',\r\n\t\t\t200: '#fef08a',\r\n\t\t\t300: '#fde047',\r\n\t\t\t400: '#facc15',\r\n\t\t\t500: '#eab308',\r\n\t\t\t600: '#ca8a04',\r\n\t\t\t700: '#a16207',\r\n\t\t\t800: '#854d0e',\r\n\t\t\t900: '#713f12',\r\n\t\t\t950: '#422006',\r\n\t\t},\r\n\t\tlime: {\r\n\t\t\t50: '#f7fee7',\r\n\t\t\t100: '#ecfccb',\r\n\t\t\t200: '#d9f99d',\r\n\t\t\t300: '#bef264',\r\n\t\t\t400: '#a3e635',\r\n\t\t\t500: '#84cc16',\r\n\t\t\t600: '#65a30d',\r\n\t\t\t700: '#4d7c0f',\r\n\t\t\t800: '#3f6212',\r\n\t\t\t900: '#365314',\r\n\t\t\t950: '#1a2e05',\r\n\t\t},\r\n\t\tgreen: {\r\n\t\t\t50: '#f0fdf4',\r\n\t\t\t100: '#dcfce7',\r\n\t\t\t200: '#bbf7d0',\r\n\t\t\t300: '#86efac',\r\n\t\t\t400: '#4ade80',\r\n\t\t\t500: '#22c55e',\r\n\t\t\t600: '#16a34a',\r\n\t\t\t700: '#15803d',\r\n\t\t\t800: '#166534',\r\n\t\t\t900: '#14532d',\r\n\t\t\t950: '#052e16',\r\n\t\t},\r\n\t\temerald: {\r\n\t\t\t50: '#ecfdf5',\r\n\t\t\t100: '#d1fae5',\r\n\t\t\t200: '#a7f3d0',\r\n\t\t\t300: '#6ee7b7',\r\n\t\t\t400: '#34d399',\r\n\t\t\t500: '#10b981',\r\n\t\t\t600: '#059669',\r\n\t\t\t700: '#047857',\r\n\t\t\t800: '#065f46',\r\n\t\t\t900: '#064e3b',\r\n\t\t\t950: '#022c22',\r\n\t\t},\r\n\t\tteal: {\r\n\t\t\t50: '#f0fdfa',\r\n\t\t\t100: '#ccfbf1',\r\n\t\t\t200: '#99f6e4',\r\n\t\t\t300: '#5eead4',\r\n\t\t\t400: '#2dd4bf',\r\n\t\t\t500: '#14b8a6',\r\n\t\t\t600: '#0d9488',\r\n\t\t\t700: '#0f766e',\r\n\t\t\t800: '#115e59',\r\n\t\t\t900: '#134e4a',\r\n\t\t\t950: '#042f2e',\r\n\t\t},\r\n\t\tcyan: {\r\n\t\t\t50: '#ecfeff',\r\n\t\t\t100: '#cffafe',\r\n\t\t\t200: '#a5f3fc',\r\n\t\t\t300: '#67e8f9',\r\n\t\t\t400: '#22d3ee',\r\n\t\t\t500: '#06b6d4',\r\n\t\t\t600: '#0891b2',\r\n\t\t\t700: '#0e7490',\r\n\t\t\t800: '#155e75',\r\n\t\t\t900: '#164e63',\r\n\t\t\t950: '#083344',\r\n\t\t},\r\n\t\tsky: {\r\n\t\t\t50: '#f0f9ff',\r\n\t\t\t100: '#e0f2fe',\r\n\t\t\t200: '#bae6fd',\r\n\t\t\t300: '#7dd3fc',\r\n\t\t\t400: '#38bdf8',\r\n\t\t\t500: '#0ea5e9',\r\n\t\t\t600: '#0284c7',\r\n\t\t\t700: '#0369a1',\r\n\t\t\t800: '#075985',\r\n\t\t\t900: '#0e3a5e',\r\n\t\t\t950: '#082f49',\r\n\t\t},\r\n\t\tblue: {\r\n\t\t\t50: '#eff6ff',\r\n\t\t\t100: '#dbeafe',\r\n\t\t\t200: '#bfdbfe',\r\n\t\t\t300: '#93c5fd',\r\n\t\t\t400: '#60a5fa',\r\n\t\t\t500: '#3b82f6',\r\n\t\t\t600: '#2563eb',\r\n\t\t\t700: '#1d4ed8',\r\n\t\t\t800: '#1e40af',\r\n\t\t\t900: '#1e3a8a',\r\n\t\t\t950: '#172554',\r\n\t\t},\r\n\t\tindigo: {\r\n\t\t\t50: '#eef2ff',\r\n\t\t\t100: '#e0e7ff',\r\n\t\t\t200: '#c7d2fe',\r\n\t\t\t300: '#a5b4fc',\r\n\t\t\t400: '#818cf8',\r\n\t\t\t500: '#6366f1',\r\n\t\t\t600: '#4f46e5',\r\n\t\t\t700: '#4338ca',\r\n\t\t\t800: '#3730a3',\r\n\t\t\t900: '#312e81',\r\n\t\t\t950: '#1e1b4b',\r\n\t\t},\r\n\t\tviolet: {\r\n\t\t\t50: '#f5f3ff',\r\n\t\t\t100: '#ede9fe',\r\n\t\t\t200: '#ddd6fe',\r\n\t\t\t300: '#c4b5fd',\r\n\t\t\t400: '#a78bfa',\r\n\t\t\t500: '#8b5cf6',\r\n\t\t\t600: '#7c3aed',\r\n\t\t\t700: '#6d28d9',\r\n\t\t\t800: '#5b21b6',\r\n\t\t\t900: '#4c1d95',\r\n\t\t\t950: '#2e1065',\r\n\t\t},\r\n\t\tpurple: {\r\n\t\t\t50: '#faf5ff',\r\n\t\t\t100: '#f3e8ff',\r\n\t\t\t200: '#e9d5ff',\r\n\t\t\t300: '#d8b4fe',\r\n\t\t\t400: '#c084fc',\r\n\t\t\t500: '#a855f7',\r\n\t\t\t600: '#9333ea',\r\n\t\t\t700: '#7e22ce',\r\n\t\t\t800: '#6d19a8',\r\n\t\t\t900: '#581c87',\r\n\t\t\t950: '#3b0764',\r\n\t\t},\r\n\t\tfuchsia: {\r\n\t\t\t50: '#fdf4ff',\r\n\t\t\t100: '#fae8ff',\r\n\t\t\t200: '#f5d0fe',\r\n\t\t\t300: '#f0abfc',\r\n\t\t\t400: '#e879f9',\r\n\t\t\t500: '#d946ef',\r\n\t\t\t600: '#c026d3',\r\n\t\t\t700: '#a21caf',\r\n\t\t\t800: '#86198f',\r\n\t\t\t900: '#701a75',\r\n\t\t\t950: '#4a044e',\r\n\t\t},\r\n\t\tpink: {\r\n\t\t\t50: '#fdf2f8',\r\n\t\t\t100: '#fce7f3',\r\n\t\t\t200: '#fbcfe8',\r\n\t\t\t300: '#f9a8d4',\r\n\t\t\t400: '#f472b6',\r\n\t\t\t500: '#ec4899',\r\n\t\t\t600: '#db2777',\r\n\t\t\t700: '#be185d',\r\n\t\t\t800: '#9d174d',\r\n\t\t\t900: '#831843',\r\n\t\t\t950: '#500724',\r\n\t\t},\r\n\t\trose: {\r\n\t\t\t50: '#fff1f2',\r\n\t\t\t100: '#ffe4e6',\r\n\t\t\t200: '#fecdd3',\r\n\t\t\t300: '#fda4af',\r\n\t\t\t400: '#fb7185',\r\n\t\t\t500: '#f43f5e',\r\n\t\t\t600: '#e11d48',\r\n\t\t\t700: '#be123c',\r\n\t\t\t800: '#9f1239',\r\n\t\t\t900: '#881337',\r\n\t\t\t950: '#4c0519',\r\n\t\t},\r\n\t};\r\n}\r\n\r\nexport type TailwindColorName = keyof ReturnType<typeof getTailwindColorShades>;\r\n\r\nexport const replaceThemeTailwindColors = (theme: string, tailwindColor: string): HTMLStyleElement => {\r\n\tconst colorShades = getTailwindColorShades();\r\n\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\r\n\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\r\n\r\n\tconst el = document.createElement('style');\r\n\tel.id = 'theme-variables';\r\n\tel.setAttribute('type', 'text/css');\r\n\tel.textContent = ':root {';\r\n\r\n\tif (theme === 'light') {\r\n\t\tel.textContent += `--sidebar-background: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--sidebar-ring: ${colorPallete[300]};\\n`;\r\n\t\tel.textContent += `--sidebar-border: ${colorPallete[100]};\\n`;\r\n\t\tel.textContent += `--sidebar-scrollbar-thumb: ${colorPallete[200]};\\n`;\r\n\t}\r\n\tif (theme === 'light' || theme === 'dark-side') {\r\n\t\tel.textContent += `--background-elevated: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--background-primary-hover: ${colorPallete[100]};\\n`;\r\n\t\tel.textContent += `--background-subtle: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--accent: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--datatable-background: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--datatable-accent: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--scrollbar-thumb: ${colorPallete[200]};\\n`;\r\n\t}\r\n\tif (theme === 'dark-side' || theme === 'dark') {\r\n\t\t// Verificar essa propriedade\r\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[950]};\\n`;\r\n\t}\r\n\tel.textContent += `--background-primary: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--background-primary-hover: ${colorPallete[950]};\\n`;\r\n\tel.textContent += `--primary: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--primary-950: ${colorPallete[950]};\\n`;\r\n\tel.textContent += `--primary-900: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--primary-800: ${colorPallete[800]};\\n`;\r\n\tel.textContent += `--primary-700: ${colorPallete[700]};\\n`;\r\n\tel.textContent += `--primary-600: ${colorPallete[600]};\\n`;\r\n\tel.textContent += `--primary-500: ${colorPallete[500]};\\n`;\r\n\tel.textContent += `--primary-400: ${colorPallete[400]};\\n`;\r\n\tel.textContent += `--primary-300: ${colorPallete[300]};\\n`;\r\n\tel.textContent += `--primary-200: ${colorPallete[200]};\\n`;\r\n\tel.textContent += `--primary-100: ${colorPallete[100]};\\n`;\r\n\tel.textContent += `--primary-50: ${colorPallete[50]};\\n`;\r\n\tel.textContent += `--chart-primary: ${colorPallete[800]};\\n`;\r\n\tel.textContent += `--chart-secondary: ${colorPallete[200]};\\n`;\r\n\tel.textContent += '}';\r\n\r\n\treturn el;\r\n};\r\n","import { createContext, useContext, useEffect, useState } from 'react';\r\nimport { replaceThemeTailwindColors } from '../../../lib/help/theme';\r\n\r\ntype Theme = 'light' | 'dark' | 'dark-side';\r\n\r\ntype ThemePortalDefinitions = {\r\n\tfaviconPath: string;\r\n\tfullLogoPath: string;\r\n\tbannerDesktopPath: string;\r\n\tmvnoPrimaryColor: string;\r\n\tmvnoMainTheme: Theme;\r\n\ttitle: string;\r\n\thideModuleSwitcher: boolean;\r\n};\r\n\r\ntype ThemeProviderProps = {\r\n\tchildren: React.ReactNode;\r\n\tdefaultTheme?: ThemePortalDefinitions;\r\n\tstorageKey?: string;\r\n};\r\n\r\ntype ThemeProviderState = {\r\n\tportalDefinitions: ThemePortalDefinitions;\r\n\tsetPortalDefinitions: (portalDefinitions: ThemePortalDefinitions) => void;\r\n};\r\n\r\nexport const DEFAULT_THEME_DATA: ThemePortalDefinitions = {\r\n\tfaviconPath: '',\r\n\tfullLogoPath: '',\r\n\tbannerDesktopPath: '/imgs/background-auth.png',\r\n\tmvnoPrimaryColor: 'green',\r\n\tmvnoMainTheme: 'light',\r\n\ttitle: '-',\r\n\thideModuleSwitcher: false,\r\n};\r\n\r\nconst initialState: ThemeProviderState = {\r\n\tportalDefinitions: DEFAULT_THEME_DATA,\r\n\tsetPortalDefinitions: () => null,\r\n};\r\n\r\nconst ThemeProviderContext = createContext<ThemeProviderState>(initialState);\r\n\r\nexport function ThemeProvider({ children, defaultTheme = DEFAULT_THEME_DATA, storageKey = 'vite-ui-theme', ...props }: ThemeProviderProps) {\r\n\tconst [portalDefinitions, setPortalDefinitionsState] = useState<ThemePortalDefinitions>({\r\n\t\tfaviconPath: localStorage.getItem(`${storageKey}-faviconPath`) || defaultTheme.faviconPath,\r\n\t\tfullLogoPath: localStorage.getItem(`${storageKey}-fullLogoPath`) || defaultTheme.fullLogoPath,\r\n\t\tbannerDesktopPath: localStorage.getItem(`${storageKey}-bannerDesktopPath`) || defaultTheme.bannerDesktopPath,\r\n\t\tmvnoPrimaryColor: localStorage.getItem(`${storageKey}-mvnoPrimaryColor`) || defaultTheme.mvnoPrimaryColor,\r\n\t\tmvnoMainTheme: (localStorage.getItem(storageKey) as Theme) || defaultTheme.mvnoMainTheme,\r\n\t\ttitle: localStorage.getItem(`${storageKey}-title`) || defaultTheme.title,\r\n\t\thideModuleSwitcher: localStorage.getItem(`${storageKey}-hideModuleSwitcher`) === 'true',\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tconst theme = portalDefinitions?.mvnoMainTheme;\r\n\r\n\t\tconst root = window.document.documentElement;\r\n\t\troot.classList.remove('light', 'dark', 'dark-side');\r\n\t\troot.classList.add(theme);\r\n\r\n\t\tdocument.title = portalDefinitions?.title;\r\n\t\tconst meta = document.querySelector('meta[name=\"description\"]');\r\n\t\tif (meta) {\r\n\t\t\tmeta.setAttribute('content', portalDefinitions?.title);\r\n\t\t}\r\n\r\n\t\tlet link = document.querySelector<HTMLLinkElement>(\"link[rel~='icon']\");\r\n\t\tif (!link) {\r\n\t\t\tlink = document.createElement('link');\r\n\t\t\tlink.rel = 'icon';\r\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\r\n\t\t}\r\n\t\tlink.href = portalDefinitions?.faviconPath;\r\n\r\n\t\tconst el = replaceThemeTailwindColors(theme, portalDefinitions?.mvnoPrimaryColor);\r\n\r\n\t\tdocument.getElementById('theme-variables') &&\r\n\t\t\tdocument.getElementsByTagName('head')[0].removeChild(document.getElementById('theme-variables')!);\r\n\t\tdocument.getElementsByTagName('head')[0].appendChild(el);\r\n\t}, [portalDefinitions]);\r\n\r\n\tconst setPortalDefinitions = (portalDefinitions: ThemePortalDefinitions) => {\r\n\t\tlocalStorage.setItem(`${storageKey}-faviconPath`, portalDefinitions.faviconPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-fullLogoPath`, portalDefinitions.fullLogoPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-bannerDesktopPath`, portalDefinitions.bannerDesktopPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-mvnoPrimaryColor`, portalDefinitions.mvnoPrimaryColor);\r\n\t\tlocalStorage.setItem(`${storageKey}-mvnoMainTheme`, portalDefinitions.mvnoMainTheme);\r\n\t\tlocalStorage.setItem(`${storageKey}-title`, portalDefinitions.title);\r\n\t\tlocalStorage.setItem(`${storageKey}-hideModuleSwitcher`, String(portalDefinitions.hideModuleSwitcher));\r\n\r\n\t\tsetPortalDefinitionsState({\r\n\t\t\tfaviconPath: portalDefinitions.faviconPath || DEFAULT_THEME_DATA.faviconPath,\r\n\t\t\tfullLogoPath: portalDefinitions.fullLogoPath || DEFAULT_THEME_DATA.fullLogoPath,\r\n\t\t\tbannerDesktopPath: portalDefinitions.bannerDesktopPath || DEFAULT_THEME_DATA.bannerDesktopPath,\r\n\t\t\tmvnoPrimaryColor: portalDefinitions.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor,\r\n\t\t\tmvnoMainTheme: portalDefinitions.mvnoMainTheme ? (portalDefinitions.mvnoMainTheme as Theme) : DEFAULT_THEME_DATA.mvnoMainTheme,\r\n\t\t\ttitle: portalDefinitions.title || DEFAULT_THEME_DATA.title,\r\n\t\t\thideModuleSwitcher: portalDefinitions.hideModuleSwitcher || DEFAULT_THEME_DATA.hideModuleSwitcher,\r\n\t\t});\r\n\t};\r\n\r\n\tconst value: ThemeProviderState = {\r\n\t\tportalDefinitions,\r\n\t\tsetPortalDefinitions: setPortalDefinitions,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ThemeProviderContext.Provider {...props} value={value}>\r\n\t\t\t{children}\r\n\t\t</ThemeProviderContext.Provider>\r\n\t);\r\n}\r\n\r\nexport const useTheme = () => {\r\n\tconst context = useContext(ThemeProviderContext);\r\n\r\n\tif (context === undefined) throw new Error('useTheme must be used within a ThemeProvider');\r\n\r\n\treturn context;\r\n};\r\n","import { CircleHelp } from 'lucide-react';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../tooltip';\r\n\r\nconst formHelpText = (helpText: JSX.Element) => {\r\n\treturn (\r\n\t\t<TooltipProvider>\r\n\t\t\t<Tooltip>\r\n\t\t\t\t<TooltipTrigger className='pb-2'>\r\n\t\t\t\t\t<CircleHelp size={16} className='text-muted' />\r\n\t\t\t\t</TooltipTrigger>\r\n\t\t\t\t<TooltipContent className='text-white bg-background-primary' align='start'>\r\n\t\t\t\t\t{helpText}\r\n\t\t\t\t</TooltipContent>\r\n\t\t\t</Tooltip>\r\n\t\t</TooltipProvider>\r\n\t);\r\n};\r\n\r\nexport { formHelpText };\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport React from 'react';\r\nimport { cn } from '../../../../lib/utils';\r\n\r\ntype FormLabelComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & React.RefAttributes<React.ElementRef<typeof LabelPrimitive.Root>>>;\r\n\r\nconst formLabel = (FormLabel: FormLabelComponent, label: string) => {\r\n\treturn <FormLabel className='text-default font-medium text-sm h-5'>{label}</FormLabel>;\r\n};\r\n\r\nconst formLabelAndSubLabel = (FormLabel: FormLabelComponent, label: string, subLabel?: string, required?: boolean | undefined, className?: string) => {\r\n\treturn (\r\n\t\t<div className={cn('flex flex-col pb-2', className)}>\r\n\t\t\t<div className='flex gap-1'>\r\n\t\t\t\t{formLabel(FormLabel, label)}\r\n\t\t\t\t{required && <FormLabel className='text-red-600 font-medium text-sm'>*</FormLabel>}\r\n\t\t\t</div>\r\n\t\t\t{subLabel && <FormLabel className='text-default font-normal pt-1'>{subLabel}</FormLabel>}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport { formLabel, formLabelAndSubLabel };\r\n\r\n","import React from 'react';\r\n\r\ntype FormMessageComponent = React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;\r\n\r\nconst formMessage = (FormMessage: FormMessageComponent) => {\r\n\treturn <FormMessage className='text-red-600 mt-1' />;\r\n};\r\n\r\nexport { formMessage };\r\n\r\n","import { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputCpfCnpj } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nconst masks = ['999.999.999-999', '99.999.999/9999-99'];\r\n\r\nexport const FormInputCpfCnpj: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [mask, setMask] = useState(masks[0]);\r\n\r\n\tconst handleMaskChange = (value: string) => {\r\n\t\tconst numericValue = value.replace(/\\D/g, '');\r\n\t\tif (numericValue.length > 11) {\r\n\t\t\tsetMask(masks[1]);\r\n\t\t} else {\r\n\t\t\tsetMask(masks[0]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputCpfCnpj\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\thandleMaskChange(e.target.value);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputCurrency: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tsymbol='R$'\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","export const getFirstDayOfCurrentMonth = (): Date => {\r\n\tconst now = new Date();\r\n\treturn new Date(now.getFullYear(), now.getMonth(), 1);\r\n};\r\n\r\nexport const getFirstDayOf90DaysAgo = (): Date => {\r\n\tconst now = new Date();\r\n\treturn new Date(now.getFullYear(), now.getMonth() - 3, 1);\r\n};\r\n\r\nexport const stringToDate = (dateString: string, separator: string = '/'): Date | undefined => {\r\n\tif (!dateString) return undefined;\r\n\r\n\tconst dateParts = dateString.split(separator);\r\n\tif (dateParts.length !== 3) return undefined;\r\n\r\n\tconst day = parseInt(dateParts[0], 10);\r\n\tconst month = parseInt(dateParts[1], 10) - 1; // Months are zero-based in JavaScript\r\n\tconst year = parseInt(dateParts[2], 10);\r\n\r\n\treturn new Date(year, month, day);\r\n};\r\n\r\nexport const aYearAgo = (): Date => {\r\n\tconst aYearAgo = new Date();\r\n\taYearAgo.setFullYear(aYearAgo.getFullYear() - 1);\r\n\r\n\treturn aYearAgo;\r\n};\r\n\r\nexport const invertDate = (date: string, separator: string = '/'): string => {\r\n\tif (!date) return '';\r\n\r\n\treturn date.split(separator).reverse().join('-');\r\n};\r\n\r\nexport const addDaysToToday = (days: number): Date => {\r\n\tconst date = new Date();\r\n\tdate.setDate(date.getDate() + days);\r\n\treturn date;\r\n};\r\n","import { ptBR } from 'date-fns/locale';\r\nimport { CalendarIcon } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { stringToDate } from '../../../../lib/help/date-utils';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Calendar } from '../../calendar';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInput } from '../../input';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputDate: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder = '01/01/2023',\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<div className='relative w-full'>\r\n\t\t\t\t\t\t\t<MaskInput\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\tmask={'99/99/9999'}\r\n\t\t\t\t\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\tclassName={cn('pl-9', className)}\r\n\t\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\r\n\t\t\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\r\n\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' />\r\n\t\t\t\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t\t\t\t<PopoverContent className='w-[250px] p-0' align='start'>\r\n\t\t\t\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\t\t\t\tmode='single'\r\n\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\r\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t\t\t\tselected={stringToDate(field.value) ?? new Date()}\r\n\t\t\t\t\t\t\t\t\t\t\tonSelect={(date) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(date ? date.toLocaleDateString('pt-BR') : '');\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget: { value: date ? date.toLocaleDateString('pt-BR') : '' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.ChangeEvent<HTMLInputElement>);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName='rounded-md'\r\n\t\t\t\t\t\t\t\t\t\t\tcaptionLayout='dropdown'\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t\t\t\t</Popover>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { format } from 'date-fns';\r\nimport { CalendarIcon } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { DateRange } from 'react-day-picker';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Calendar } from '../../calendar';\r\nimport * as FormComponents from '../../form';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement> | DateRange | undefined) => void;\r\n}\r\n\r\nexport const FormDataRange: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\t// const [date, setDate] = useState<DateRange | undefined>(field.value);\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\tconst handleDateChange = (newDate: DateRange | undefined, field: any) => {\r\n\t\t// setDate(newDate);\r\n\t\tfield.onChange(newDate);\r\n\t\tif (onChange) onChange(newDate);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\r\n\t\t\t\t\t\t\t<PopoverTrigger asChild className='w-full'>\r\n\t\t\t\t\t\t\t\t<div className={` rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`}>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\ttype='button'\r\n\t\t\t\t\t\t\t\t\t\tvariant='outline'\r\n\t\t\t\t\t\t\t\t\t\trole='combobox'\r\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\r\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t\t\t` ${className} justify-start disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50`,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon className='text-zinc-500' />\r\n\t\t\t\t\t\t\t\t\t\t{field.value?.from ? (\r\n\t\t\t\t\t\t\t\t\t\t\tfield.value?.to ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{format(field.value?.from, 'dd/MM/yyyy')} - {format(field.value?.to, 'dd/MM/yyyy')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\tformat(field.value?.from, 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t<span className='font-normal text-zinc-500'>Escolha um Período</span>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t\t<PopoverContent className='flex w-auto p-0' align='start'>\r\n\t\t\t\t\t\t\t\t<div className='flex flex-row space-x-4'>\r\n\t\t\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\t\t\tinitialFocus\r\n\t\t\t\t\t\t\t\t\t\tmode='range'\r\n\t\t\t\t\t\t\t\t\t\tdefaultMonth={field.value?.from}\r\n\t\t\t\t\t\t\t\t\t\tselected={field.value}\r\n\t\t\t\t\t\t\t\t\t\tnumberOfMonths={2}\r\n\t\t\t\t\t\t\t\t\t\tclassName='flex'\r\n\t\t\t\t\t\t\t\t\t\tonSelect={(newDate) => handleDateChange(newDate, field)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t\t</Popover>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputDecimal: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { InputFile } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputFile: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [value, setValue] = useState('');\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputFile\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tsetValue(e.target.value);\r\n\t\t\t\t\t\t\t\tfield.onChange(e.target.files);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tclassName?: string;\r\n}\r\n\r\nexport const FormInputGhost: React.FC<Props> = ({ control, name, className }) => {\r\n\tconst { FormField, FormItem, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputText {...field} className='hidden' />\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { Input } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\ttype?: string;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInput: React.FC<Props> = ({\r\n\tcontrol,\r\n\ttype,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInput } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmask: string;\r\n\tmaskPlaceholder?: string | null;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tinputRef?: React.Ref<HTMLInputElement>;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputMask: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmask,\r\n\tmaskPlaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tinputRef,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInput\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\tmaskPlaceholder={maskPlaceholder}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { type VariantProps, cva } from 'class-variance-authority';\r\nimport { CheckIcon, ChevronDown, X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { ControllerRenderProps, FieldValues } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Badge } from '../../badge';\r\nimport { Button } from '../../button';\r\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\r\nimport * as FormComponents from '../../form';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nconst multiSelectVariants = cva('m-1 rounded-[6px]', {\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tdefault: 'text-foreground bg-background-secondary dark:bg-popover hover:bg-background-secondary',\r\n\t\t\tsecondary: 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\r\n\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\r\n\t\t\tinverted: 'inverted',\r\n\t\t},\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tvariant: 'default',\r\n\t},\r\n});\r\n\r\nexport interface MultiSelectOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n}\r\n\r\ninterface MultiSelectProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof multiSelectVariants> {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel?: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\toptions: MultiSelectOption[];\r\n\tplaceholder?: string;\r\n\tmaxCount?: number;\r\n\tmodalPopover?: boolean;\r\n\tasChild?: boolean;\r\n\tclassName?: string;\r\n\trequired?: boolean;\r\n}\r\n\r\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\r\n\t(\r\n\t\t{\r\n\t\t\tcontrol,\r\n name, \r\n label,\r\n subLabel,\r\n helpText,\r\n options,\r\n\t\t\tvariant,\r\n\t\t\tplaceholder,\r\n\t\t\tmaxCount = 2,\r\n\t\t\tmodalPopover = false,\r\n\t\t\tasChild = false,\r\n\t\t\tclassName,\r\n required,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref,\r\n\t) => {\r\n\t\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\r\n\t const DEFAULT_PLACEHOLDER_FILTER = 'Digite para buscar...';\r\n\t const DEFAULT_PLACEHOLDER = 'Selecione';\r\n\r\n\t\tconst toggleOption = (option: MultiSelectOption, field: ControllerRenderProps<FieldValues, string>) => {\r\n const prevValue = field.value || [];\r\n\r\n const newValue = prevValue?.some((item: MultiSelectOption) => item.value === option.value)\r\n ? prevValue.filter((item: MultiSelectOption) => item.value !== option.value)\r\n : [...prevValue, option];\r\n\r\n field.onChange(newValue);\r\n\t\t};\r\n\r\n\t\tconst handleClear = (field: ControllerRenderProps<FieldValues, string>) => {\r\n\t\t\tfield.onChange([]);\r\n\t\t};\r\n\r\n\t\tconst handleTogglePopover = () => {\r\n\t\t\tsetIsPopoverOpen((prev) => !prev);\r\n\t\t};\r\n\r\n\t\tconst toggleAll = (field: ControllerRenderProps<FieldValues, string>) => {\r\n\t\t\tif (field.value?.length === options.length) {\r\n\t\t\t\thandleClear(field);\r\n\t\t\t} else {\r\n\t\t\t\tconst allValues = options.map((option) => option);\r\n\t\t\t\tfield.onChange(allValues);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn (\r\n <FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }) => (\r\n\t\t\t\t<FormItem>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n ref={ref}\r\n {...props}\r\n onClick={handleTogglePopover}\r\n className={cn(\r\n 'flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-background hover:bg-background [&_svg]:size-3.5',\r\n className,\r\n )}\r\n >\r\n {field.value?.length > 0 ? (\r\n <div className='flex justify-between items-center w-full'>\r\n <div className='flex items-center'>\r\n <div className={`grid grid-cols-${maxCount}`}>\r\n {field.value.slice(0, maxCount).map((option: MultiSelectOption) => {\r\n return (\r\n <Badge\r\n key={`msoptlbl-${option.value}`}\r\n className={cn(multiSelectVariants({ variant }))}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n toggleOption(option, field);\r\n }}\r\n >\r\n <div className='truncate'>{option?.label}</div>\r\n <X className='ml-2 cursor-pointer text-zinc-500' />\r\n </Badge>\r\n );\r\n })}\r\n </div>\r\n {field.value?.length > maxCount && (\r\n <Badge variant={'surface'}\r\n >\r\n {`+${field.value?.length - maxCount}`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className='flex items-center justify-between'>\r\n <ChevronDown className='h-4 mx-2 cursor-pointer text-muted-foreground' />\r\n </div>\r\n </div>\r\n ) : (\r\n <div className='flex items-center justify-between w-full mx-auto'>\r\n <span className='text-sm text-muted-foreground mx-3'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\r\n <ChevronDown className='h-4 cursor-pointer text-muted-foreground mx-2' />\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className={cn('w-auto p-0', 'w-[--radix-popover-trigger-width]')} align='start' onEscapeKeyDown={() => setIsPopoverOpen(false)}>\r\n <Command>\r\n <CommandInput placeholder={DEFAULT_PLACEHOLDER_FILTER} />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem key='all' onSelect={() => toggleAll(field)} className='cursor-pointer'>\r\n <div\r\n className={cn(\r\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\r\n field.value?.length === options.length\r\n ? 'bg-primary text-primary-foreground'\r\n : 'opacity-50 [&_svg]:invisible',\r\n )}\r\n >\r\n <CheckIcon className='h-4 w-4' />\r\n </div>\r\n <span>(Selecionar Todos)</span>\r\n </CommandItem>\r\n {options.map((option) => {\r\n const isSelected = field.value?.some((item: MultiSelectOption) => item.value === option.value);\r\n return (\r\n <CommandItem key={`msopt-${option.value}`} onSelect={() => toggleOption(option, field)} className='cursor-pointer'>\r\n <div\r\n className={cn(\r\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\r\n isSelected ? 'bg-primary text-primary-foreground' : 'opacity-50 [&_svg]:invisible',\r\n )}\r\n >\r\n <CheckIcon className='h-4 w-4' />\r\n </div>\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n );\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nMultiSelect.displayName = 'MultiSelect';\r\n","import { Eye, EyeOff } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputPassWord: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [showPassword, setShowPassword] = useState(true);\r\n\tconst togglePasswordVisibility = () => setShowPassword((prev) => !prev);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<div className='relative w-full'>\r\n\t\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\ttype={showPassword ? 'password' : 'text'}\r\n\t\t\t\t\t\t\t\tname={name}\r\n\t\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<button type='button' onClick={togglePasswordVisibility} className='absolute inset-y-0 right-2 flex items-center'>\r\n\t\t\t\t\t\t\t\t{showPassword ? <EyeOff className='w-5 h-5 text-slate-500' /> : <Eye className='w-5 h-5 text-slate-500' />}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputPercent: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tsymbol='%'\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputFone } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nconst masks = ['(99) 9999-99999', '(99) 9 9999-9999'];\r\n\r\nexport const FormInputPhone: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [mask, setMask] = useState(masks[0]);\r\n\r\n\tconst getMask = (val: string) => (val.replace(/\\D/g, '').length > 10 ? masks[1] : masks[0]);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => {\r\n\t\t\t\tuseEffect(() => {\r\n\t\t\t\t\tsetMask(getMask(field.value || ''));\r\n\t\t\t\t}, [field.value]);\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t\t<MaskInputFone\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder ?? '(00) 0 0000-0000'}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\t\tonChange?.(e);\r\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\t\tsetMask(getMask(e.target.value));\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => onKeyUp?.(e)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t\t</FormItem>\r\n\t\t\t\t);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { Label } from '../../label';\r\nimport { RadioGroup, RadioGroupItem } from '../../radio-group';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nexport interface RadioOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n\tdescription?: string;\r\n\tdisabled?: boolean;\r\n}\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tvalue?: string;\r\n\tlabel?: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tclassNameOptions?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\toptions?: RadioOption[];\r\n\tonChange?: (value: string) => void;\r\n}\r\n\r\nexport const FormRadioGroup: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tvalue,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tclassName,\r\n\tclassNameOptions,\r\n\tdisabled,\r\n\trequired,\r\n\toptions,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\tkey={value}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem>\r\n\t\t\t\t\t<div className={cn('flex items-center space-x-1.5 mb-2', className)}>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<RadioGroup\r\n\t\t\t\t\t\t\tonValueChange={(value: string) => {\r\n\t\t\t\t\t\t\t\tfield?.onChange?.(value);\r\n\t\t\t\t\t\t\t\tonChange?.(value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdefaultValue={field.value}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div className={cn('flex flex-grow gap-6', classNameOptions)}>\r\n\t\t\t\t\t\t\t\t{options?.map((option, index) => (\r\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col' key={`radio-${name}-${index}`}>\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center space-x-2' key={`radio-${name}-${index}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\tid={`r${option.value}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={field.value === option.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label htmlFor={`r${option.value}`} className={option.disabled ? 'opacity-50' : ''}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\r\n\t\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t{option.description && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div className={cn('pl-6 text-zinc-500', { 'opacity-50': option.disabled })}>{option.description}</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</RadioGroup>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { Select } from '@radix-ui/react-select';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nexport interface SelectOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n\tdefault?: boolean;\r\n}\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\toptions: SelectOption[];\r\n}\r\n\r\nexport const FormSelect: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required, options }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Select onValueChange={field.onChange} defaultValue={field.value} disabled={disabled}>\r\n\t\t\t\t\t\t\t<SelectTrigger className={cn('', formState.errors[name] ? 'border-red-600' : '', className)}>\r\n\t\t\t\t\t\t\t\t<SelectValue className='text-slate-400' placeholder={placeholder} />\r\n\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t<SelectContent className='bg-white cursor-pointer'>\r\n\t\t\t\t\t\t\t\t<SelectGroup>\r\n\t\t\t\t\t\t\t\t\t{options.map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={option.value} value={option.value}>\r\n\t\t\t\t\t\t\t\t\t\t\t{option.label}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectGroup>\r\n\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { Switch } from '../../switch';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\tonCheckedChange?: (checked: boolean) => void;\r\n}\r\n\r\nexport const FormInputSwitch: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, onCheckedChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }: { field: ControllerRenderProps<FieldValues, string> }) => (\r\n\t\t\t\t<FormItem className={cn('flex items-top gap-x-2', className)}>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Switch\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tchecked={field.value}\r\n\t\t\t\t\t\t\tonCheckedChange={(checked: boolean) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(checked);\r\n\t\t\t\t\t\t\t\tif (onCheckedChange) {\r\n\t\t\t\t\t\t\t\t\tonCheckedChange(checked);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, false, 'pb-0')}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tinputRef?: React.Ref<HTMLInputElement>;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputText: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tinputRef,\r\n\tonKeyUp,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tvalue={field.value || ''}\r\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { Textarea } from '../../textarea';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\r\n}\r\n\r\nexport const FormTextarea: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName='resize-none outline-none focus:outline-none'\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLTextAreaElement>) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { zodResolver } from '@hookform/resolvers/zod';\r\nimport { FieldErrors, useForm } from 'react-hook-form';\r\nimport { z } from 'zod';\r\nimport { Button } from '../../button';\r\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../dialog';\r\nimport { Form } from '../../form';\r\nimport { toast } from '../../use-toast';\r\nimport { FormRadioGroup } from '../form/radio-group';\r\nimport { ExportDataTable } from './types/data-table';\r\n\r\ninterface DataTableExportProps {\r\n\texportData?: ExportDataTable;\r\n\ttotalRows: number;\r\n}\r\n\r\nexport function DataTableExport({ exportData, totalRows }: DataTableExportProps) {\r\n\tconst exportXlSX = () => {\r\n\t\tif (!exportData) return;\r\n\r\n\t\tif (totalRows === 0) {\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: 'Não há dados para exportar.',\r\n\t\t\t\tvariant: 'destructive',\r\n\t\t\t});\r\n\t\t\treturn {};\r\n\t\t}\r\n\t\tconst params = new URLSearchParams(exportData.params).toString();\r\n\t\twindow.open(`${exportData.url}?${params}`, '_blank');\r\n\t};\r\n\r\n\tconst renderExport = () => {\r\n\t\tif (!exportData) return null;\r\n\r\n\t\tif (exportData.type === 'xlsx') {\r\n\t\t\treturn (\r\n\t\t\t\t<Button variant='secondary' onClick={exportXlSX}>\r\n\t\t\t\t\tExportar\r\n\t\t\t\t</Button>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (exportData.type === 'dialog') {\r\n\t\t\tconst ExportDataSchema = z.object({\r\n\t\t\t\tmodel: z.string(),\r\n\t\t\t\tformat: z.string(),\r\n\t\t\t});\r\n\r\n\t\t\tconst form = useForm<z.infer<typeof ExportDataSchema>>({\r\n\t\t\t\tmode: 'onTouched',\r\n\t\t\t\tresolver: zodResolver(ExportDataSchema),\r\n\t\t\t});\r\n\r\n\t\t\tconst { control, trigger, handleSubmit } = form;\r\n\r\n\t\t\tconst onSubmit = async (values: z.infer<typeof ExportDataSchema>) => {\r\n\t\t\t\tawait trigger();\r\n\r\n\t\t\t\ttoast({\r\n\t\t\t\t\ttitle: 'Em desenvolvimento.',\r\n\t\t\t\t\tvariant: 'destructive',\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tconst onError = async (errors: FieldErrors<z.infer<typeof ExportDataSchema>>) => {\r\n\t\t\t\ttoast({\r\n\t\t\t\t\ttitle: 'Erro ao salvar',\r\n\t\t\t\t\tdescription: 'Verifique os campos obrigatórios',\r\n\t\t\t\t\tvariant: 'destructive',\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<Form {...(form as any)} onSubmit={handleSubmit(onSubmit, onError)}>\r\n\t\t\t\t\t<Dialog>\r\n\t\t\t\t\t\t<DialogTrigger asChild>\r\n\t\t\t\t\t\t\t<Button variant='secondary'>Exportar</Button>\r\n\t\t\t\t\t\t</DialogTrigger>\r\n\t\t\t\t\t\t<DialogContent hideClose className='fixed p-6 rounded-lg w-[451px]'>\r\n\t\t\t\t\t\t\t<DialogHeader>\r\n\t\t\t\t\t\t\t\t<DialogTitle>Exportar</DialogTitle>\r\n\t\t\t\t\t\t\t\t<DialogDescription />\r\n\t\t\t\t\t\t\t</DialogHeader>\r\n\t\t\t\t\t\t\t<div className='flex flex-col gap-6'>\r\n\t\t\t\t\t\t\t\t<FormRadioGroup\r\n\t\t\t\t\t\t\t\t\tcontrol={control}\r\n\t\t\t\t\t\t\t\t\tname='model'\r\n\t\t\t\t\t\t\t\t\tlabel='Selecione o modelo de visualização'\r\n\t\t\t\t\t\t\t\t\toptions={[\r\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'Resumido' },\r\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'Detalhado' },\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\r\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<FormRadioGroup\r\n\t\t\t\t\t\t\t\t\tcontrol={control}\r\n\t\t\t\t\t\t\t\t\tname='format'\r\n\t\t\t\t\t\t\t\t\tlabel='Selecione o formato desejado para exportação'\r\n\t\t\t\t\t\t\t\t\toptions={[\r\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'PDF' },\r\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'XLSX' },\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\r\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<DialogFooter className='sm:justify-end gap-2'>\r\n\t\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\r\n\t\t\t\t\t\t\t\t\tFechar\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t<Button type='button' variant='default' onClick={() => exportXlSX()}>\r\n\t\t\t\t\t\t\t\t\tExportar\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t</DialogFooter>\r\n\t\t\t\t\t\t</DialogContent>\r\n\t\t\t\t\t</Dialog>\r\n\t\t\t\t</Form>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\treturn exportData && renderExport();\r\n}\r\n","import { PaginationState } from '@tanstack/react-table';\r\nimport { Badge } from '../../badge';\r\nimport {\r\n\tPagination,\r\n\tPaginationContent,\r\n\tPaginationEllipsis,\r\n\tPaginationItem,\r\n\tPaginationLink,\r\n\tPaginationNext,\r\n\tPaginationPrevious,\r\n} from '../../pagination';\r\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\r\nimport { DataTableExport } from './data-table-export';\r\nimport { ExportDataTable } from './types/data-table';\r\n\r\ninterface DataTableFooterProps<TData> {\r\n\thidePagination?: boolean;\r\n\tdisablePagination?: boolean;\r\n\tisLoading?: boolean;\r\n\ttotalRows: number;\r\n\ttotalPages: number;\r\n\tcurrentPage: number;\r\n\tpagination: PaginationState;\r\n\thandlePageSize: (value: number) => void;\r\n\thandlePage: (value: number) => void;\r\n\tpreviousPage: {\r\n\t\taction: () => void;\r\n\t\tdisabled: boolean;\r\n\t};\r\n\tnextPage: {\r\n\t\taction: () => void;\r\n\t\tdisabled: boolean;\r\n\t};\r\n\texportData?: ExportDataTable;\r\n}\r\n\r\nexport function DataTableFooter<TData>({\r\n\tisLoading,\r\n\ttotalRows,\r\n\ttotalPages,\r\n\tcurrentPage,\r\n\thidePagination,\r\n\tdisablePagination,\r\n\tpagination,\r\n\thandlePageSize,\r\n\thandlePage,\r\n\tpreviousPage,\r\n\tnextPage,\r\n\texportData,\r\n}: DataTableFooterProps<TData>) {\r\n\tconst renderPaginationPages = () => {\r\n\t\tconst paginationItems: JSX.Element[] = [];\r\n\r\n\t\tconst createPaginationItem = (pageIndex: number) => (\r\n\t\t\t<PaginationItem key={pageIndex}>\r\n\t\t\t\t<PaginationLink onClick={() => handlePage(pageIndex)} isActive={currentPage === pageIndex}>\r\n\t\t\t\t\t{pageIndex + 1}\r\n\t\t\t\t</PaginationLink>\r\n\t\t\t</PaginationItem>\r\n\t\t);\r\n\r\n\t\t// Add first page\r\n\t\tpaginationItems.push(createPaginationItem(0));\r\n\r\n\t\t// Add ellipsis if needed\r\n\t\tif (currentPage > 2) {\r\n\t\t\tpaginationItems.push(<PaginationEllipsis key='start-ellipsis' />);\r\n\t\t}\r\n\r\n\t\t// Add pages before current page\r\n\t\tfor (let i = Math.max(1, currentPage - 1); i < currentPage; i++) {\r\n\t\t\tpaginationItems.push(createPaginationItem(i));\r\n\t\t}\r\n\r\n\t\t// Add current page\r\n\t\tif (currentPage !== 0 && currentPage !== totalPages - 1) {\r\n\t\t\tpaginationItems.push(createPaginationItem(currentPage));\r\n\t\t}\r\n\r\n\t\t// Add pages after current page\r\n\t\tfor (let i = currentPage + 1; i <= Math.min(totalPages - 2, currentPage + 1); i++) {\r\n\t\t\tpaginationItems.push(createPaginationItem(i));\r\n\t\t}\r\n\r\n\t\t// Add ellipsis if needed\r\n\t\tif (currentPage < totalPages - 3) {\r\n\t\t\tpaginationItems.push(<PaginationEllipsis key='end-ellipsis' />);\r\n\t\t}\r\n\r\n\t\t// Add last page\r\n\t\tif (totalPages > 1) {\r\n\t\t\tpaginationItems.push(createPaginationItem(totalPages - 1));\r\n\t\t}\r\n\r\n\t\treturn paginationItems;\r\n\t};\r\n\r\n\treturn (\r\n\t\t!hidePagination && (\r\n\t\t\t<footer className='flex items-center justify-between h-[64px]'>\r\n\t\t\t\t<div className='flex flex-row items-center gap-6'>\r\n\t\t\t\t\t<div className='flex flex-row items-center gap-2'>\r\n\t\t\t\t\t\tLinhas por página\r\n\t\t\t\t\t\t<Select\r\n\t\t\t\t\t\t\tvalue={pagination.pageSize.toString()}\r\n\t\t\t\t\t\t\tonValueChange={(value) => handlePageSize(Number(value))}\r\n\t\t\t\t\t\t\tdisabled={isLoading || disablePagination}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<SelectTrigger className='w-20'>\r\n\t\t\t\t\t\t\t\t<SelectValue placeholder='' className='text-slate-800 font-medium' />\r\n\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t<SelectGroup>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='25'>25</SelectItem>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='50'>50</SelectItem>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='100'>100</SelectItem>\r\n\t\t\t\t\t\t\t\t</SelectGroup>\r\n\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<DataTableExport exportData={exportData} totalRows={totalPages} />\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className='flex items-center gap-4'>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t{!isLoading && (\r\n\t\t\t\t\t\t\t<Badge variant='secondary'>{totalRows === 0 ? 'Nenhum item' : totalRows === 1 ? '1 item' : `${totalRows} itens`}</Badge>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<Pagination>\r\n\t\t\t\t\t\t\t<PaginationContent>\r\n\t\t\t\t\t\t\t\t<PaginationItem>\r\n\t\t\t\t\t\t\t\t\t<PaginationPrevious onClick={() => previousPage.action()} disabled={previousPage.disabled || disablePagination} />\r\n\t\t\t\t\t\t\t\t</PaginationItem>\r\n\t\t\t\t\t\t\t\t{renderPaginationPages()}\r\n\t\t\t\t\t\t\t\t<PaginationItem>\r\n\t\t\t\t\t\t\t\t\t<PaginationNext onClick={() => nextPage.action()} disabled={nextPage.disabled || disablePagination} />\r\n\t\t\t\t\t\t\t\t</PaginationItem>\r\n\t\t\t\t\t\t\t</PaginationContent>\r\n\t\t\t\t\t\t</Pagination>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</footer>\r\n\t\t)\r\n\t);\r\n}\r\n","import { Table, flexRender } from '@tanstack/react-table';\r\nimport { ArrowUpDown, MoveDown, MoveUp } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Checkbox } from '../../checkbox';\r\nimport { TableHead, TableHeader, TableRow } from '../../table';\r\n\r\ninterface DataTableHeaderProps<TData> {\r\n\ttable: Table<TData>;\r\n\tcanActionsRow?: boolean;\r\n\tenableMultiRowSelection?: boolean;\r\n}\r\n\r\nexport function DataTableHeader<TData>({ table, canActionsRow, enableMultiRowSelection }: DataTableHeaderProps<TData>) {\r\n\tconst headerGroups = table.getHeaderGroups();\r\n\treturn (\r\n\t\t<TableHeader>\r\n\t\t\t{headerGroups.map((headerGroup) => (\r\n\t\t\t\t<TableRow key={headerGroup.id} className='bg-background dark:bg-datatable-accent rounded-t-md sticky top-0 z-10'>\r\n\t\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t\t<TableHead className='h-[65px] w-6'>\r\n\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\tchecked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\r\n\t\t\t\t\t\t\t\tonCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</TableHead>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{headerGroup.headers.map((header) => (\r\n\t\t\t\t\t\t<TableHead\r\n\t\t\t\t\t\t\tkey={header.id}\r\n\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t'h-[65px] whitespace-nowrap',\r\n\t\t\t\t\t\t\t\theader.column.id === 'id' ? 'sticky left-0 z-20' : '',\r\n\t\t\t\t\t\t\t\theader.column.columnDef.enableSorting ? 'pl-2' : '',\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{header.column.columnDef.enableSorting ? (\r\n\t\t\t\t\t\t\t\t<Button variant='ghost' onClick={() => header.column.toggleSorting(header.column.getIsSorted() === 'asc')}>\r\n\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\r\n\t\t\t\t\t\t\t\t\t{header.column.getIsSorted() === 'asc' ? (\r\n\t\t\t\t\t\t\t\t\t\t<MoveUp className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t) : header.column.getIsSorted() === 'desc' ? (\r\n\t\t\t\t\t\t\t\t\t\t<MoveDown className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<ArrowUpDown className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\tflexRender(header.column.columnDef.header, header.getContext())\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</TableHead>\r\n\t\t\t\t\t))}\r\n\t\t\t\t\t{canActionsRow && <TableHead />}\r\n\t\t\t\t</TableRow>\r\n\t\t\t))}\r\n\t\t</TableHeader>\r\n\t);\r\n}\r\n","import { ColumnDef, Table, flexRender } from '@tanstack/react-table';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Checkbox } from '../../checkbox';\r\nimport { Skeleton } from '../../skeleton';\r\nimport { TableCell, TableRow } from '../../table';\r\nimport { ActionRow } from './types/data-table';\r\n\r\ninterface DataTableRowsProps<TData> {\r\n\ttable: Table<TData>;\r\n\tcolumns: ColumnDef<TData>[];\r\n\tisLoading?: boolean;\r\n\tactionsRow?: ActionRow[];\r\n\ttextNoRecords?: string;\r\n\tenableMultiRowSelection?: boolean;\r\n}\r\n\r\nexport function DataTableRows<TData>({ table, isLoading, columns, actionsRow, textNoRecords, enableMultiRowSelection }: DataTableRowsProps<TData>) {\r\n\tconst rows = table.getRowModel().rows;\r\n\r\n\tconst renderLoadingRows = () => {\r\n\t\tconst rows: JSX.Element[] = [];\r\n\r\n\t\tfor (let i = 0; i < 10; i++) {\r\n\t\t\trows.push(\r\n\t\t\t\t<TableRow key={`loading-row-${i}`}>\r\n\t\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t\t<TableCell className='py-2'>\r\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\r\n\t\t\t\t\t\t</TableCell>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{columns.map((column) => (\r\n\t\t\t\t\t\t<TableCell key={column.id} className='py-2'>\r\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\r\n\t\t\t\t\t\t</TableCell>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</TableRow>,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn rows;\r\n\t};\r\n\r\n\tconst renderRows = () => {\r\n\t\treturn rows.map((row) => (\r\n\t\t\t<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'} className='group'>\r\n\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t<TableCell className='py-4'>\r\n\t\t\t\t\t\t<Checkbox checked={row.getIsSelected()} onCheckedChange={(value) => row.toggleSelected(!!value)} aria-label='Select row' />\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t)}\r\n\t\t\t\t{row.getVisibleCells().map((cell) => (\r\n\t\t\t\t\t<TableCell key={cell.id} className='py-4'>\r\n\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t))}\r\n\t\t\t\t{actionsRow && (\r\n\t\t\t\t\t<TableCell\r\n\t\t\t\t\t\tclassName='opacity-0 group-hover:opacity-100 hover:opacity-100 relative overflow-visible w-[0px]'\r\n\t\t\t\t\t\tkey={`buttons-${row.id}`}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div className='absolute transition-colors group-hover:bg-datatable-accent overflow-visible right-5 -translate-y-1/2 flex space-x-4'>\r\n\t\t\t\t\t\t\t{actionsRow.map((action, index) => (\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tkey={`action-row-${index}`}\r\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\r\n\t\t\t\t\t\t\t\t\tclassName={cn('bg-datatable-accent', action.className?.(row.original) || '')}\r\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(row.original)}\r\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled?.(row.original) || false}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{action.icon}\r\n\t\t\t\t\t\t\t\t\t{action.label}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t)}\r\n\t\t\t</TableRow>\r\n\t\t));\r\n\t};\r\n\r\n\tconst renderEmptyRows = () => {\r\n\t\tconst colSpan = columns.length + (actionsRow ? 1 : 0);\r\n\t\treturn (\r\n\t\t\t<TableRow>\r\n\t\t\t\t<TableCell colSpan={colSpan} className='text-center h-[53px]'>\r\n\t\t\t\t\t{textNoRecords ? textNoRecords : 'Sem resultados.'}\r\n\t\t\t\t</TableCell>\r\n\t\t\t</TableRow>\r\n\t\t);\r\n\t};\r\n\r\n\treturn isLoading ? renderLoadingRows() : rows.length ? renderRows() : renderEmptyRows();\r\n}\r\n","import {\r\n\tColumnDef,\r\n\tPaginationState,\r\n\tSortingState,\r\n\tgetCoreRowModel,\r\n\tgetFilteredRowModel,\r\n\tgetPaginationRowModel,\r\n\tgetSortedRowModel,\r\n\tuseReactTable,\r\n} from '@tanstack/react-table';\r\nimport { Filter, Search } from 'lucide-react';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from '../../sheet';\r\nimport { Table, TableBody } from '../../table';\r\nimport { DataTableFooter } from './data-table-footer';\r\nimport { DataTableHeader } from './data-table-header';\r\nimport { DataTableRows } from './data-table-rows';\r\nimport { ActionRow, ActionTable, ExportDataTable, FiltersActions } from './types/data-table';\r\n\r\nexport interface DataTableProps<TData> {\r\n\tcolumns: ColumnDef<TData>[];\r\n\tdata: TData[];\r\n\tactions?: ActionTable[];\r\n\tactionsRow?: ActionRow[];\r\n\tcustomFilters?: JSX.Element;\r\n\tclassName?: string;\r\n\ttitle?: string;\r\n\trowsPage?: number;\r\n\tsetSearch?: (value?: string) => void;\r\n\tsetSelectRows?: (ids: string[]) => void;\r\n\tpageChanged?: (pageNumber: number) => void;\r\n\tpageSizeChanged?: (pageSize: number) => void;\r\n\ttotalRows?: number;\r\n\tfiltersActions?: FiltersActions;\r\n\texportData?: ExportDataTable;\r\n\ttextNoRecords?: string;\r\n\theightRemainingScroll?: number;\r\n\thideFilterField?: boolean;\r\n\tmultiRowSelection?: {\r\n\t\tcallback: (selectedRows: any[]) => void;\r\n\t};\r\n\thidePagination?: boolean;\r\n\tdisablePagination?: boolean;\r\n\tisLoading?: boolean;\r\n\tfixedHeight?: number;\r\n}\r\n\r\nexport interface OriginalDataTableData {\r\n\tid: string;\r\n\tchecked?: boolean;\r\n}\r\n\r\nexport function DataTable<TData>({\r\n\tcolumns,\r\n\tdata,\r\n\tclassName,\r\n\ttitle,\r\n\trowsPage,\r\n\tactions,\r\n\tactionsRow,\r\n\tcustomFilters,\r\n\tsetSearch,\r\n\tpageChanged,\r\n\tpageSizeChanged,\r\n\ttotalRows,\r\n\tfiltersActions,\r\n\texportData,\r\n\ttextNoRecords,\r\n\theightRemainingScroll,\r\n\thideFilterField,\r\n\tmultiRowSelection,\r\n\thidePagination,\r\n\tdisablePagination,\r\n\tisLoading,\r\n\tfixedHeight,\r\n}: DataTableProps<TData>) {\r\n\tconst [sorting, setSorting] = useState<SortingState>([]);\r\n\tconst [pagination, setPagination] = useState<PaginationState>({\r\n\t\tpageIndex: 0,\r\n\t\tpageSize: rowsPage ?? 25,\r\n\t});\r\n\tconst enableMultiRowSelection = multiRowSelection !== undefined;\r\n\tconst [rowSelection, setRowSelection] = useState(\r\n\t\tenableMultiRowSelection\r\n\t\t\t? Object.fromEntries(\r\n\t\t\t\t\t(Array.isArray(data) ? data : []).map((row: any, idx: number) => {\r\n\t\t\t\t\t\treturn [idx, row.checked];\r\n\t\t\t\t\t}),\r\n\t\t\t )\r\n\t\t\t: {},\r\n\t);\r\n\tconst debounceTimeout = useRef<NodeJS.Timeout | null>(null);\r\n\tconst tableContainerRef = useRef<HTMLDivElement>(null);\r\n\tconst [tableHeight, setTableHeight] = useState('auto');\r\n\ttotalRows = totalRows ?? data.length;\r\n\r\n\tconst table = useReactTable({\r\n\t\tmanualPagination: true,\r\n\t\tdata: data,\r\n\t\tcolumns,\r\n\t\tgetPaginationRowModel: getPaginationRowModel(),\r\n\t\tonPaginationChange: setPagination,\r\n\t\tgetCoreRowModel: getCoreRowModel(),\r\n\t\tonSortingChange: setSorting,\r\n\t\tgetSortedRowModel: getSortedRowModel(),\r\n\t\tgetFilteredRowModel: getFilteredRowModel(),\r\n\t\tonRowSelectionChange: (rowSelection) => {\r\n\t\t\tsetRowSelection(rowSelection);\r\n\t\t},\r\n\t\tenableMultiRowSelection: enableMultiRowSelection,\r\n\t\tstate: { pagination, rowSelection, sorting },\r\n\t\tpageCount: Math.ceil(totalRows / pagination.pageSize),\r\n\t});\r\n\r\n\tconst totalPages = table.getPageCount();\r\n\tconst currentPage = table.getState().pagination.pageIndex;\r\n\tconst selectedRows = table.getSelectedRowModel().rows;\r\n\tconst selectedIds = selectedRows.map((row) => (row.original as OriginalDataTableData).id);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (data.length === 0 && pagination.pageIndex > 0) {\r\n\t\t\tsetPagination({ ...pagination, pageIndex: 0 });\r\n\t\t}\r\n\t}, [data]);\r\n\r\n\tuseEffect(() => {\r\n\t\thandleResize();\r\n\r\n\t\twindow.addEventListener('resize', handleResize);\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('resize', handleResize);\r\n\t\t};\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (pageChanged) pageChanged(pagination.pageIndex + 1);\r\n\t}, [pagination]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst selectedRowsChecked = selectedRows.map((row) => row.original);\r\n\t\tif (multiRowSelection && selectedRowsChecked.length > 0) {\r\n\t\t\tmultiRowSelection.callback(selectedRowsChecked);\r\n\t\t}\r\n\t}, [rowSelection]);\r\n\r\n\tconst handleResize = () => {\r\n\t\tif (tableContainerRef.current) {\r\n\t\t\tconst newHeight = window.innerHeight - tableContainerRef.current.getBoundingClientRect().top - (hidePagination ? 30 : 74);\r\n\r\n\t\t\tsetTableHeight(`${newHeight - (heightRemainingScroll ?? 0)}px`);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleSearchChange = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n\t\tconst value = event.currentTarget.value;\r\n\r\n\t\tif (debounceTimeout.current) {\r\n\t\t\tclearTimeout(debounceTimeout.current);\r\n\t\t}\r\n\r\n\t\tdebounceTimeout.current = setTimeout(() => {\r\n\t\t\tsetSearch?.(value);\r\n\t\t\thandlePage(0);\r\n\t\t}, 300);\r\n\t};\r\n\r\n\tconst handlePageSize = (value: number) => {\r\n\t\tpageSizeChanged?.(value);\r\n\t\tsetPagination({ pageIndex: 0, pageSize: value });\r\n\t};\r\n\r\n\tconst handlePage = (index: number) => {\r\n\t\tif (index !== currentPage) {\r\n\t\t\tsetPagination({ ...pagination, pageIndex: index });\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className='flex flex-col flex-1'>\r\n\t\t\t{(!hideFilterField || filtersActions || customFilters || actions) && (\r\n\t\t\t\t<div className='flex items-end justify-between mb-4 space-x-6'>\r\n\t\t\t\t\t<div className='flex items-center gap-x-4'>\r\n\t\t\t\t\t\t{!hideFilterField && (\r\n\t\t\t\t\t\t\t<div className='flex bg-background items-center border border-slate-300 rounded-sm w-[350px] overflow-hidden focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 group'>\r\n\t\t\t\t\t\t\t\t<div className='pl-3.5 transform transition-transform duration-300 group-hover:-translate-x-1'>\r\n\t\t\t\t\t\t\t\t\t<Search size={18} className='w-5 h-5 stroke-zinc-500 dark:stroke-default' />\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\tplaceholder='Buscar'\r\n\t\t\t\t\t\t\t\t\tonKeyUp={(event) => {\r\n\t\t\t\t\t\t\t\t\t\thandleSearchChange(event);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tclassName='w-full bg-background text-default border-none focus:ring-0 focus:outline-none px-3 py-2 transform transition-transform duration-300 group-hover:-translate-x-1 '\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{filtersActions && (\r\n\t\t\t\t\t\t\t<Sheet open={filtersActions.filterOpen} onOpenChange={filtersActions.setFilterOpen}>\r\n\t\t\t\t\t\t\t\t<SheetTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t<Button variant='secondary' type='button'>\r\n\t\t\t\t\t\t\t\t\t\t<Filter size={20} className='h-4 w-4' /> Filtros\r\n\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div className='bg-background-primary text-white rounded-full h-5 w-5 flex items-center justify-center text-sm placeholder:text-muted-foreground'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</SheetTrigger>\r\n\t\t\t\t\t\t\t\t<SheetContent>\r\n\t\t\t\t\t\t\t\t\t<SheetHeader>\r\n\t\t\t\t\t\t\t\t\t\t<SheetTitle>Filtros</SheetTitle>\r\n\t\t\t\t\t\t\t\t\t\t<SheetDescription />\r\n\t\t\t\t\t\t\t\t\t</SheetHeader>\r\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col py-6'>{filtersActions.fields}</div>\r\n\t\t\t\t\t\t\t\t</SheetContent>\r\n\t\t\t\t\t\t\t</Sheet>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{customFilters}\r\n\t\t\t\t\t<div className='flex space-x-4 content-end'>\r\n\t\t\t\t\t\t{actions?.map((action, index) => (\r\n\t\t\t\t\t\t\t<div key={`action-table-${index}`}>\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(selectedIds, selectedRows)}\r\n\t\t\t\t\t\t\t\t\tclassName={cn(action.className, action.hideUnselectedRows && selectedRows.length === 0 ? 'hidden' : '')}\r\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\r\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div className='[&_svg]:size-5'>{action.icon}</div>\r\n\t\t\t\t\t\t\t\t\t{action.label}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t<div className={`flex-1 flex flex-col rounded-md border ${className}`}>\r\n\t\t\t\t<div className='flex items-center justify-between'>{title && <div className='text-h4 p-4'>{title}</div>}</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tid='data-table'\r\n\t\t\t\t\tref={tableContainerRef}\r\n\t\t\t\t\tstyle={fixedHeight ? { height: fixedHeight } : { height: tableHeight }}\r\n\t\t\t\t\tclassName='flex flex-col justify-between rounded-md overflow-x-auto overflow-y-auto'\r\n\t\t\t\t>\r\n\t\t\t\t\t<Table>\r\n\t\t\t\t\t\t<DataTableHeader\r\n\t\t\t\t\t\t\ttable={table}\r\n\t\t\t\t\t\t\tcanActionsRow={actionsRow && actionsRow.length > 0}\r\n\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<TableBody className='bg-background'>\r\n\t\t\t\t\t\t\t<DataTableRows\r\n\t\t\t\t\t\t\t\ttable={table}\r\n\t\t\t\t\t\t\t\tcolumns={columns}\r\n\t\t\t\t\t\t\t\tisLoading={isLoading}\r\n\t\t\t\t\t\t\t\tactionsRow={actionsRow}\r\n\t\t\t\t\t\t\t\ttextNoRecords={textNoRecords}\r\n\t\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</TableBody>\r\n\t\t\t\t\t</Table>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<DataTableFooter\r\n\t\t\t\thidePagination={hidePagination}\r\n\t\t\t\tdisablePagination={disablePagination}\r\n\t\t\t\tisLoading={isLoading}\r\n\t\t\t\ttotalRows={totalRows}\r\n\t\t\t\ttotalPages={totalPages}\r\n\t\t\t\tcurrentPage={currentPage}\r\n\t\t\t\tpagination={pagination}\r\n\t\t\t\thandlePageSize={handlePageSize}\r\n\t\t\t\thandlePage={handlePage}\r\n\t\t\t\tpreviousPage={{ action: () => table.previousPage(), disabled: !table.getCanPreviousPage() }}\r\n\t\t\t\tnextPage={{ action: () => table.nextPage(), disabled: !table.getCanNextPage() }}\r\n\t\t\t\texportData={exportData}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import * as React from 'react';\r\n\r\ninterface SidebarItemTwoLinesProps {\r\n\titem: {\r\n\t\ticonLeft: React.ReactNode;\r\n\t\ttitle: string;\r\n\t\tsubTitle: string;\r\n\t\ticonRight?: React.ReactNode | null;\r\n\t};\r\n}\r\n\r\nconst SidebarItemTwoLines = ({ item }: SidebarItemTwoLinesProps) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className='[&_svg]:size-4 text-white'>{item.iconLeft}</div>\r\n\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\r\n\t\t\t\t<span className='truncate font-semibold'>{item.title}</span>\r\n\t\t\t\t<span className='truncate text-xs text-foreground'>{item.subTitle}</span>\r\n\t\t\t</div>\r\n\t\t\t{item.iconRight}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nexport default SidebarItemTwoLines;\r\n","import { Check, ChevronsUpDown } from 'lucide-react';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\r\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\r\nimport { Module } from './types/sidebar';\r\n\r\ninterface ModuleSwitcherProps {\r\n\tmodules: Module[];\r\n\tactiveModule: Module | undefined;\r\n\tonModuleChange: (module: Module) => void;\r\n}\r\n\r\nconst ModuleSwitcher = ({ modules, activeModule, onModuleChange }: ModuleSwitcherProps) => {\r\n\tconst { isMobile } = useSidebar();\r\n\r\n\treturn modules.length === 1 ? (\r\n\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t<SidebarItemTwoLines\r\n\t\t\t\titem={{\r\n\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>,\r\n\t\t\t\t\ttitle: activeModule?.title ?? '',\r\n\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t</SidebarMenuButton>\r\n\t) : (\r\n\t\t<SidebarMenu>\r\n\t\t\t<SidebarMenuItem>\r\n\t\t\t\t<DropdownMenu>\r\n\t\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\ticonLeft: (\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\ttitle: activeModule?.title ?? '',\r\n\t\t\t\t\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\r\n\t\t\t\t\t\t\t\t\ticonRight: <ChevronsUpDown size={16} />,\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' align='start' side={isMobile ? 'bottom' : 'right'} sideOffset={4}>\r\n\t\t\t\t\t\t{modules.map((module) => (\r\n\t\t\t\t\t\t\t<DropdownMenuItem key={`module-switcher-${module.value}`} onClick={() => onModuleChange?.(module)} className='gap-2 p-2'>\r\n\t\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{module.icon}</div>,\r\n\t\t\t\t\t\t\t\t\t\ttitle: module.title,\r\n\t\t\t\t\t\t\t\t\t\tsubTitle: module.subTitle,\r\n\t\t\t\t\t\t\t\t\t\ticonRight: activeModule?.value === module.value ? <Check size={16} /> : null,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</DropdownMenuContent>\r\n\t\t\t\t</DropdownMenu>\r\n\t\t\t</SidebarMenuItem>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default ModuleSwitcher;\r\n","import { cn } from '../../../../lib/utils';\r\nimport { SidebarMenuButton } from '../../sidebar';\r\nimport { Module, SidebarPage } from './types/sidebar';\r\n\r\ninterface SidebarItemProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick?: (module: Module | null, path: string) => void;\r\n}\r\n\r\nconst SidebarButton = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuButton\r\n\t\t\tasChild\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\r\n\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\r\n\t\t\t)}\r\n\t\t\ttooltip={item.title}\r\n\t\t\tonClick={() => onClick?.(item.module ?? null, item.path)}\r\n\t\t>\r\n\t\t\t<div>\r\n\t\t\t\t<div className='[&_svg]:size-4 text-sidebar-foreground'>{item.icon}</div>\r\n\t\t\t\t<span>{item.title}</span>\r\n\t\t\t</div>\r\n\t\t</SidebarMenuButton>\r\n\t);\r\n};\r\n\r\nexport default SidebarButton;\r\n","import { SidebarMenuItem } from '../../sidebar';\r\nimport SidebarButton from './sidebar-button';\r\nimport { Module, SidebarPage } from './types/sidebar';\r\n\r\ninterface SidebarItemProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick?: (module: Module | null, path: string) => void;\r\n}\r\n\r\nconst SidebarItem = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuItem>\r\n\t\t\t<SidebarButton item={item} selectedRoute={selectedRoute} onClick={onClick} />\r\n\t\t</SidebarMenuItem>\r\n\t);\r\n};\r\n\r\nexport default SidebarItem;\r\n","import { useLocation, useNavigate } from 'react-router-dom';\r\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\r\nimport SidebarItem from './sidebar-item';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavFooterProps {\r\n\tpages: SidebarPage[];\r\n}\r\n\r\nconst NavFooter = ({pages}: NavFooterProps) => {\r\n\tconst navigate = useNavigate();\r\n\tconst location = useLocation();\r\n\tconst selectedRoutePath = location.pathname;\r\n\r\n\treturn (\r\n\t\t<SidebarGroup className='p-0'>\r\n\t\t\t<SidebarGroupContent>\r\n\t\t\t\t<SidebarMenu>\r\n\t\t\t\t\t{pages.map((item) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<SidebarItem\r\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\r\n\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</SidebarMenu>\r\n\t\t\t</SidebarGroupContent>\r\n\t\t</SidebarGroup>\r\n\t);\r\n};\r\n\r\nexport default NavFooter;\r\n","import { ChevronRight } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../collapsible';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, useSidebar } from '../../sidebar';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavSubmenuCollapsibleProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick: (path: string) => void;\r\n}\r\n\r\nconst NavSubmenuCollapsible = ({ item, selectedRoute, onClick }: NavSubmenuCollapsibleProps) => {\r\n\tconst { open, toggleSidebar } = useSidebar();\r\n\r\n\tconst isOpen = (): boolean => {\r\n\t\treturn selectedRoute?.includes(item.path) ?? false;\r\n\t};\r\n\r\n\tconst handleToggleSidebar = () => {\r\n\t\tif (!open) toggleSidebar();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<SidebarMenu>\r\n\t\t\t<Collapsible key={item.title} asChild defaultOpen={isOpen()}>\r\n\t\t\t\t<SidebarMenuItem>\r\n\t\t\t\t\t<CollapsibleTrigger asChild className='group/collapsible'>\r\n\t\t\t\t\t\t<SidebarMenuButton tooltip={item.title} className='px-2 py-5 gap-3' onClick={() => handleToggleSidebar()}>\r\n\t\t\t\t\t\t\t{item.icon}\r\n\t\t\t\t\t\t\t<span>{item.title}</span>\r\n\t\t\t\t\t\t\t<ChevronRight className='ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90' />\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</CollapsibleTrigger>\r\n\t\t\t\t\t<CollapsibleContent>\r\n\t\t\t\t\t\t<SidebarMenuSub>\r\n\t\t\t\t\t\t\t{item.subMenuItems\r\n\t\t\t\t\t\t\t\t?.map((subItem) => (\r\n\t\t\t\t\t\t\t\t\t<SidebarMenuSubItem key={subItem.label}>\r\n\t\t\t\t\t\t\t\t\t\t<SidebarMenuSubButton asChild onClick={() => onClick(subItem.path)} aria-disabled={subItem.disabled}>\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'cursor-pointer px-2 py-1 items-center self-stretch',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{subItem.label}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</SidebarMenuSubButton>\r\n\t\t\t\t\t\t\t\t\t</SidebarMenuSubItem>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</SidebarMenuSub>\r\n\t\t\t\t\t</CollapsibleContent>\r\n\t\t\t\t</SidebarMenuItem>\r\n\t\t\t</Collapsible>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default NavSubmenuCollapsible;\r\n","import { ChevronRight } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenuButton, SidebarMenuItem } from '../../sidebar';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavSubmenuDropdownProps {\r\n\tcols?: number;\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick: (path: string) => void;\r\n}\r\n\r\nconst NavSubmenuDropdown = ({ cols, item, selectedRoute, onClick }: NavSubmenuDropdownProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuItem>\r\n\t\t\t<DropdownMenu>\r\n\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t<SidebarMenuButton\r\n\t\t\t\t\t\tasChild\r\n\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\r\n\t\t\t\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\ttooltip={item.title}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t{item.icon}\r\n\t\t\t\t\t\t\t<span>{item.title}</span>\r\n\t\t\t\t\t\t\t{<ChevronRight className='ml-auto' />}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t<DropdownMenuContent className={`grid grid-cols-${cols ?? '1'} gap-4 p-4`} align='start' side='right' sideOffset={4}>\r\n\t\t\t\t\t{item.subMenuItems\r\n\t\t\t\t\t\t?.map((subItem, index) => (\r\n\t\t\t\t\t\t\t<DropdownMenuItem\r\n\t\t\t\t\t\t\t\tkey={`${index}`}\r\n\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t'flex flex-col items-start text-left max-w-[220px] gap-1 cursor-pointer',\r\n\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tonClick={() => onClick(subItem.path)}\r\n\t\t\t\t\t\t\t\tdisabled={subItem.disabled}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<div className='text-sm font-semibold'>{subItem.label}</div>\r\n\t\t\t\t\t\t\t\t<div className='text-sm text-muted-foreground'>{subItem.description}</div>\r\n\t\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t</DropdownMenuContent>\r\n\t\t\t</DropdownMenu>\r\n\t\t</SidebarMenuItem>\r\n\t);\r\n};\r\n\r\nexport default NavSubmenuDropdown;\r\n","export const SidebarSubmenuType = {\r\n\tCOLLAPSIBLE: 'collapsible',\r\n\t// Deprecated: Use COLLAPSIBLE instead\r\n\tDROPDOWN: 'dropdown',\r\n} as const;\r\nexport type SidebarSubmenuType = (typeof SidebarSubmenuType)[keyof typeof SidebarSubmenuType];\r\n\r\nexport interface Module {\r\n\tvalue: string;\r\n\tpath: string;\r\n\ttitle: string;\r\n\ticon: React.ReactNode;\r\n\tsubTitle: string;\r\n}\r\n\r\nexport interface SidebarPage {\r\n\tmodule: Module;\r\n\tpath: string;\r\n\ticon?: React.ReactNode;\r\n\ttitle: string;\r\n\thideSidebar: boolean;\r\n\tdisplayOnlyresellerIsAdm?: boolean;\r\n\tsubMenuType?: SidebarSubmenuType;\r\n\tsubMenuItems?: {\r\n\t\tlabel: string;\r\n\t\tdescription?: string;\r\n\t\tpath: string;\r\n\t\tdisplayOnlyresellerIsAdm?: boolean;\r\n\t\tdisabled?: boolean;\r\n\t}[];\r\n}\r\n","import { useIsMobile } from '@/hooks/use-mobile';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\r\nimport NavSubmenuCollapsible from './nav-submenu-collapsible';\r\nimport NavSubmenuDropdown from './nav-submenu-dropdown';\r\nimport SidebarItem from './sidebar-item';\r\nimport { SidebarPage, SidebarSubmenuType } from './types/sidebar';\r\n\r\ninterface NavMainProps {\r\n\tpages: SidebarPage[];\r\n}\r\n\r\nconst NavMain = ({pages}: NavMainProps) => {\r\n\tconst navigate = useNavigate();\r\n\tconst location = useLocation();\r\n\tconst isMobile = useIsMobile();\r\n\tconst selectedRoutePath = location.pathname;\r\n\r\n\treturn (\r\n\t\t<SidebarGroup>\r\n\t\t\t<SidebarGroupContent>\r\n\t\t\t\t<SidebarMenu>\r\n\t\t\t\t\t{pages.map((item) => {\r\n\t\t\t\t\t\tif (item.subMenuType) {\r\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.COLLAPSIBLE || isMobile) {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t<NavSubmenuCollapsible\r\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-collapsible-${item.path}`}\r\n\t\t\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// Deprecated: Use COLLAPSIBLE instead\r\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.DROPDOWN) {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t<NavSubmenuDropdown\r\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-dropdown-${item.path}`}\r\n\t\t\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\r\n\t\t\t\t\t\t\t\t\t\tcols={3}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<SidebarItem\r\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\r\n\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</SidebarMenu>\r\n\t\t\t</SidebarGroupContent>\r\n\t\t</SidebarGroup>\r\n\t);\r\n};\r\n\r\nexport default NavMain;\r\n","import { LoaderCircle, LogOut } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { Avatar, AvatarFallback, AvatarImage } from '../../avatar';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\r\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\r\n\r\ninterface NavUserProps {\r\n userName: string;\r\n userEmail: string;\r\n userInitials: string;\r\n callbackLogout: () => void;\r\n}\r\n\r\nconst NavUser = ({userName, userEmail, userInitials, callbackLogout}: NavUserProps) => {\r\n\tconst [isLoggingOut, setIsLoggingOut] = useState(false);\r\n\tconst { isMobile } = useSidebar();\r\n\r\n\tconst handleLogout = () => {\r\n\t\tsetIsLoggingOut(true);\r\n\t\tsetTimeout(() => {\r\n\t\t\tcallbackLogout();\r\n\t\t}, 1000);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<SidebarMenu>\r\n\t\t\t<SidebarMenuItem>\r\n\t\t\t\t<DropdownMenu>\r\n\t\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\ticonLeft: (\r\n\t\t\t\t\t\t\t\t\t\t<Avatar className='h-[31px] w-[31px] rounded-md'>\r\n\t\t\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\r\n\t\t\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-md bg-background-primary text-white'>{userInitials}</AvatarFallback>\r\n\t\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\ttitle: isLoggingOut ? 'Saindo...' : userName,\r\n\t\t\t\t\t\t\t\t\tsubTitle: isLoggingOut ? '' : userEmail,\r\n\t\t\t\t\t\t\t\t\ticonRight: isLoggingOut ? (\r\n\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-sidebar-foreground animate-spin mr-2' />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<LogOut size={16} className='text-sidebar-foreground' />\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' side={isMobile ? 'bottom' : 'right'} align='end' sideOffset={4}>\r\n\t\t\t\t\t\t<DropdownMenuLabel className='p-0 font-normal'>\r\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\r\n\t\t\t\t\t\t\t\t<Avatar className='h-8 w-8 rounded-lg'>\r\n\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\r\n\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-lg bg-background-primary text-white'>{userInitials}</AvatarFallback>\r\n\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\r\n\t\t\t\t\t\t\t\t\t<span className='truncate font-semibold'>{userName}</span>\r\n\t\t\t\t\t\t\t\t\t<span className='truncate text-xs'>{userEmail}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</DropdownMenuLabel>\r\n\t\t\t\t\t\t<DropdownMenuItem className='p-0 font-normal cursor-pointer' onClick={() => handleLogout()}>\r\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\r\n\t\t\t\t\t\t\t\t<div className='flex w-8 h-8 p-2 items-center rounded-md'>{<LogOut size={16} />}</div>\r\n\t\t\t\t\t\t\t\tLog out\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t</DropdownMenuContent>\r\n\t\t\t\t</DropdownMenu>\r\n\t\t\t</SidebarMenuItem>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default NavUser;\r\n","import { ReactNode, useEffect, useRef } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport LoadingBar, { LoadingBarRef } from 'react-top-loading-bar';\r\nimport { getTailwindColorShades, TailwindColorName } from '../../../lib/help/theme';\r\nimport { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../breadcrumb';\r\nimport { SidebarTrigger } from '../sidebar';\r\nimport { Module, SidebarPage } from './sidebar/types/sidebar';\r\nimport { DEFAULT_THEME_DATA, useTheme } from './theme-provider';\r\n\r\nconst Header = ({\r\n\tsplittedPath,\r\n\tmodules,\r\n\tpages,\r\n\tisLoading,\r\n\tcombobox,\r\n}: { splittedPath: string[]; modules: Module[]; pages: SidebarPage[]; isLoading: boolean; combobox: ReactNode }) => {\r\n\tconst { portalDefinitions } = useTheme();\r\n\tconst navigate = useNavigate();\r\n\tconst refProgressLoading = useRef<LoadingBarRef>(null);\r\n\tconst lastPage = splittedPath[splittedPath.length - 1];\r\n\r\n\tuseEffect(() => {\r\n\t\tisLoading ? refProgressLoading.current?.start() : refProgressLoading.current?.complete();\r\n\t}, [isLoading]);\r\n\r\n\tconst setRouter = (path: string) => {\r\n\t\tnavigate(path);\r\n\t};\r\n\r\n\tconst getPath = (index: number) => {\r\n\t\tlet path = '';\r\n\r\n\t\tfor (let i = 0; i <= index; i++) {\r\n\t\t\tpath += `/${splittedPath[i]}`;\r\n\t\t}\r\n\r\n\t\treturn path;\r\n\t};\r\n\r\n\tconst getLinkSidebar = (index: number) => {\r\n\t\treturn pages.find((item) => item.path === getPath(index));\r\n\t};\r\n\r\n\tconst getSubMenuItem = (index: number) => {\r\n\t\treturn pages.flatMap((item) => item.subMenuItems || []).find((sub) => sub.path === getPath(index));\r\n\t};\r\n\r\n\tconst getModule = (page: string) => {\r\n\t\tconst module = modules.find((mod) => mod.value === page);\r\n\t\tif (!module) {\r\n\t\t\treturn page;\r\n\t\t}\r\n\r\n\t\treturn module?.title;\r\n\t};\r\n\r\n\tconst getTitle = (index: number) => {\r\n\t\tconst linkSidebar = getLinkSidebar(index);\r\n\t\tconst subMenuItem = getSubMenuItem(index);\r\n\r\n\t\tif (subMenuItem) {\r\n\t\t\treturn subMenuItem.label;\r\n\t\t}\r\n\r\n\t\treturn linkSidebar?.title;\r\n\t};\r\n\r\n\tconst renderBreadcrumbPage = (index: number) => {\r\n\t\treturn <BreadcrumbPage>{getTitle(index)}</BreadcrumbPage>;\r\n\t};\r\n\r\n\tconst renderBreadcrumbLink = (page: string, index: number) => {\r\n\t\tconst linkSidebar = getLinkSidebar(index);\r\n\r\n\t\treturn linkSidebar?.subMenuType ? (\r\n\t\t\trenderBreadcrumbPage(index)\r\n\t\t) : (\r\n\t\t\t<BreadcrumbLink onClick={() => setRouter(getPath(index))} className='cursor-pointer'>\r\n\t\t\t\t{index === 0 ? getModule(page) : getTitle(index)}\r\n\t\t\t</BreadcrumbLink>\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderBreadcrumbItens = () => {\r\n\t\tconst breadcrumbItems: JSX.Element[] = [];\r\n\r\n\t\tsplittedPath.map((page, index) => {\r\n\t\t\tbreadcrumbItems.push(\r\n\t\t\t\t<BreadcrumbItem key={`breadcrumb-item-${index}`}>\r\n\t\t\t\t\t{page === lastPage ? renderBreadcrumbPage(index) : renderBreadcrumbLink(page, index)}\r\n\t\t\t\t</BreadcrumbItem>,\r\n\t\t\t);\r\n\t\t\tif (page !== lastPage) {\r\n\t\t\t\tbreadcrumbItems.push(<BreadcrumbSeparator key={`breadcrumb-separator-${index}`} className='mt-[1px]' />);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn breadcrumbItems;\r\n\t};\r\n\r\n\tconst getColorLoadingBar = () => {\r\n\t\tconst colorShades = getTailwindColorShades();\r\n\t\tconst tailwindColor = portalDefinitions?.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor;\r\n\t\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\r\n\t\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\r\n\t\treturn colorPallete[900];\r\n\t};\r\n\r\n\treturn (\r\n\t\t<header className='flex flex-col justify-between items-center w-full'>\r\n\t\t\t<div className='flex justify-between items-center py-3 px-5 w-full'>\r\n\t\t\t\t<div className='flex items-center gap-x-2 h-[40px]'>\r\n\t\t\t\t\t<SidebarTrigger className='p-5' />\r\n\t\t\t\t\t<div className='p-2'>\r\n\t\t\t\t\t\t<Breadcrumb>\r\n\t\t\t\t\t\t\t<BreadcrumbList>{renderBreadcrumbItens()}</BreadcrumbList>\r\n\t\t\t\t\t\t</Breadcrumb>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className='flex items-center'>{combobox}</div>\r\n\t\t\t</div>\r\n\t\t\t{<LoadingBar ref={refProgressLoading} color={getColorLoadingBar()} height={7} />}\r\n\t\t</header>\r\n\t);\r\n};\r\n\r\nexport default Header;\r\n","import { Copy } from 'lucide-react';\r\nimport React from 'react';\r\nimport { cn } from '../../../lib/utils';\r\nimport { Button } from '../button';\r\nimport { Skeleton } from '../skeleton';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip';\r\nimport { toast } from '../use-toast';\r\n\r\ninterface LabelWithTitleProps {\r\n\ttitle: string;\r\n\tvalue: string;\r\n\tvalue2?: string;\r\n\trequired?: boolean;\r\n\tshowCopyIcon?: boolean;\r\n\tclassName?: string;\r\n\tisLoading?: boolean;\r\n}\r\n\r\nconst LabelWithTitle: React.FC<LabelWithTitleProps> = ({ title, value, value2, required, showCopyIcon = false, className, isLoading }) => {\r\n\tconst handleCopy = () => {\r\n\t\tif (showCopyIcon && value) {\r\n\t\t\tnavigator.clipboard.writeText(`${value}${value2 ?? ''}`);\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: `\"${value}${value2 ?? ''}\" foi copiado para a área de transferência.`,\r\n\t\t\t\tvariant: 'success',\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={cn('flex group', className)}>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex flex-col text-sm w-full',\r\n\t\t\t\t\tshowCopyIcon ? 'p-1 rounded-md transition-colors group-hover:bg-sidebar-accent' : 'p-1',\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t<div className='relative'>\r\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-0.5'>\r\n\t\t\t\t\t\t<label className='text-default truncate'>{title}</label>\r\n\t\t\t\t\t\t{required && <div className='text-red-500 truncate'>*</div>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\r\n\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value}</div>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{value2 && (\r\n\t\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\r\n\t\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value2}</div>}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t'pr-1 absolute top-1/2 right-0 -translate-y-1/2 opacity-0 transition-opacity',\r\n\t\t\t\t\t\t\tshowCopyIcon && 'group-hover:opacity-100',\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<TooltipProvider>\r\n\t\t\t\t\t\t\t<Tooltip>\r\n\t\t\t\t\t\t\t\t<TooltipTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tvariant='ghost'\r\n\t\t\t\t\t\t\t\t\t\ttype='button'\r\n\t\t\t\t\t\t\t\t\t\tclassName={cn('p-1 h-8', !showCopyIcon && 'cursor-default')}\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopy}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<Copy size={16} />\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</TooltipTrigger>\r\n\t\t\t\t\t\t\t\t<TooltipContent>Copiar</TooltipContent>\r\n\t\t\t\t\t\t\t</Tooltip>\r\n\t\t\t\t\t\t</TooltipProvider>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default LabelWithTitle;\r\n","import { BarChart2 } from 'lucide-react';\r\nimport { Button } from '../button';\r\n\r\nconst NotFound = () => {\r\n\treturn (\r\n\t\t<div className=\"flex flex-col items-center justify-center h-screen bg-[url('/imgs/404.png')] bg-cover bg-no-repeat bg-center\">\r\n\t\t\t<div className='flex flex-col items-center justify-center gap-8 w-[424px]'>\r\n\t\t\t\t<div className='flex flex-col items-center w-full'>\r\n\t\t\t\t\t<div className='text-5xl font-extrabold'>404</div>\r\n\t\t\t\t\t<div className='text-3xl font-semibold'>Página Indisponível</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className='flex text-center text-xl font-semibold text-zinc-500'>\r\n\t\t\t\t\tA página que você está tentando acessar se encontra indisponível no momento, tente novamente mais tarde\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className='flex justify-center w-full'>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.location.href = '/';\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tclassName='[&_svg]:size-5'\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<BarChart2 />\r\n\t\t\t\t\t\tVoltar Para Inicial\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\nexport default NotFound;\r\n","export function isUUIDv4(str: string): boolean {\r\n\tconst uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n\treturn uuidV4Regex.test(str);\r\n}\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["_jsx","_jsxs","_Fragment","CommandPrimitive","DrawerPrimitive","format","React","getYear","CalendarIcon","getMonth","CalendarComponent","classBorderColor","SheetPrimitive","Popover","PopoverTrigger","PopoverContent","masks","Select"],"mappings":"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","x_google_ignoreList":[26,27,28,29,30,31,32,33,34,35,101]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/lib/utils.ts","../src/components/ui/accordion.tsx","../src/components/ui/alert.tsx","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/avatar.tsx","../src/components/ui/badge.tsx","../src/components/ui/breadcrumb.tsx","../src/components/ui/calendar.tsx","../src/components/ui/card.tsx","../src/components/ui/carousel.tsx","../src/components/ui/chart.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/collapsible.tsx","../src/components/ui/dialog.tsx","../src/components/ui/command.tsx","../src/components/ui/context-menu.tsx","../src/components/ui/popover.tsx","../src/components/ui/dateRangePicker.tsx","../src/components/ui/drawer.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/form.tsx","../src/components/ui/hover-card.tsx","../src/components/ui/masks.ts","../src/lib/help/format.ts","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/pt-BR/_lib/formatDistance.js","../node_modules/date-fns/locale/pt-BR/_lib/formatLong.js","../node_modules/date-fns/locale/pt-BR/_lib/formatRelative.js","../node_modules/date-fns/locale/pt-BR/_lib/localize.js","../node_modules/date-fns/locale/pt-BR/_lib/match.js","../node_modules/date-fns/locale/pt-BR.js","../src/components/ui/select.tsx","../src/components/ui/custom/date-picker.tsx","../src/components/ui/input.tsx","../src/components/ui/pagination.tsx","../src/components/ui/progress.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/scroll-area.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/slider.tsx","../src/components/ui/switch.tsx","../src/components/ui/table.tsx","../src/components/ui/tabs.tsx","../src/components/ui/textarea.tsx","../src/components/ui/toast.tsx","../src/components/ui/use-toast.ts","../src/components/ui/toaster.tsx","../src/components/ui/use-calendar.tsx","../src/lib/help/theme.ts","../src/components/ui/custom/theme-provider.tsx","../src/components/ui/custom/form/form-help-text.tsx","../src/components/ui/custom/form/form-label.tsx","../src/components/ui/custom/form/form-message.tsx","../src/components/ui/custom/form/checkbox.tsx","../src/components/ui/custom/form/utils.ts","../src/components/ui/custom/form/color.tsx","../src/components/ui/custom/form/combobox.tsx","../src/components/ui/custom/form/cpf-cnpj.tsx","../src/components/ui/custom/form/currency.tsx","../src/lib/help/date-utils.ts","../src/components/ui/custom/form/date.tsx","../src/components/ui/custom/form/date-range.tsx","../src/components/ui/custom/form/decimal.tsx","../src/components/ui/custom/form/file.tsx","../src/components/ui/custom/form/ghost.tsx","../src/components/ui/custom/form/input.tsx","../src/components/ui/custom/form/mask.tsx","../src/components/ui/custom/form/multi-select.tsx","../src/components/ui/custom/form/password.tsx","../src/components/ui/custom/form/percent.tsx","../src/components/ui/custom/form/phone.tsx","../src/components/ui/custom/form/radio-group.tsx","../src/components/ui/custom/form/select.tsx","../src/components/ui/custom/form/step-new-form.tsx","../src/components/ui/custom/form/switch.tsx","../src/components/ui/custom/form/text.tsx","../src/components/ui/custom/form/textarea.tsx","../src/components/ui/custom/table/data-table-export.tsx","../src/components/ui/custom/table/data-table-footer.tsx","../src/components/ui/custom/table/data-table-header.tsx","../src/components/ui/custom/table/data-table-rows.tsx","../src/components/ui/custom/table/data-table.tsx","../src/components/ui/custom/sidebar/sidebar-item-two-lines.tsx","../src/components/ui/custom/sidebar/module-switcher.tsx","../src/components/ui/custom/sidebar/sidebar-button.tsx","../src/components/ui/custom/sidebar/sidebar-item.tsx","../src/components/ui/custom/sidebar/nav-footer.tsx","../src/components/ui/custom/sidebar/nav-submenu-collapsible.tsx","../src/components/ui/custom/sidebar/nav-submenu-dropdown.tsx","../src/components/ui/custom/sidebar/types/sidebar.ts","../src/components/ui/custom/sidebar/nav-main.tsx","../src/components/ui/custom/sidebar/nav-user.tsx","../src/components/ui/custom/header.tsx","../src/components/ui/custom/label.tsx","../src/components/ui/custom/not-found.tsx","../src/lib/help/uuid.ts","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\r\nimport { twMerge } from 'tailwind-merge';\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n\treturn twMerge(clsx(inputs));\r\n}\r\n","import * as AccordionPrimitive from '@radix-ui/react-accordion';\r\nimport { ChevronDown } from 'lucide-react';\r\nimport * as React from 'react';\r\n\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Accordion = AccordionPrimitive.Root;\r\n\r\nconst AccordionItem = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\r\n>(({ className, ...props }, ref) => <AccordionPrimitive.Item ref={ref} className={cn('border-b', className)} {...props} />);\r\nAccordionItem.displayName = 'AccordionItem';\r\n\r\nconst AccordionTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Trigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<AccordionPrimitive.Header className='flex'>\r\n\t\t<AccordionPrimitive.Trigger\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('flex flex-1 items-center justify-between p-4 font-medium transition-all [&[data-state=open]>svg]:rotate-180', className)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t\t<ChevronDown className='h-4 w-4 shrink-0 transition-transform duration-200' />\r\n\t\t</AccordionPrimitive.Trigger>\r\n\t</AccordionPrimitive.Header>\r\n));\r\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\r\n\r\nconst AccordionContent = React.forwardRef<\r\n\tReact.ElementRef<typeof AccordionPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<AccordionPrimitive.Content\r\n\t\tref={ref}\r\n\t\tclassName='overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down'\r\n\t\t{...props}\r\n\t>\r\n\t\t<div className={cn('p-4 pt-0', className)}>{children}</div>\r\n\t</AccordionPrimitive.Content>\r\n));\r\n\r\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\r\n\r\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger };\r\n\r\n","import { cva, type VariantProps } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst alertVariants = cva(\r\n\t'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'bg-background text-foreground',\r\n\t\t\t\tdestructive: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst Alert = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>>(\r\n\t({ className, variant, ...props }, ref) => <div ref={ref} role='alert' className={cn(alertVariants({ variant }), className)} {...props} />,\r\n);\r\nAlert.displayName = 'Alert';\r\n\r\nconst AlertTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(({ className, ...props }, ref) => (\r\n\t<h5 ref={ref} className={cn('mb-1 font-medium leading-none tracking-tight', className)} {...props} />\r\n));\r\nAlertTitle.displayName = 'AlertTitle';\r\n\r\nconst AlertDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-sm [&_p]:leading-relaxed', className)} {...props} />\r\n));\r\nAlertDescription.displayName = 'AlertDescription';\r\n\r\nexport { Alert, AlertDescription, AlertTitle };\r\n\r\n","import { Slot } from '@radix-ui/react-slot';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst buttonVariants = cva(\r\n\t'inline-flex items-center justify-center gap-2 self-start px-4 py-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'bg-background-primary text-white hover:bg-background-primary-hover disabled:opacity-50',\r\n\t\t\t\tsecondary: 'bg-secondary text-secondary-foreground hover:bg-secondary-hover disabled:opacity-50',\r\n\t\t\t\tdestructive: 'bg-red-600 text-destructive-foreground hover:bg-destructive/90 disabled:opacity-50',\r\n\t\t\t\toutline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\r\n\t\t\t\tghost: 'hover:bg-accent hover:text-accent-foreground disabled:opacity-50',\r\n\t\t\t\tlink: 'text-primary underline-offset-4 hover:underline disabled:opacity-50',\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\tdefault: 'h-10 px-4 py-2',\r\n\t\t\t\tsm: 'h-9 rounded-md px-3',\r\n\t\t\t\tlg: 'h-11 rounded-md px-8',\r\n\t\t\t\ticon: 'h-10 w-10',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t\tsize: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(({ className, variant, size, asChild = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\treturn <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\r\n});\r\nButton.displayName = 'Button';\r\n\r\nexport { Button, buttonVariants };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\r\nimport * as React from \"react\"\r\nimport { buttonVariants } from \"./button\"\r\n\r\nconst AlertDialog = AlertDialogPrimitive.Root\r\n\r\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\r\n\r\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\r\n\r\nconst AlertDialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Overlay\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n ref={ref}\r\n />\r\n))\r\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\r\n\r\nconst AlertDialogContent = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPortal>\r\n <AlertDialogOverlay />\r\n <AlertDialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </AlertDialogPortal>\r\n))\r\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\r\n\r\nconst AlertDialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col space-y-2 text-center sm:text-left\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\r\n\r\nconst AlertDialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n)\r\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\r\n\r\nconst AlertDialogTitle = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\"text-lg font-semibold\", className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\r\n\r\nconst AlertDialogDescription = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <AlertDialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nAlertDialogDescription.displayName =\r\n AlertDialogPrimitive.Description.displayName\r\n\r\n const AlertDialogAction = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action> & {\r\n variant?: \"default\" | \"outline\" | \"destructive\" | \"secondary\"; // Adapte conforme suas variantes\r\n }\r\n>(({ className, variant = \"default\", ...props }, ref) => (\r\n <AlertDialogPrimitive.Action\r\n ref={ref}\r\n className={cn(buttonVariants({ variant }), className)}\r\n {...props}\r\n />\r\n));\r\n\r\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;\r\n\r\n\r\nconst AlertDialogCancel = React.forwardRef<\r\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\r\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> & {\r\n variant?: \"default\" | \"outline\" | \"destructive\" | \"secondary\"; // Adapte conforme suas variantes\r\n }\r\n>(({ className, variant = \"outline\", ...props }, ref) => (\r\n <AlertDialogPrimitive.Cancel\r\n ref={ref}\r\n className={cn(\r\n buttonVariants({ variant }), // Usa a variante passada como prop\r\n \"mt-2 sm:mt-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\n\r\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;\r\n\r\n\r\nexport {\r\n AlertDialog, AlertDialogAction,\r\n AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Avatar = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Root\r\n ref={ref}\r\n className={cn(\r\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nAvatar.displayName = AvatarPrimitive.Root.displayName\r\n\r\nconst AvatarImage = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Image>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Image\r\n ref={ref}\r\n className={cn(\"aspect-square h-full w-full\", className)}\r\n {...props}\r\n />\r\n))\r\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\r\n\r\nconst AvatarFallback = React.forwardRef<\r\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\r\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\r\n>(({ className, ...props }, ref) => (\r\n <AvatarPrimitive.Fallback\r\n ref={ref}\r\n className={cn(\r\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n","import { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst badgeVariants = cva(\r\n\t'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'border-transparent bg-background-primary text-primary-foreground',\r\n\t\t\t\tsecondary: 'border-transparent bg-background-secondary text-secondary-foreground',\r\n\t\t\t\tsurface: 'border-transparent bg-primary-100 text-primary',\r\n\t\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground',\r\n\t\t\t\toutline: 'text-foreground',\r\n\t\t\t\tgreen: 'border-transparent bg-green-50 text-emerald-700',\r\n\t\t\t\tred: 'border-transparent bg-red-50 text-red-600',\r\n\t\t\t\tgray: 'border-transparent bg-zinc-100 text-zinc-950',\r\n\t\t\t\tblue: 'border-transparent bg-blue-50 text-blue-600',\r\n\t\t\t\torange: 'border-transparent bg-orange-50 text-orange-600',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\r\n\r\nfunction Badge({ className, variant, ...props }: BadgeProps) {\r\n\treturn <div className={cn(badgeVariants({ variant }), className)} {...props} />;\r\n}\r\n\r\nexport { Badge, badgeVariants };\r\n\r\n","import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Breadcrumb = React.forwardRef<\r\n HTMLElement,\r\n React.ComponentPropsWithoutRef<\"nav\"> & {\r\n separator?: React.ReactNode\r\n }\r\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\r\nBreadcrumb.displayName = \"Breadcrumb\"\r\n\r\nconst BreadcrumbList = React.forwardRef<\r\n HTMLOListElement,\r\n React.ComponentPropsWithoutRef<\"ol\">\r\n>(({ className, ...props }, ref) => (\r\n <ol\r\n ref={ref}\r\n className={cn(\r\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbList.displayName = \"BreadcrumbList\"\r\n\r\nconst BreadcrumbItem = React.forwardRef<\r\n HTMLLIElement,\r\n React.ComponentPropsWithoutRef<\"li\">\r\n>(({ className, ...props }, ref) => (\r\n <li\r\n ref={ref}\r\n className={cn(\"inline-flex items-center gap-1.5\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\r\n\r\nconst BreadcrumbLink = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentPropsWithoutRef<\"a\"> & {\r\n asChild?: boolean\r\n }\r\n>(({ asChild, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\"\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n className={cn(\"transition-colors hover:text-foreground\", className)}\r\n {...props}\r\n />\r\n )\r\n})\r\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\r\n\r\nconst BreadcrumbPage = React.forwardRef<\r\n HTMLSpanElement,\r\n React.ComponentPropsWithoutRef<\"span\">\r\n>(({ className, ...props }, ref) => (\r\n <span\r\n ref={ref}\r\n role=\"link\"\r\n aria-disabled=\"true\"\r\n aria-current=\"page\"\r\n className={cn(\"font-normal text-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\r\n\r\nconst BreadcrumbSeparator = ({\r\n children,\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"li\">) => (\r\n <li\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\r\n {...props}\r\n >\r\n {children ?? <ChevronRight />}\r\n </li>\r\n)\r\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\r\n\r\nconst BreadcrumbEllipsis = ({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) => (\r\n <span\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\r\n {...props}\r\n >\r\n <MoreHorizontal className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">More</span>\r\n </span>\r\n)\r\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\r\n\r\nexport {\r\n Breadcrumb,\r\n BreadcrumbList,\r\n BreadcrumbItem,\r\n BreadcrumbLink,\r\n BreadcrumbPage,\r\n BreadcrumbSeparator,\r\n BreadcrumbEllipsis,\r\n}\r\n","import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { DayButton, DayPicker, getDefaultClassNames } from 'react-day-picker';\r\nimport { cn } from '../../lib/utils';\r\nimport { Button, buttonVariants } from './button';\r\n\r\nfunction Calendar({\r\n\tclassName,\r\n\tclassNames,\r\n\tshowOutsideDays = true,\r\n\tcaptionLayout = 'label',\r\n\tbuttonVariant = 'ghost',\r\n\tformatters,\r\n\tcomponents,\r\n\t...props\r\n}: React.ComponentProps<typeof DayPicker> & {\r\n\tbuttonVariant?: React.ComponentProps<typeof Button>['variant'];\r\n}) {\r\n\tconst defaultClassNames = getDefaultClassNames();\r\n\r\n\treturn (\r\n\t\t<DayPicker\r\n\t\t\tshowOutsideDays={showOutsideDays}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'bg-background group/calendar p-3 [--cell-size:2rem] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent',\r\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\r\n\t\t\t\tString.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tcaptionLayout={captionLayout}\r\n\t\t\tformatters={{\r\n\t\t\t\tformatMonthDropdown: (date) => date.toLocaleString('default', { month: 'short' }),\r\n\t\t\t\t...formatters,\r\n\t\t\t}}\r\n\t\t\tclassNames={{\r\n\t\t\t\troot: cn('w-fit', defaultClassNames.root),\r\n\t\t\t\tmonths: cn('relative flex flex-col gap-4 md:flex-row', defaultClassNames.months),\r\n\t\t\t\tmonth: cn('flex w-full flex-col gap-4', defaultClassNames.month),\r\n\t\t\t\tnav: cn('absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1', defaultClassNames.nav),\r\n\t\t\t\tbutton_previous: cn(\r\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\r\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\r\n\t\t\t\t\tdefaultClassNames.button_previous,\r\n\t\t\t\t),\r\n\t\t\t\tbutton_next: cn(\r\n\t\t\t\t\tbuttonVariants({ variant: buttonVariant }),\r\n\t\t\t\t\t'h-[--cell-size] w-[--cell-size] select-none p-0 aria-disabled:opacity-50',\r\n\t\t\t\t\tdefaultClassNames.button_next,\r\n\t\t\t\t),\r\n\t\t\t\tmonth_caption: cn('flex h-[--cell-size] w-full items-center justify-center px-[--cell-size]', defaultClassNames.month_caption),\r\n\t\t\t\tdropdowns: cn('flex h-[--cell-size] w-full items-center justify-center gap-1.5 text-sm font-medium', defaultClassNames.dropdowns),\r\n\t\t\t\tdropdown_root: cn(\r\n\t\t\t\t\t'has-focus:border-ring border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] relative rounded-md border',\r\n\t\t\t\t\tdefaultClassNames.dropdown_root,\r\n\t\t\t\t),\r\n\t\t\t\tdropdown: cn('absolute inset-0 opacity-0', defaultClassNames.dropdown),\r\n\t\t\t\tcaption_label: cn(\r\n\t\t\t\t\t'select-none font-medium',\r\n\t\t\t\t\tcaptionLayout === 'label'\r\n\t\t\t\t\t\t? 'text-sm'\r\n\t\t\t\t\t\t: '[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5',\r\n\t\t\t\t\tdefaultClassNames.caption_label,\r\n\t\t\t\t),\r\n\t\t\t\ttable: 'w-full border-collapse',\r\n\t\t\t\tweekdays: cn('flex', defaultClassNames.weekdays),\r\n\t\t\t\tweekday: cn('text-muted-foreground flex-1 select-none rounded-md text-[0.8rem] font-normal', defaultClassNames.weekday),\r\n\t\t\t\tweek: cn('mt-2 flex w-full', defaultClassNames.week),\r\n\t\t\t\tweek_number_header: cn('w-[--cell-size] select-none', defaultClassNames.week_number_header),\r\n\t\t\t\tweek_number: cn('text-muted-foreground select-none text-[0.8rem]', defaultClassNames.week_number),\r\n\t\t\t\tday: cn(\r\n\t\t\t\t\t'group/day relative aspect-square h-[32px] w-[32px] select-none p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md',\r\n\t\t\t\t\tdefaultClassNames.day,\r\n\t\t\t\t),\r\n\t\t\t\trange_start: cn('bg-accent rounded-l-md', defaultClassNames.range_start),\r\n\t\t\t\trange_middle: cn('rounded-none', defaultClassNames.range_middle),\r\n\t\t\t\trange_end: cn('bg-accent rounded-r-md', defaultClassNames.range_end),\r\n\t\t\t\ttoday: cn('bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none', defaultClassNames.today),\r\n\t\t\t\toutside: cn('text-muted-foreground aria-selected:text-muted-foreground', defaultClassNames.outside),\r\n\t\t\t\tdisabled: cn('text-muted-foreground opacity-50', defaultClassNames.disabled),\r\n\t\t\t\thidden: cn('invisible', defaultClassNames.hidden),\r\n\t\t\t\t...classNames,\r\n\t\t\t}}\r\n\t\t\tcomponents={{\r\n\t\t\t\tRoot: ({ className, rootRef, ...props }) => {\r\n\t\t\t\t\treturn <div data-slot='calendar' ref={rootRef} className={cn(className)} {...props} />;\r\n\t\t\t\t},\r\n\t\t\t\tChevron: ({ className, orientation, ...props }) => {\r\n\t\t\t\t\tif (orientation === 'left') {\r\n\t\t\t\t\t\treturn <ChevronLeftIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (orientation === 'right') {\r\n\t\t\t\t\t\treturn <ChevronRightIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn <ChevronDownIcon className={cn('size-4', className)} {...props} />;\r\n\t\t\t\t},\r\n\t\t\t\tDayButton: CalendarDayButton,\r\n\t\t\t\tWeekNumber: ({ children, ...props }) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<td {...props}>\r\n\t\t\t\t\t\t\t<div className='flex size-[--cell-size] items-center justify-center text-center'>{children}</div>\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t);\r\n\t\t\t\t},\r\n\t\t\t\t...components,\r\n\t\t\t}}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n}\r\n\r\nfunction CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>) {\r\n\tconst defaultClassNames = getDefaultClassNames();\r\n\r\n\tconst ref = React.useRef<HTMLButtonElement>(null);\r\n\tReact.useEffect(() => {\r\n\t\tif (modifiers.focused) ref.current?.focus();\r\n\t}, [modifiers.focused]);\r\n\r\n\treturn (\r\n\t\t<Button\r\n\t\t\tref={ref}\r\n\t\t\tvariant='ghost'\r\n\t\t\tsize='icon'\r\n\t\t\tdata-day={day.date.toLocaleDateString()}\r\n\t\t\tdata-selected-single={modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle}\r\n\t\t\tdata-range-start={modifiers.range_start}\r\n\t\t\tdata-range-end={modifiers.range_end}\r\n\t\t\tdata-range-middle={modifiers.range_middle}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'data-[selected-single=true]:bg-background-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-background-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-background-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 flex aspect-square h-auto w-full min-w-[--cell-size] flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70',\r\n\t\t\t\tdefaultClassNames.day,\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n}\r\n\r\nexport { Calendar, CalendarDayButton };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)} {...props} />\r\n));\r\nCard.displayName = 'Card';\r\n\r\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('flex p-6', className)} {...props} />\r\n));\r\nCardHeader.displayName = 'CardHeader';\r\n\r\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\r\n));\r\nCardTitle.displayName = 'CardTitle';\r\n\r\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\r\n));\r\nCardDescription.displayName = 'CardDescription';\r\n\r\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('py-8 px-6', className)} {...props} />\r\n));\r\nCardContent.displayName = 'CardContent';\r\n\r\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} className={cn('flex items-center p-6', className)} {...props} />\r\n));\r\nCardFooter.displayName = 'CardFooter';\r\n\r\nexport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from \"embla-carousel-react\"\r\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { Button } from \"./button\"\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: \"horizontal\" | \"vertical\"\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = \"horizontal\",\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n\r\n const onSelect = React.useCallback((api: CarouselApi) => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n }, [])\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) {\r\n return\r\n }\r\n\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n onSelect(api)\r\n api.on(\"reInit\", onSelect)\r\n api.on(\"select\", onSelect)\r\n\r\n return () => {\r\n api?.off(\"select\", onSelect)\r\n }\r\n }, [api, onSelect])\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(\"relative\", className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = \"Carousel\"\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex\",\r\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = \"CarouselContent\"\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n \"min-w-0 shrink-0 grow-0 basis-full\",\r\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = \"CarouselItem\"\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-left-12 top-1/2 -translate-y-1/2\"\r\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = \"CarouselPrevious\"\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-right-12 top-1/2 -translate-y-1/2\"\r\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = \"CarouselNext\"\r\n\r\nexport {\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem, CarouselNext, CarouselPrevious, type CarouselApi\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as RechartsPrimitive from \"recharts\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\n// Format: { THEME_NAME: CSS_SELECTOR }\r\nconst THEMES = { light: \"\", dark: \".dark\" } as const\r\n\r\nexport type ChartConfig = {\r\n [k in string]: {\r\n label?: React.ReactNode\r\n icon?: React.ComponentType\r\n } & (\r\n | { color?: string; theme?: never }\r\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\r\n )\r\n}\r\n\r\ntype ChartContextProps = {\r\n config: ChartConfig\r\n}\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\r\n\r\nfunction useChart() {\r\n const context = React.useContext(ChartContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst ChartContainer = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n config: ChartConfig\r\n children: React.ComponentProps<\r\n typeof RechartsPrimitive.ResponsiveContainer\r\n >[\"children\"]\r\n }\r\n>(({ id, className, children, config, ...props }, ref) => {\r\n const uniqueId = React.useId()\r\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\r\n\r\n return (\r\n <ChartContext.Provider value={{ config }}>\r\n <div\r\n data-chart={chartId}\r\n ref={ref}\r\n className={cn(\r\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChartStyle id={chartId} config={config} />\r\n <RechartsPrimitive.ResponsiveContainer>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n )\r\n})\r\nChartContainer.displayName = \"Chart\"\r\n\r\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\r\n const colorConfig = Object.entries(config).filter(\r\n ([, config]) => config.theme || config.color\r\n )\r\n\r\n if (!colorConfig.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <style\r\n // biome-ignore lint/security/noDangerouslySetInnerHtml: Chart theme CSS generation requires dynamic CSS injection\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color =\r\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\r\n itemConfig.color\r\n return color ? ` --color-${key}: ${color};` : null\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n )\r\n}\r\n\r\nconst ChartTooltip = RechartsPrimitive.Tooltip\r\n\r\nconst ChartTooltipContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\r\n React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean\r\n hideIndicator?: boolean\r\n indicator?: \"line\" | \"dot\" | \"dashed\"\r\n nameKey?: string\r\n labelKey?: string\r\n }\r\n>(\r\n (\r\n {\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null\r\n }\r\n\r\n const [item] = payload\r\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const value =\r\n !labelKey && typeof label === \"string\"\r\n ? config[label as keyof typeof config]?.label || label\r\n : itemConfig?.label\r\n\r\n if (labelFormatter) {\r\n return (\r\n <div className={cn(\"font-medium\", labelClassName)}>\r\n {labelFormatter(value, payload)}\r\n </div>\r\n )\r\n }\r\n\r\n if (!value) {\r\n return null\r\n }\r\n\r\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\r\n }, [\r\n label,\r\n labelFormatter,\r\n payload,\r\n hideLabel,\r\n labelClassName,\r\n config,\r\n labelKey,\r\n ])\r\n\r\n if (!active || !payload?.length) {\r\n return null\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\r\n className\r\n )}\r\n >\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className=\"grid gap-1.5\">\r\n {payload.map((item, index) => {\r\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const indicatorColor = color || item.payload.fill || item.color\r\n\r\n return (\r\n <div\r\n key={item.dataKey}\r\n className={cn(\r\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\r\n indicator === \"dot\" && \"items-center\"\r\n )}\r\n >\r\n {formatter && item?.value !== undefined && item.name ? (\r\n formatter(item.value, item.name, item, index, item.payload)\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n \"shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]\",\r\n {\r\n \"h-2.5 w-2.5\": indicator === \"dot\",\r\n \"w-1\": indicator === \"line\",\r\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\r\n indicator === \"dashed\",\r\n \"my-0.5\": nestLabel && indicator === \"dashed\",\r\n }\r\n )}\r\n style={\r\n {\r\n \"--color-bg\": indicatorColor,\r\n \"--color-border\": indicatorColor,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )\r\n )}\r\n <div\r\n className={cn(\r\n \"flex flex-1 justify-between leading-none\",\r\n nestLabel ? \"items-end\" : \"items-center\"\r\n )}\r\n >\r\n <div className=\"grid gap-1.5\">\r\n {nestLabel ? tooltipLabel : null}\r\n <span className=\"text-muted-foreground\">\r\n {itemConfig?.label || item.name}\r\n </span>\r\n </div>\r\n {item.value && (\r\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\r\n {item.value.toLocaleString()}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n </div>\r\n )\r\n }\r\n)\r\nChartTooltipContent.displayName = \"ChartTooltip\"\r\n\r\nconst ChartLegend = RechartsPrimitive.Legend\r\n\r\nconst ChartLegendContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> &\r\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\r\n hideIcon?: boolean\r\n nameKey?: string\r\n }\r\n>(\r\n (\r\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n if (!payload?.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex items-center justify-center gap-4\",\r\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\r\n className\r\n )}\r\n >\r\n {payload.map((item) => {\r\n const key = `${nameKey || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n\r\n return (\r\n <div\r\n key={item.value}\r\n className={cn(\r\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\r\n )}\r\n >\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\r\n style={{\r\n backgroundColor: item.color,\r\n }}\r\n />\r\n )}\r\n {itemConfig?.label}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n )\r\n }\r\n)\r\nChartLegendContent.displayName = \"ChartLegend\"\r\n\r\n// Helper to extract item config from a payload.\r\nfunction getPayloadConfigFromPayload(\r\n config: ChartConfig,\r\n payload: unknown,\r\n key: string\r\n) {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined\r\n }\r\n\r\n const payloadPayload =\r\n \"payload\" in payload &&\r\n typeof payload.payload === \"object\" &&\r\n payload.payload !== null\r\n ? payload.payload\r\n : undefined\r\n\r\n let configLabelKey: string = key\r\n\r\n if (\r\n key in payload &&\r\n typeof payload[key as keyof typeof payload] === \"string\"\r\n ) {\r\n configLabelKey = payload[key as keyof typeof payload] as string\r\n } else if (\r\n payloadPayload &&\r\n key in payloadPayload &&\r\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\r\n ) {\r\n configLabelKey = payloadPayload[\r\n key as keyof typeof payloadPayload\r\n ] as string\r\n }\r\n\r\n return configLabelKey in config\r\n ? config[configLabelKey]\r\n : config[key as keyof typeof config]\r\n}\r\n\r\nexport {\r\n ChartContainer, ChartLegend,\r\n ChartLegendContent,\r\n ChartStyle, ChartTooltip,\r\n ChartTooltipContent\r\n}\r\n\r\n","import * as CheckboxPrimitive from '@radix-ui/react-checkbox';\r\nimport { Check } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>>(\r\n\t({ className, value, ...props }, ref) => (\r\n\t\t<CheckboxPrimitive.Root\r\n\t\t\tref={ref}\r\n\t\t\tchecked={!!value}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=checked]:text-primary-foreground',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\r\n\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t</CheckboxPrimitive.Indicator>\r\n\t\t</CheckboxPrimitive.Root>\r\n\t),\r\n);\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\r\n\r\nexport { Checkbox };\r\n\r\n","import * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\r\n\r\nconst Collapsible = CollapsiblePrimitive.Root\r\n\r\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\r\n\r\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\r\n\r\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\r\n","'use client';\r\n\r\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Overlay>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n\t<DialogPrimitive.Overlay\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\ninterface DialogContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {\r\n\thideClose?: boolean;\r\n}\r\n\r\nconst DialogContent = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, DialogContentProps>(\r\n\t({ className, children, hideClose, ...props }, ref) => (\r\n\t\t<DialogPortal>\r\n\t\t\t<DialogOverlay />\r\n\t\t\t<DialogPrimitive.Content\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'fixed left-[50%] top-[50%] z-50 grid translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t\t{!hideClose && (\r\n\t\t\t\t\t<DialogPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground'>\r\n\t\t\t\t\t\t<X className='h-4 w-4' />\r\n\t\t\t\t\t\t<span className='sr-only'>Close</span>\r\n\t\t\t\t\t</DialogPrimitive.Close>\r\n\t\t\t\t)}\r\n\t\t\t</DialogPrimitive.Content>\r\n\t\t</DialogPortal>\r\n\t),\r\n);\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\r\n);\r\nDialogHeader.displayName = 'DialogHeader';\r\n\r\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\r\n);\r\nDialogFooter.displayName = 'DialogFooter';\r\n\r\nconst DialogTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<DialogPrimitive.Title ref={ref} className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\r\n\t),\r\n);\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof DialogPrimitive.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\r\nimport { Command as CommandPrimitive } from \"cmdk\"\r\nimport { Search } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { Dialog, DialogContent } from \"./dialog\"\r\n\r\nconst Command = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nCommand.displayName = CommandPrimitive.displayName\r\n\r\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\r\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nconst CommandInput = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Input>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\r\n>(({ className, ...props }, ref) => (\r\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\r\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n))\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName\r\n\r\nconst CommandList = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.List\r\n ref={ref}\r\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName\r\n\r\nconst CommandEmpty = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Empty>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\r\n>((props, ref) => (\r\n <CommandPrimitive.Empty\r\n ref={ref}\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n))\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\r\n\r\nconst CommandGroup = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Group>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 h-px bg-border\", className)}\r\n {...props}\r\n />\r\n))\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName\r\n\r\nconst CommandShortcut = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\r\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\nCommandShortcut.displayName = \"CommandShortcut\"\r\n\r\nexport {\r\n Command,\r\n CommandDialog, CommandEmpty,\r\n CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut\r\n}\r\n\r\n","import * as React from \"react\"\r\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\r\nimport { Check, ChevronRight, Circle } from \"lucide-react\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst ContextMenu = ContextMenuPrimitive.Root\r\n\r\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\r\n\r\nconst ContextMenuGroup = ContextMenuPrimitive.Group\r\n\r\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\r\n\r\nconst ContextMenuSub = ContextMenuPrimitive.Sub\r\n\r\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\r\n\r\nconst ContextMenuSubTrigger = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, children, ...props }, ref) => (\r\n <ContextMenuPrimitive.SubTrigger\r\n ref={ref}\r\n className={cn(\r\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronRight className=\"ml-auto h-4 w-4\" />\r\n </ContextMenuPrimitive.SubTrigger>\r\n))\r\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\r\n\r\nconst ContextMenuSubContent = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.SubContent\r\n ref={ref}\r\n className={cn(\r\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\r\n\r\nconst ContextMenuContent = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.Portal>\r\n <ContextMenuPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </ContextMenuPrimitive.Portal>\r\n))\r\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\r\n\r\nconst ContextMenuItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, ...props }, ref) => (\r\n <ContextMenuPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\r\n\r\nconst ContextMenuCheckboxItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, ...props }, ref) => (\r\n <ContextMenuPrimitive.CheckboxItem\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n className\r\n )}\r\n checked={checked}\r\n {...props}\r\n >\r\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Check className=\"h-4 w-4\" />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.CheckboxItem>\r\n))\r\nContextMenuCheckboxItem.displayName =\r\n ContextMenuPrimitive.CheckboxItem.displayName\r\n\r\nconst ContextMenuRadioItem = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\r\n>(({ className, children, ...props }, ref) => (\r\n <ContextMenuPrimitive.RadioItem\r\n ref={ref}\r\n className={cn(\r\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\r\n <ContextMenuPrimitive.ItemIndicator>\r\n <Circle className=\"h-2 w-2 fill-current\" />\r\n </ContextMenuPrimitive.ItemIndicator>\r\n </span>\r\n {children}\r\n </ContextMenuPrimitive.RadioItem>\r\n))\r\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\r\n\r\nconst ContextMenuLabel = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\r\n inset?: boolean\r\n }\r\n>(({ className, inset, ...props }, ref) => (\r\n <ContextMenuPrimitive.Label\r\n ref={ref}\r\n className={cn(\r\n \"px-2 py-1.5 text-sm font-semibold text-foreground\",\r\n inset && \"pl-8\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\r\n\r\nconst ContextMenuSeparator = React.forwardRef<\r\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <ContextMenuPrimitive.Separator\r\n ref={ref}\r\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\r\n {...props}\r\n />\r\n))\r\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\r\n\r\nconst ContextMenuShortcut = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\r\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\r\n\r\nexport {\r\n ContextMenu,\r\n ContextMenuTrigger,\r\n ContextMenuContent,\r\n ContextMenuItem,\r\n ContextMenuCheckboxItem,\r\n ContextMenuRadioItem,\r\n ContextMenuLabel,\r\n ContextMenuSeparator,\r\n ContextMenuShortcut,\r\n ContextMenuGroup,\r\n ContextMenuPortal,\r\n ContextMenuSub,\r\n ContextMenuSubContent,\r\n ContextMenuSubTrigger,\r\n ContextMenuRadioGroup,\r\n}\r\n","import * as PopoverPrimitive from '@radix-ui/react-popover';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Popover = PopoverPrimitive.Root;\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger;\r\n\r\nconst PopoverContent = React.forwardRef<\r\n\tReact.ElementRef<typeof PopoverPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n\t<PopoverPrimitive.Portal>\r\n\t\t<PopoverPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\talign={align}\r\n\t\t\tsideOffset={sideOffset}\r\n\t\t\tonWheel={(e) => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t}}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t</PopoverPrimitive.Portal>\r\n));\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\r\n\r\nexport { Popover, PopoverContent, PopoverTrigger };\r\n\r\n","import { addDays, format } from \"date-fns\"\r\nimport { CalendarIcon } from \"lucide-react\"\r\nimport * as React from \"react\"\r\nimport { DateRange } from \"react-day-picker\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\nimport { Button } from \"./button\"\r\nimport { Calendar } from \"./calendar\"\r\nimport {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from \"./popover\"\r\n\r\nexport function DatePickerWithRange({\r\n className,\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n const [date, setDate] = React.useState<DateRange | undefined>({\r\n from: new Date(2022, 0, 20),\r\n to: addDays(new Date(2022, 0, 20), 20),\r\n })\r\n\r\n return (\r\n <div className={cn(\"grid gap-2\", className)}>\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n id=\"date\"\r\n variant={\"outline\"}\r\n className={cn(\r\n \"w-[300px] justify-start text-left font-normal\",\r\n !date && \"text-muted-foreground\"\r\n )}\r\n >\r\n <CalendarIcon />\r\n {date?.from ? (\r\n date.to ? (\r\n <>\r\n {format(date.from, \"LLL dd, y\")} -{\" \"}\r\n {format(date.to, \"LLL dd, y\")}\r\n </>\r\n ) : (\r\n format(date.from, \"LLL dd, y\")\r\n )\r\n ) : (\r\n <span>Pick a date</span>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar\r\n initialFocus\r\n mode=\"range\"\r\n defaultMonth={date?.from}\r\n selected={date}\r\n onSelect={setDate}\r\n numberOfMonths={2}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n </div>\r\n )\r\n}\r\n","import * as React from \"react\"\r\nimport { Drawer as DrawerPrimitive } from \"vaul\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Drawer = ({\r\n shouldScaleBackground = true,\r\n ...props\r\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\r\n <DrawerPrimitive.Root\r\n shouldScaleBackground={shouldScaleBackground}\r\n {...props}\r\n />\r\n)\r\nDrawer.displayName = \"Drawer\"\r\n\r\nconst DrawerTrigger = DrawerPrimitive.Trigger\r\n\r\nconst DrawerPortal = DrawerPrimitive.Portal\r\n\r\nconst DrawerClose = DrawerPrimitive.Close\r\n\r\nconst DrawerOverlay = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\r\n {...props}\r\n />\r\n))\r\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\r\n\r\nconst DrawerContent = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n <DrawerPortal>\r\n <DrawerOverlay />\r\n <DrawerPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\r\n {children}\r\n </DrawerPrimitive.Content>\r\n </DrawerPortal>\r\n))\r\nDrawerContent.displayName = \"DrawerContent\"\r\n\r\nconst DrawerHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\r\n {...props}\r\n />\r\n)\r\nDrawerHeader.displayName = \"DrawerHeader\"\r\n\r\nconst DrawerFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\r\n {...props}\r\n />\r\n)\r\nDrawerFooter.displayName = \"DrawerFooter\"\r\n\r\nconst DrawerTitle = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\r\n\r\nconst DrawerDescription = React.forwardRef<\r\n React.ElementRef<typeof DrawerPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DrawerPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\r\n\r\nexport {\r\n Drawer,\r\n DrawerPortal,\r\n DrawerOverlay,\r\n DrawerTrigger,\r\n DrawerClose,\r\n DrawerContent,\r\n DrawerHeader,\r\n DrawerFooter,\r\n DrawerTitle,\r\n DrawerDescription,\r\n}\r\n","import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\r\nimport { Check, ChevronRight, Circle } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst DropdownMenu = DropdownMenuPrimitive.Root;\r\n\r\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\r\n\r\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\r\n\r\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\r\n\r\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\r\n\r\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\r\n\r\nconst DropdownMenuSubTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, children, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.SubTrigger\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent',\r\n\t\t\tinset && 'pl-8',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{children}\r\n\t\t<ChevronRight className='ml-auto h-4 w-4' />\r\n\t</DropdownMenuPrimitive.SubTrigger>\r\n));\r\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\r\n\r\nconst DropdownMenuSubContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\r\n>(({ className, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.SubContent\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\r\n\r\nconst DropdownMenuContent = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Portal>\r\n\t\t<DropdownMenuPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tsideOffset={sideOffset}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t</DropdownMenuPrimitive.Portal>\r\n));\r\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\r\n\r\nconst DropdownMenuItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Item\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tinset && 'pl-8',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\r\n\r\nconst DropdownMenuCheckboxItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\r\n>(({ className, children, checked, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.CheckboxItem\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\tchecked={checked}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t</span>\r\n\t\t{children}\r\n\t</DropdownMenuPrimitive.CheckboxItem>\r\n));\r\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\r\n\r\nconst DropdownMenuRadioItem = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.RadioItem\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t<DropdownMenuPrimitive.ItemIndicator>\r\n\t\t\t\t<Circle className='h-2 w-2 fill-current' />\r\n\t\t\t</DropdownMenuPrimitive.ItemIndicator>\r\n\t\t</span>\r\n\t\t{children}\r\n\t</DropdownMenuPrimitive.RadioItem>\r\n));\r\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\r\n\r\nconst DropdownMenuLabel = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Label>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\r\n\t\tinset?: boolean;\r\n\t}\r\n>(({ className, inset, ...props }, ref) => (\r\n\t<DropdownMenuPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)} {...props} />\r\n));\r\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\r\n\r\nconst DropdownMenuSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof DropdownMenuPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\r\n>(({ className, ...props }, ref) => <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\r\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\r\n\r\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\r\n\treturn <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\r\n};\r\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\r\n\r\nexport {\r\n\tDropdownMenu,\r\n\tDropdownMenuCheckboxItem,\r\n\tDropdownMenuContent,\r\n\tDropdownMenuGroup,\r\n\tDropdownMenuItem,\r\n\tDropdownMenuLabel,\r\n\tDropdownMenuPortal,\r\n\tDropdownMenuRadioGroup,\r\n\tDropdownMenuRadioItem,\r\n\tDropdownMenuSeparator,\r\n\tDropdownMenuShortcut,\r\n\tDropdownMenuSub,\r\n\tDropdownMenuSubContent,\r\n\tDropdownMenuSubTrigger,\r\n\tDropdownMenuTrigger\r\n};\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst labelVariants = cva('text-sm font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70');\r\n\r\nconst Label = React.forwardRef<\r\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\r\n>(({ className, ...props }, ref) => <LabelPrimitive.Root ref={ref} className={cn(labelVariants(), className)} {...props} />);\r\nLabel.displayName = LabelPrimitive.Root.displayName;\r\n\r\nexport { Label };\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport { Slot } from '@radix-ui/react-slot';\r\nimport * as React from 'react';\r\nimport { Controller, ControllerProps, FieldPath, FieldValues, FormProvider, useFormContext } from 'react-hook-form';\r\nimport { cn } from '../../lib/utils';\r\nimport { Label } from './label';\r\n\r\nconst Form = FormProvider;\r\n\r\ntype FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {\r\n\tname: TName;\r\n};\r\n\r\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\r\n\r\nconst FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({\r\n\t...props\r\n}: ControllerProps<TFieldValues, TName>) => {\r\n\treturn (\r\n\t\t<FormFieldContext.Provider value={{ name: props.name }}>\r\n\t\t\t<Controller {...props} />\r\n\t\t</FormFieldContext.Provider>\r\n\t);\r\n};\r\n\r\nconst useFormField = () => {\r\n\tconst fieldContext = React.useContext(FormFieldContext);\r\n\tconst itemContext = React.useContext(FormItemContext);\r\n\tconst { getFieldState, formState } = useFormContext();\r\n\r\n\tconst fieldState = getFieldState(fieldContext.name, formState);\r\n\r\n\tif (!fieldContext) {\r\n\t\tthrow new Error('useFormField should be used within <FormField>');\r\n\t}\r\n\r\n\tconst { id } = itemContext;\r\n\r\n\treturn {\r\n\t\tid,\r\n\t\tname: fieldContext.name,\r\n\t\tformItemId: `${id}-form-item`,\r\n\t\tformDescriptionId: `${id}-form-item-description`,\r\n\t\tformMessageId: `${id}-form-item-message`,\r\n\t\t...fieldState,\r\n\t};\r\n};\r\n\r\ntype FormItemContextValue = {\r\n\tid: string;\r\n};\r\n\r\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\r\n\r\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => {\r\n\tconst id = React.useId();\r\n\r\n\treturn (\r\n\t\t<FormItemContext.Provider value={{ id }}>\r\n\t\t\t<div ref={ref} className={cn('', className)} {...props} />\r\n\t\t</FormItemContext.Provider>\r\n\t);\r\n});\r\nFormItem.displayName = 'FormItem';\r\n\r\nconst FormLabel = React.forwardRef<React.ElementRef<typeof LabelPrimitive.Root>, React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { error, formItemId } = useFormField();\r\n\r\n\t\treturn <Label ref={ref} className={cn(error && 'text-destructive', className)} htmlFor={formItemId} {...props} />;\r\n\t},\r\n);\r\nFormLabel.displayName = 'FormLabel';\r\n\r\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(({ ...props }, ref) => {\r\n\tconst { error, formItemId, formDescriptionId, formMessageId } = useFormField();\r\n\r\n\treturn (\r\n\t\t<Slot\r\n\t\t\tref={ref}\r\n\t\t\tid={formItemId}\r\n\t\t\taria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\r\n\t\t\taria-invalid={!!error}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nFormControl.displayName = 'FormControl';\r\n\r\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, ...props }, ref) => {\r\n\tconst { formDescriptionId } = useFormField();\r\n\r\n\treturn <p ref={ref} id={formDescriptionId} className={cn('text-sm text-muted-foreground', className)} {...props} />;\r\n});\r\nFormDescription.displayName = 'FormDescription';\r\n\r\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(({ className, children, ...props }, ref) => {\r\n\tconst { error, formMessageId } = useFormField();\r\n\tconst body = error ? String(error?.message) : children;\r\n\r\n\tif (!body) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t<p ref={ref} id={formMessageId} className={cn('text-sm font-medium text-destructive', className)} {...props}>\r\n\t\t\t{body}\r\n\t\t</p>\r\n\t);\r\n});\r\nFormMessage.displayName = 'FormMessage';\r\n\r\nexport { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };\r\n\r\n","import * as HoverCardPrimitive from '@radix-ui/react-hover-card';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst HoverCard = HoverCardPrimitive.Root;\r\n\r\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\r\n\r\nconst HoverCardContent = React.forwardRef<\r\n\tReact.ElementRef<typeof HoverCardPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n\t<HoverCardPrimitive.Content\r\n\t\tref={ref}\r\n\t\talign={align}\r\n\t\tsideOffset={sideOffset}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 w-auto mr-20 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\r\n\r\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\r\n\r\n","import { Modify } from '@react-input/mask';\r\n\r\nexport const modifyPhone: Modify = ({ value, data, selectionStart, selectionEnd }) => {\r\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\r\n\tconst len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\treturn maskPhone(_value);\r\n};\r\n\r\nexport function maskPhone(value: string | null) {\r\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\tif (len > 10) return { mask: '(__) _ ____-____', replacement: { _: /\\d/ } };\r\n\r\n\treturn { mask: '(__) ____-_____', replacement: { _: /\\d/ } };\r\n}\r\n\r\nexport const modifyCpfCnpj: Modify = ({ value, data, selectionStart, selectionEnd }) => {\r\n\tconst _value = value.slice(0, selectionStart) + (data ?? '') + value.slice(selectionEnd);\r\n\tconst len = _value ? _value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\treturn maskCpfCnpj(_value);\r\n};\r\n\r\nexport function maskCpfCnpj(value: string | null) {\r\n\tconst len = value ? value.replace(/[\\D]+/g, '').length : 0;\r\n\r\n\tif (len > 11) return { mask: '__.___.___/____-__', replacement: { _: /\\d/ } };\r\n\r\n\treturn { mask: '___.___.___-___', replacement: { _: /\\d/ } };\r\n}\r\n\r\nexport const removeMaskNumber = (value: string): string => {\r\n\treturn value?.replace(/\\D/g, '');\r\n};\r\n","import { maskCpfCnpj, maskPhone } from \"@/components/ui/masks\";\r\nimport { format } from '@react-input/mask';\r\n\r\n// PHONE\r\nexport function formatPhone(telefone: string, removerCountryCode = true) {\r\n\tif (!telefone) return '';\r\n\r\n\tlet numberPhone = telefone.replace(/\\D/g, '');\r\n\r\n\t// Remover código do país apenas se ele começar com '55'\r\n\tif (removerCountryCode && numberPhone.startsWith('55')) {\r\n\t\tnumberPhone = numberPhone.substring(2);\r\n\t}\r\n\r\n\treturn format(numberPhone, maskPhone(numberPhone));\r\n}\r\n\r\n// CPF/CNPJ\r\nexport function formatCpfCnpj(cpfCnpj?: string): string {\r\n\tif (!cpfCnpj) return '';\r\n\r\n\tconst numberCpfCnpj = cpfCnpj.replace(/\\D/g, '');\r\n\r\n\treturn format(numberCpfCnpj, maskCpfCnpj(numberCpfCnpj));\r\n}\r\n\r\n// DATE\r\nfunction getDay(date: Date) {\r\n\treturn date.getDate().toString().padStart(2, '0');\r\n}\r\n\r\nfunction getMonth(date: Date) {\r\n\treturn (date.getMonth() + 1).toString().padStart(2, '0');\r\n}\r\n\r\nfunction getYear(date: Date) {\r\n\treturn date.getFullYear().toString();\r\n}\r\n\r\nexport const formatDate = (date: string | Date | undefined, separator: string = '/') => {\r\n\tif (!date) return '';\r\n\r\n\tconst d = new Date(date);\r\n\r\n\treturn d.toLocaleDateString('pt-BR');\r\n};\r\n\r\nexport const formatDateTime = (date: Date | undefined, returnSeconds: boolean = false): string => {\r\n\tif (!date) return '';\r\n\r\n\tconst hours = date.getHours().toString().padStart(2, '0');\r\n\tconst minutes = date.getMinutes().toString().padStart(2, '0');\r\n\tconst seconds = returnSeconds ? `:${date.getSeconds().toString().padStart(2, '0')}` : '';\r\n\r\n\treturn `${formatDate(date)} ${hours}:${minutes}${seconds}`;\r\n};\r\n\r\nexport function formatDateCalendar(date: Date | undefined): string {\r\n\tif (!date) return '';\r\n\r\n\tconst day = getDay(date);\r\n\tconst month = getMonth(date);\r\n\tconst year = getYear(date);\r\n\r\n\treturn `${year}-${month}-${day}`;\r\n}\r\n\r\nexport function stringDateToDate(date: string | undefined, separator: string = '/'): Date | undefined {\r\n\tif (!date) return undefined;\r\n\r\n\tconst [day, month, year] = date.split(separator).map(Number);\r\n\r\n\t// new Date(ano, mês-1, dia) interpreta a data no fuso horário local\r\n\treturn new Date(year, month - 1, day);\r\n}\r\n\r\n// NUMBER\r\nexport const roundNumber = (value: number, fractionDigits: number = 2): number => {\r\n\treturn Number(value.toFixed(fractionDigits));\r\n};\r\n\r\nexport const stringToNumber = (value: string | undefined): number => {\r\n\tif (!value) return 0;\r\n\r\n\tconst numericValue = value\r\n\t\t.replace(/[^\\d,-]/g, '')\r\n\t\t.replace(/\\./g, '')\r\n\t\t.replace(',', '.');\r\n\treturn Number.parseFloat(numericValue);\r\n};\r\n\r\nexport const convertMbToGb = (value: number) => {\r\n\treturn value > 0 ? roundNumber(value / 1024) : 0;\r\n};\r\n\r\nexport const convertGbToMb = (value: number) => {\r\n\treturn value > 0 ? roundNumber(value * 1024) : 0;\r\n};\r\n\r\nexport const convertSecondsToMinutes = (value: number): number => {\r\n\treturn value > 0 ? roundNumber(value / 60) : 0;\r\n};\r\n\r\nexport const convertBytesToMB = (bytes: number): number => {\r\n\tif (!bytes || Number.isNaN(bytes)) return 0;\r\n\treturn roundNumber(bytes / (1024 * 1024));\r\n};\r\n\r\nexport const convertMonthToDays = (months: number): number => {\r\n\treturn months > 0 ? months * 30 : 0;\r\n};\r\n\r\nexport const convertDaysToMonth = (days: number): number => {\r\n\treturn days > 0 ? roundNumber(days / 30) : 0;\r\n};\r\n\r\n// NUMBER\r\nexport const formatNumber = (value: number) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'decimal',\r\n\t\tminimumFractionDigits: 0,\r\n\t\tmaximumFractionDigits: 0,\r\n\t});\r\n};\r\n\r\n// DECIMAL\r\nexport const formatDecimal = (value: number, decimalPlaces: number = 2) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'decimal',\r\n\t\tminimumFractionDigits: decimalPlaces,\r\n\t\tmaximumFractionDigits: decimalPlaces,\r\n\t});\r\n};\r\n\r\n// PERCENT\r\nexport const formatPercent = (value: number, decimalPlaces: number = 2) => {\r\n\treturn `% ${formatDecimal(value, decimalPlaces)}`;\r\n};\r\n\r\n// CURRENCY\r\nexport const formatCurrency = (value: number, decimalPlaces: number = 2) => {\r\n\treturn value.toLocaleString('pt-BR', {\r\n\t\tstyle: 'currency',\r\n\t\tcurrency: 'BRL',\r\n\t\tminimumFractionDigits: decimalPlaces,\r\n\t\tmaximumFractionDigits: decimalPlaces,\r\n\t});\r\n};\r\n\r\nexport const isInvalidCurrencyValue = (rawValue: string | undefined): boolean => {\r\n\tif (!rawValue || rawValue.trim() === '') return true;\r\n\r\n\tconst numericValue = stringToNumber(rawValue);\r\n\r\n\treturn Number.isNaN(numericValue) || numericValue <= 0;\r\n};\r\n\r\n// OTHERS\r\nexport function formatMsisdn(value: string = ''): string {\r\n\tconst msisdn = value.replace(/\\D/g, '');\r\n\treturn `(${msisdn.slice(2, 4)}) ${msisdn.slice(4, 9)}-${msisdn.slice(9)}`;\r\n}\r\n\r\nexport function formatCEP(cep?: string) {\r\n\tif (!cep) return '';\r\n\r\n\treturn cep\r\n\t\t.replace(/\\D/g, '')\r\n\t\t.replace(/(\\d{5})(\\d)/, '$1-$2')\r\n\t\t.replace(/(-\\d{3})\\d+?$/, '$1');\r\n}\r\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"menos de um segundo\",\n other: \"menos de {{count}} segundos\",\n },\n\n xSeconds: {\n one: \"1 segundo\",\n other: \"{{count}} segundos\",\n },\n\n halfAMinute: \"meio minuto\",\n\n lessThanXMinutes: {\n one: \"menos de um minuto\",\n other: \"menos de {{count}} minutos\",\n },\n\n xMinutes: {\n one: \"1 minuto\",\n other: \"{{count}} minutos\",\n },\n\n aboutXHours: {\n one: \"cerca de 1 hora\",\n other: \"cerca de {{count}} horas\",\n },\n\n xHours: {\n one: \"1 hora\",\n other: \"{{count}} horas\",\n },\n\n xDays: {\n one: \"1 dia\",\n other: \"{{count}} dias\",\n },\n\n aboutXWeeks: {\n one: \"cerca de 1 semana\",\n other: \"cerca de {{count}} semanas\",\n },\n\n xWeeks: {\n one: \"1 semana\",\n other: \"{{count}} semanas\",\n },\n\n aboutXMonths: {\n one: \"cerca de 1 mês\",\n other: \"cerca de {{count}} meses\",\n },\n\n xMonths: {\n one: \"1 mês\",\n other: \"{{count}} meses\",\n },\n\n aboutXYears: {\n one: \"cerca de 1 ano\",\n other: \"cerca de {{count}} anos\",\n },\n\n xYears: {\n one: \"1 ano\",\n other: \"{{count}} anos\",\n },\n\n overXYears: {\n one: \"mais de 1 ano\",\n other: \"mais de {{count}} anos\",\n },\n\n almostXYears: {\n one: \"quase 1 ano\",\n other: \"quase {{count}} anos\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"em \" + result;\n } else {\n return \"há \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d 'de' MMMM 'de' y\",\n long: \"d 'de' MMMM 'de' y\",\n medium: \"d MMM y\",\n short: \"dd/MM/yyyy\",\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'às' {{time}}\",\n long: \"{{date}} 'às' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: (date) => {\n const weekday = date.getDay();\n const last = weekday === 0 || weekday === 6 ? \"último\" : \"última\";\n return \"'\" + last + \"' eeee 'às' p\";\n },\n yesterday: \"'ontem às' p\",\n today: \"'hoje às' p\",\n tomorrow: \"'amanhã às' p\",\n nextWeek: \"eeee 'às' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, _baseDate, _options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"AC\", \"DC\"],\n abbreviated: [\"AC\", \"DC\"],\n wide: [\"antes de cristo\", \"depois de cristo\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"T1\", \"T2\", \"T3\", \"T4\"],\n wide: [\"1º trimestre\", \"2º trimestre\", \"3º trimestre\", \"4º trimestre\"],\n};\n\nconst monthValues = {\n narrow: [\"j\", \"f\", \"m\", \"a\", \"m\", \"j\", \"j\", \"a\", \"s\", \"o\", \"n\", \"d\"],\n abbreviated: [\n \"jan\",\n \"fev\",\n \"mar\",\n \"abr\",\n \"mai\",\n \"jun\",\n \"jul\",\n \"ago\",\n \"set\",\n \"out\",\n \"nov\",\n \"dez\",\n ],\n\n wide: [\n \"janeiro\",\n \"fevereiro\",\n \"março\",\n \"abril\",\n \"maio\",\n \"junho\",\n \"julho\",\n \"agosto\",\n \"setembro\",\n \"outubro\",\n \"novembro\",\n \"dezembro\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"],\n short: [\"dom\", \"seg\", \"ter\", \"qua\", \"qui\", \"sex\", \"sab\"],\n abbreviated: [\n \"domingo\",\n \"segunda\",\n \"terça\",\n \"quarta\",\n \"quinta\",\n \"sexta\",\n \"sábado\",\n ],\n\n wide: [\n \"domingo\",\n \"segunda-feira\",\n \"terça-feira\",\n \"quarta-feira\",\n \"quinta-feira\",\n \"sexta-feira\",\n \"sábado\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"manhã\",\n afternoon: \"tarde\",\n evening: \"tarde\",\n night: \"noite\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mn\",\n noon: \"md\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"meia-noite\",\n noon: \"meio-dia\",\n morning: \"da manhã\",\n afternoon: \"da tarde\",\n evening: \"da tarde\",\n night: \"da noite\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n\n if (options?.unit === \"week\") {\n return number + \"ª\";\n }\n return number + \"º\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)[ºªo]?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(ac|dc|a|d)/i,\n abbreviated: /^(a\\.?\\s?c\\.?|d\\.?\\s?c\\.?)/i,\n wide: /^(antes de cristo|depois de cristo)/i,\n};\nconst parseEraPatterns = {\n any: [/^ac/i, /^dc/i],\n wide: [/^antes de cristo/i, /^depois de cristo/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^T[1234]/i,\n wide: /^[1234](º)? trimestre/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmajsond]/i,\n abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,\n wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^fev/i,\n /^mar/i,\n /^abr/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^set/i,\n /^out/i,\n /^nov/i,\n /^dez/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^(dom|[23456]ª?|s[aá]b)/i,\n short: /^(dom|[23456]ª?|s[aá]b)/i,\n abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,\n wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i,\n};\nconst parseDayPatterns = {\n short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],\n any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,\n any: /^([ap]\\.?\\s?m\\.?|meia[-\\s]noite|meio[-\\s]dia|(da) (manhã|tarde|noite))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mn|^meia[-\\s]noite/i,\n noon: /^md|^meio[-\\s]dia/i,\n morning: /manhã/i,\n afternoon: /tarde/i,\n evening: /tarde/i,\n night: /noite/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./pt-BR/_lib/formatDistance.js\";\nimport { formatLong } from \"./pt-BR/_lib/formatLong.js\";\nimport { formatRelative } from \"./pt-BR/_lib/formatRelative.js\";\nimport { localize } from \"./pt-BR/_lib/localize.js\";\nimport { match } from \"./pt-BR/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Portuguese locale (Brazil).\n * @language Portuguese\n * @iso-639-2 por\n * @author Lucas Duailibe [@duailibe](https://github.com/duailibe)\n * @author Yago Carballo [@yagocarballo](https://github.com/YagoCarballo)\n */\nexport const ptBR = {\n code: \"pt-BR\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ptBR;\n","import * as SelectPrimitive from '@radix-ui/react-select';\r\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Select = SelectPrimitive.Root;\r\n\r\nconst SelectGroup = SelectPrimitive.Group;\r\n\r\nconst SelectValue = SelectPrimitive.Value;\r\n\r\nconst SelectTrigger = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Trigger>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\r\n>(({ className, children, ...props }, ref) => (\r\n\t<SelectPrimitive.Trigger\r\n\t\tref={ref}\r\n\t\tclassName={cn(\r\n\t\t\t'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{children}\r\n\t\t<SelectPrimitive.Icon asChild>\r\n\t\t\t<ChevronDown className='h-4 w-4 opacity-50' />\r\n\t\t</SelectPrimitive.Icon>\r\n\t</SelectPrimitive.Trigger>\r\n));\r\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\r\n\r\nconst SelectScrollUpButton = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\r\n>(({ className, ...props }, ref) => (\r\n\t<SelectPrimitive.ScrollUpButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\r\n\t\t<ChevronUp className='h-4 w-4' />\r\n\t</SelectPrimitive.ScrollUpButton>\r\n));\r\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\r\n\r\nconst SelectScrollDownButton = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\r\n>(({ className, ...props }, ref) => (\r\n\t<SelectPrimitive.ScrollDownButton ref={ref} className={cn('flex cursor-default items-center justify-center py-1', className)} {...props}>\r\n\t\t<ChevronDown className='h-4 w-4' />\r\n\t</SelectPrimitive.ScrollDownButton>\r\n));\r\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\r\n\r\nconst SelectContent = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\r\n>(({ className, children, position = 'popper', ...props }, ref) => (\r\n\t<SelectPrimitive.Portal>\r\n\t\t<SelectPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\r\n\t\t\t\tposition === 'popper' &&\r\n\t\t\t\t\t'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tposition={position}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<SelectScrollUpButton />\r\n\t\t\t<SelectPrimitive.Viewport\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'p-1',\r\n\t\t\t\t\tposition === 'popper' && 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</SelectPrimitive.Viewport>\r\n\t\t\t<SelectScrollDownButton />\r\n\t\t</SelectPrimitive.Content>\r\n\t</SelectPrimitive.Portal>\r\n));\r\nSelectContent.displayName = SelectPrimitive.Content.displayName;\r\n\r\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SelectPrimitive.Label ref={ref} className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)} {...props} />\r\n\t),\r\n);\r\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\r\n\r\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\r\n\t({ className, children, ...props }, ref) => (\r\n\t\t<SelectPrimitive.Item\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-3 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\r\n\r\n\t\t\t<span className='absolute right-2 flex h-3.5 w-3.5 items-center justify-center'>\r\n\t\t\t\t<SelectPrimitive.ItemIndicator>\r\n\t\t\t\t\t<Check className='h-4 w-4' />\r\n\t\t\t\t</SelectPrimitive.ItemIndicator>\r\n\t\t\t</span>\r\n\t\t</SelectPrimitive.Item>\r\n\t),\r\n);\r\nSelectItem.displayName = SelectPrimitive.Item.displayName;\r\n\r\nconst SelectSeparator = React.forwardRef<\r\n\tReact.ElementRef<typeof SelectPrimitive.Separator>,\r\n\tReact.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\r\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />);\r\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\r\n\r\nexport {\r\n\tSelect,\r\n\tSelectContent,\r\n\tSelectGroup,\r\n\tSelectItem,\r\n\tSelectLabel,\r\n\tSelectScrollDownButton,\r\n\tSelectScrollUpButton,\r\n\tSelectSeparator,\r\n\tSelectTrigger,\r\n\tSelectValue\r\n};\r\n\r\n","import { getMonth, getYear, setMonth, setYear } from 'date-fns';\r\nimport { ptBR } from 'date-fns/locale';\r\nimport { Calendar as CalendarIcon } from 'lucide-react';\r\nimport React, { useState } from 'react';\r\nimport { DayPicker } from 'react-day-picker';\r\nimport { cn } from '../../../lib/utils';\r\nimport { Calendar as CalendarComponent } from '../calendar';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover';\r\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select';\r\n\r\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>;\r\n\r\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tonDateSelected: (selectedDateProps: Date | null) => void;\r\n\tselectedDateProps?: Date | null;\r\n\tstartYear?: number;\r\n\tendYear?: number;\r\n}\r\n\r\nconst DatePicker = React.forwardRef<HTMLDivElement, CalendarFormProps>(\r\n\t({ className, onDateSelected, selectedDateProps, startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, ...props }, ref) => {\r\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\r\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = useState(false);\r\n\t\tconst months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];\r\n\r\n\t\tconst years = Array.from({ length: endYear - startYear + 1 }, (_, i) => startYear + i);\r\n\r\n\t\tconst handleMonthChange = (month: string) => {\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst newDate = setMonth(selectedDate, months.indexOf(month));\r\n\t\t\t\tsetSelectedDate(newDate);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst handleYearChange = (year: string) => {\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst newDate = setYear(selectedDate, parseInt(year, 10));\r\n\t\t\t\tsetSelectedDate(newDate);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst handleDateChange = (selectedDate: Date | undefined) => {\r\n\t\t\tconst newDate = selectedDate || null;\r\n\t\t\tsetSelectedDate(newDate);\r\n\t\t\tsetIsPopoverOpen(false);\r\n\t\t\tonDateSelected(newDate);\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<div className={cn('gap-2', className)} ref={ref} {...props}>\r\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\r\n\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' onClick={() => setIsPopoverOpen(true)} />\r\n\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t<PopoverContent className='w-auto p-0 flex flex-col justify-center' align='start'>\r\n\t\t\t\t\t\t<div className='flex justify-between pt-5 px-5'>\r\n\t\t\t\t\t\t\t<Select onValueChange={handleMonthChange} value={months[getMonth(selectedDate || new Date())]}>\r\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\r\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Month' />\r\n\t\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t\t{months.map((month) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={month} value={month}>\r\n\t\t\t\t\t\t\t\t\t\t\t{month}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t\t\t<Select onValueChange={handleYearChange} value={getYear(selectedDate || new Date()).toString()}>\r\n\t\t\t\t\t\t\t\t<SelectTrigger className='w-[100px]'>\r\n\t\t\t\t\t\t\t\t\t<SelectValue placeholder='Year' />\r\n\t\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t\t{years.map((year) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={year} value={year.toString()}>\r\n\t\t\t\t\t\t\t\t\t\t\t{year}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<CalendarComponent\r\n\t\t\t\t\t\t\tmode='single'\r\n\t\t\t\t\t\t\tlocale={ptBR}\r\n\t\t\t\t\t\t\tonSelect={handleDateChange}\r\n\t\t\t\t\t\t\tclassName='bg-white text-black'\r\n\t\t\t\t\t\t\tmonth={selectedDate || undefined}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t</Popover>\r\n\t\t\t</div>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nexport { DatePicker };\r\n\r\n","import InputMask from '@mona-health/react-input-mask';\r\nimport * as React from 'react';\r\nimport { useEffect, useState } from 'react';\r\nimport { formatDecimal } from '../../lib/help/format';\r\nimport { cn } from '../../lib/utils';\r\nimport { DatePicker } from './custom/date-picker';\r\n\r\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\r\n\tmask?: string;\r\n\tmaskPlaceholder?: string | null;\r\n\tmaxLength?: number;\r\n\tplaceholder?: string;\r\n\tlabel?: string;\r\n\tdisabled?: boolean;\r\n}\r\n\r\nexport interface InputDecimalProps extends InputProps {\r\n\tsymbol?: string;\r\n}\r\n\r\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\r\n\tif (className?.includes('border-none')) {\r\n\t\treturn '';\r\n\t}\r\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\r\n}\r\n\r\nconst InputFile = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype='file'\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst InputUF = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t\tonChange={(e) => {\r\n\t\t\t\talert(e.target.value);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst InputText = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tvalue={value || ''}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst MaskInput = React.forwardRef<HTMLInputElement, InputProps>(\r\n\t({ className, type, mask, maskPlaceholder, value, maxLength, disabled, placeholder, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={maskPlaceholder}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nconst MaskInputDate = React.forwardRef<HTMLInputElement, InputProps>(\r\n\t({ className, type, mask, maxLength, disabled, placeholder, onChange, value, ...props }, ref) => {\r\n\t\tconst [selectedDate, setSelectedDate] = useState<Date | null>(null);\r\n\t\tconst handleDayPickerSelect = (selectedDate: Date | null) => {\r\n\t\t\tsetSelectedDate(selectedDate);\r\n\r\n\t\t\tif (selectedDate) {\r\n\t\t\t\tconst formattedDate = selectedDate.toLocaleDateString('pt-BR');\r\n\t\t\t\tif (onChange) {\r\n\t\t\t\t\tonChange({ target: { value: formattedDate } } as React.ChangeEvent<HTMLInputElement>);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tuseEffect(() => {\r\n\t\t\tif (value) {\r\n\t\t\t\tconst parsedDate = new Date(Array.isArray(value) ? value[0] : value);\r\n\t\t\t\tif (!Number.isNaN(parsedDate.getTime())) {\r\n\t\t\t\t\tsetSelectedDate(parsedDate);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, [value]);\r\n\r\n\t\treturn (\r\n\t\t\t<div className='relative w-full'>\r\n\t\t\t\t<InputMask\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\tmask={'99/99/9999'}\r\n\t\t\t\t\tvalue={value || ''}\r\n\t\t\t\t\tonChange={onChange}\r\n\t\t\t\t\ttype={type}\r\n\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\tplaceholder={placeholder ?? 'DD/MM/AAAA'}\r\n\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background pl-9 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\t\tclassName,\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\r\n\t\t\t\t\t<DatePicker onDateSelected={handleDayPickerSelect} selectedDateProps={selectedDate} />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nconst MaskInputCpfCnpj = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tplaceholder={'000.000.000-00'}\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nconst MaskInputFone = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, mask, value, disabled, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div>\r\n\t\t\t<InputMask\r\n\t\t\t\tref={ref}\r\n\t\t\t\ttype={type}\r\n\t\t\t\tmask={mask || ''}\r\n\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\tvalue={value || ''}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tplaceholder='(00) 0 0000-0000'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nconst InputPassword = React.forwardRef<HTMLInputElement, InputProps>(({ className, placeholder, type, maxLength, ...props }, ref) => {\r\n\treturn (\r\n\t\t<input\r\n\t\t\ttype={type}\r\n\t\t\tplaceholder={placeholder}\r\n\t\t\tmaxLength={maxLength}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nconst MaskInputDecimal = React.forwardRef<HTMLInputElement, InputDecimalProps>(({ className, value, onChange, disabled, symbol, ...props }, ref) => {\r\n\tconst handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\tconst numericValue = Number(event.target.value.replace(/\\D/g, '')) / 100;\r\n\t\tconst formattedValue = symbol ? `${symbol} ${formatDecimal(numericValue)}` : formatDecimal(numericValue);\r\n\r\n\t\tif (onChange) {\r\n\t\t\tonChange({ ...event, target: { ...event.target, value: formattedValue } });\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<InputMask\r\n\t\t\tref={ref}\r\n\t\t\tmask=''\r\n\t\t\tvalue={value || ''}\r\n\t\t\tonChange={handleChange}\r\n\t\t\tdisabled={disabled}\r\n\t\t\tplaceholder={symbol ? `${symbol} 0,00` : '0,00'}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nexport { Input, InputFile, InputPassword, InputText, InputUF, MaskInput, MaskInputCpfCnpj, MaskInputDate, MaskInputDecimal, MaskInputFone };\r\n\r\n","import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\nimport { ButtonProps, buttonVariants } from './button';\r\n\r\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\r\n\t<nav role='navigation' aria-label='pagination' className={cn('mx-auto flex w-full justify-center', className)} {...props} />\r\n);\r\nPagination.displayName = 'Pagination';\r\n\r\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\r\n));\r\nPaginationContent.displayName = 'PaginationContent';\r\n\r\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} className={cn('', className)} {...props} />\r\n));\r\nPaginationItem.displayName = 'PaginationItem';\r\n\r\ntype PaginationLinkProps = {\r\n\tisActive?: boolean;\r\n\tdisabled?: boolean;\r\n} & Pick<ButtonProps, 'size'> &\r\n\tReact.ComponentProps<'a'>;\r\n\r\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\r\n\t<a\r\n\t\taria-current={isActive ? 'page' : undefined}\r\n\t\tclassName={cn(\r\n\t\t\tbuttonVariants({\r\n\t\t\t\tvariant: isActive ? 'outline' : 'ghost',\r\n\t\t\t\tsize,\r\n\t\t\t}),\r\n\t\t\tisActive ? '' : 'cursor-pointer',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n);\r\nPaginationLink.displayName = 'PaginationLink';\r\n\r\nconst PaginationPrevious = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\r\n\t<PaginationLink\r\n\t\taria-label='Go to previous page'\r\n\t\tsize='default'\r\n\t\tclassName={cn('gap-1 pl-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<ChevronLeft className='h-4 w-4' />\r\n\t\t<span>Anterior</span>\r\n\t</PaginationLink>\r\n);\r\nPaginationPrevious.displayName = 'PaginationPrevious';\r\n\r\nconst PaginationNext = ({ className, disabled, ...props }: React.ComponentProps<typeof PaginationLink>) => (\r\n\t<PaginationLink\r\n\t\taria-label='Go to next page'\r\n\t\tsize='default'\r\n\t\tclassName={cn('gap-1 pr-2.5', disabled ? 'cursor-default text-zinc-500' : 'cursor-pointer', className)}\r\n\t\t{...props}\r\n\t>\r\n\t\t<span>Próximo</span>\r\n\t\t<ChevronRight className='h-4 w-4' />\r\n\t</PaginationLink>\r\n);\r\nPaginationNext.displayName = 'PaginationNext';\r\n\r\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\r\n\t<span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\r\n\t\t<MoreHorizontal className='h-4 w-4' />\r\n\t\t<span className='sr-only'>More pages</span>\r\n\t</span>\r\n);\r\nPaginationEllipsis.displayName = 'PaginationEllipsis';\r\n\r\nexport { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious };\r\n\r\n","import * as ProgressPrimitive from '@radix-ui/react-progress';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Progress = React.forwardRef<React.ElementRef<typeof ProgressPrimitive.Root>, React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>>(\r\n\t({ className, value, ...props }, ref) => (\r\n\t\t<ProgressPrimitive.Root\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('relative h-4 w-full overflow-hidden rounded-full bg-background-secondary', className)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<ProgressPrimitive.Indicator\r\n\t\t\t\tclassName='h-full w-full flex-1 bg-background-primary transition-all'\r\n\t\t\t\tstyle={{ transform: `translateX(-${100 - (value || 0)}%)` }}\r\n\t\t\t/>\r\n\t\t</ProgressPrimitive.Root>\r\n\t),\r\n);\r\nProgress.displayName = ProgressPrimitive.Root.displayName;\r\n\r\nexport { Progress };\r\n\r\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\r\nimport { Circle } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst RadioGroup = React.forwardRef<\r\n\tReact.ElementRef<typeof RadioGroupPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\r\n>(({ className, ...props }, ref) => {\r\n\treturn <RadioGroupPrimitive.Root className={cn('', className)} {...props} ref={ref} />;\r\n});\r\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\r\n\r\nconst RadioGroupItem = React.forwardRef<\r\n\tReact.ElementRef<typeof RadioGroupPrimitive.Item>,\r\n\tReact.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\r\n>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<RadioGroupPrimitive.Item\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<RadioGroupPrimitive.Indicator className='flex items-center justify-center'>\r\n\t\t\t\t<Circle className='h-2.5 w-2.5 fill-current text-current' />\r\n\t\t\t</RadioGroupPrimitive.Indicator>\r\n\t\t</RadioGroupPrimitive.Item>\r\n\t);\r\n});\r\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\r\n\r\nexport { RadioGroup, RadioGroupItem };\r\n\r\n","import * as React from \"react\"\r\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst ScrollArea = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\r\n>(({ className, children, ...props }, ref) => (\r\n <ScrollAreaPrimitive.Root\r\n ref={ref}\r\n className={cn(\"relative overflow-hidden\", className)}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\r\n {children}\r\n </ScrollAreaPrimitive.Viewport>\r\n <ScrollBar />\r\n <ScrollAreaPrimitive.Corner />\r\n </ScrollAreaPrimitive.Root>\r\n))\r\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\r\n\r\nconst ScrollBar = React.forwardRef<\r\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\r\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\r\n <ScrollAreaPrimitive.ScrollAreaScrollbar\r\n ref={ref}\r\n orientation={orientation}\r\n className={cn(\r\n \"flex touch-none select-none transition-colors\",\r\n orientation === \"vertical\" &&\r\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\r\n orientation === \"horizontal\" &&\r\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\r\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\r\n))\r\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\r\n\r\nexport { ScrollArea, ScrollBar }\r\n","import * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","'use client';\r\n\r\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Sheet = SheetPrimitive.Root;\r\n\r\nconst SheetTrigger = SheetPrimitive.Trigger;\r\n\r\nconst SheetClose = SheetPrimitive.Close;\r\n\r\nconst SheetPortal = SheetPrimitive.Portal;\r\n\r\nconst SheetOverlay = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Overlay>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SheetPrimitive.Overlay\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t\tref={ref}\r\n\t\t/>\r\n\t),\r\n);\r\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\r\n\r\nconst sheetVariants = cva(\r\n\t'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tside: {\r\n\t\t\t\ttop: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\r\n\t\t\t\tbottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\r\n\t\t\t\tleft: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\r\n\t\t\t\tright: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tside: 'right',\r\n\t\t},\r\n\t},\r\n);\r\n\r\ninterface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\r\n\r\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\r\n\t({ side = 'right', className, children, ...props }, ref) => (\r\n\t\t<SheetPortal>\r\n\t\t\t<SheetOverlay />\r\n\t\t\t<SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t\t<SheetPrimitive.Close className='absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-background-secondary'>\r\n\t\t\t\t\t<X className='h-4 w-4' />\r\n\t\t\t\t\t<span className='sr-only'>Close</span>\r\n\t\t\t\t</SheetPrimitive.Close>\r\n\t\t\t</SheetPrimitive.Content>\r\n\t\t</SheetPortal>\r\n\t),\r\n);\r\nSheetContent.displayName = SheetPrimitive.Content.displayName;\r\n\r\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\r\n);\r\nSheetHeader.displayName = 'SheetHeader';\r\n\r\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n\t<div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\r\n);\r\nSheetFooter.displayName = 'SheetFooter';\r\n\r\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\r\n\t),\r\n);\r\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\r\n\r\nconst SheetDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof SheetPrimitive.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\r\n>(({ className, ...props }, ref) => <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />);\r\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\r\n\r\nexport { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger };\r\n\r\n","import { cn } from \"@/lib/utils\"\r\n\r\nfunction Skeleton({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) {\r\n return (\r\n <div\r\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Skeleton }\r\n","import * as TooltipPrimitive from '@radix-ui/react-tooltip';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider;\r\n\r\nconst Tooltip = TooltipPrimitive.Root;\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger;\r\n\r\nconst TooltipContent = React.forwardRef<\r\n\tReact.ElementRef<typeof TooltipPrimitive.Content>,\r\n\tReact.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n\t<TooltipPrimitive.Content\r\n\t\tref={ref}\r\n\t\tsideOffset={sideOffset}\r\n\t\tclassName={cn(\r\n\t\t\t'z-50 overflow-hidden rounded-md bg-background-primary text-white px-3 py-1.5 text-sm shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t>\r\n\t\t{props.children}\r\n\t\t<TooltipPrimitive.Arrow className='z-50 fill-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' />\r\n\t</TooltipPrimitive.Content>\r\n));\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\r\n\r\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\r\n\r\n","import * as React from 'react';\r\n\r\nconst MOBILE_BREAKPOINT = 1350;\r\n\r\nexport function useIsMobile() {\r\n\tconst [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\r\n\t\tconst onChange = () => {\r\n\t\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n\t\t};\r\n\t\tmql.addEventListener('change', onChange);\r\n\t\tsetIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\r\n\t\treturn () => mql.removeEventListener('change', onChange);\r\n\t}, []);\r\n\r\n\treturn !!isMobile;\r\n}\r\n","import { Button } from '@/components/ui/button';\r\nimport { Input } from '@/components/ui/input';\r\nimport { Separator } from '@/components/ui/separator';\r\nimport { Sheet, SheetContent } from '@/components/ui/sheet';\r\nimport { Skeleton } from '@/components/ui/skeleton';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip';\r\nimport { useIsMobile } from '@/hooks/use-mobile';\r\nimport { cn } from '@/lib/utils';\r\nimport { Slot } from '@radix-ui/react-slot';\r\nimport { VariantProps, cva } from 'class-variance-authority';\r\nimport { PanelLeft } from 'lucide-react';\r\nimport * as React from 'react';\r\n\r\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = '16rem';\r\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\r\nconst SIDEBAR_WIDTH_ICON = '3rem';\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\r\n\r\ntype SidebarContext = {\r\n\tstate: 'expanded' | 'collapsed';\r\n\topen: boolean;\r\n\tsetOpen: (open: boolean) => void;\r\n\topenMobile: boolean;\r\n\tsetOpenMobile: (open: boolean) => void;\r\n\tisMobile: boolean;\r\n\ttoggleSidebar: () => void;\r\n};\r\n\r\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\r\n\r\nfunction useSidebar() {\r\n\tconst context = React.useContext(SidebarContext);\r\n\tif (!context) {\r\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.');\r\n\t}\r\n\r\n\treturn context;\r\n}\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tdefaultOpen?: boolean;\r\n\t\topen?: boolean;\r\n\t\tonOpenChange?: (open: boolean) => void;\r\n\t}\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst [openMobile, setOpenMobile] = React.useState(false);\r\n\r\n\t// This is the internal state of the sidebar.\r\n\t// We use openProp and setOpenProp for control from outside the component.\r\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\r\n\tconst open = openProp ?? _open;\r\n\tconst setOpen = React.useCallback(\r\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\r\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value;\r\n\t\t\tif (setOpenProp) {\r\n\t\t\t\tsetOpenProp(openState);\r\n\t\t\t} else {\r\n\t\t\t\t_setOpen(openState);\r\n\t\t\t}\r\n\r\n\t\t\t// This sets the cookie to keep the sidebar state.\r\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n\t\t},\r\n\t\t[setOpenProp, open],\r\n\t);\r\n\r\n\t// Helper to toggle the sidebar.\r\n\tconst toggleSidebar = React.useCallback(() => {\r\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\r\n\t}, [isMobile, setOpen, setOpenMobile]);\r\n\r\n\t// Adds a keyboard shortcut to toggle the sidebar.\r\n\tReact.useEffect(() => {\r\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\r\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\ttoggleSidebar();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('keydown', handleKeyDown);\r\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown);\r\n\t}, [toggleSidebar]);\r\n\r\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n\t// This makes it easier to style the sidebar with Tailwind classes.\r\n\tconst state = open ? 'expanded' : 'collapsed';\r\n\r\n\tconst contextValue = React.useMemo<SidebarContext>(\r\n\t\t() => ({\r\n\t\t\tstate,\r\n\t\t\topen,\r\n\t\t\tsetOpen,\r\n\t\t\tisMobile,\r\n\t\t\topenMobile,\r\n\t\t\tsetOpenMobile,\r\n\t\t\ttoggleSidebar,\r\n\t\t}),\r\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\r\n\t);\r\n\r\n\treturn (\r\n\t\t<SidebarContext.Provider value={contextValue}>\r\n\t\t\t<TooltipProvider delayDuration={0}>\r\n\t\t\t\t<div\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\r\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\r\n\t\t\t\t\t\t\t...style,\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclassName={cn('group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar', className)}\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</TooltipProvider>\r\n\t\t</SidebarContext.Provider>\r\n\t);\r\n});\r\nSidebarProvider.displayName = 'SidebarProvider';\r\n\r\nconst Sidebar = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tside?: 'left' | 'right';\r\n\t\tvariant?: 'sidebar' | 'floating' | 'inset';\r\n\t\tcollapsible?: 'offcanvas' | 'icon' | 'none';\r\n\t}\r\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\r\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\r\n\r\n\tif (collapsible === 'none') {\r\n\t\treturn (\r\n\t\t\t<div className={cn('flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground', className)} ref={ref} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\tif (isMobile) {\r\n\t\treturn (\r\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n\t\t\t\t<SheetContent\r\n\t\t\t\t\tdata-sidebar='sidebar'\r\n\t\t\t\t\tdata-mobile='true'\r\n\t\t\t\t\tclassName='w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden'\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tside={side}\r\n\t\t\t\t>\r\n\t\t\t\t\t<div className='flex h-screen w-full flex-col'>{children}</div>\r\n\t\t\t\t</SheetContent>\r\n\t\t\t</Sheet>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tclassName='group peer text-sidebar-foreground [display:none] md:[display:block]'\r\n\t\t\tdata-state={state}\r\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\r\n\t\t\tdata-variant={variant}\r\n\t\t\tdata-side={side}\r\n\t\t>\r\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\r\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\r\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\r\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\r\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\r\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]',\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 fixed inset-y-0 z-10 h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear [display:none] md:[display:flex]',\r\n\t\t\t\t\tside === 'left'\r\n\t\t\t\t\t\t? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\r\n\t\t\t\t\t\t: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\r\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\r\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\r\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\r\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tdata-sidebar='sidebar'\r\n\t\t\t\t\tclassName='flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n});\r\nSidebar.displayName = 'Sidebar';\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\r\n\t({ className, onClick, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<Button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='trigger'\r\n\t\t\t\tvariant='ghost'\r\n\t\t\t\tsize='icon'\r\n\t\t\t\ttype='button'\r\n\t\t\t\tclassName={cn('h-7 w-7', className)}\r\n\t\t\t\tonClick={(event) => {\r\n\t\t\t\t\tonClick?.(event);\r\n\t\t\t\t\ttoggleSidebar();\r\n\t\t\t\t}}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<PanelLeft />\r\n\t\t\t\t<span className='sr-only'>Toggle Sidebar</span>\r\n\t\t\t</Button>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarTrigger.displayName = 'SidebarTrigger';\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(({ className, ...props }, ref) => {\r\n\tconst { toggleSidebar } = useSidebar();\r\n\r\n\treturn (\r\n\t\t<button\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='rail'\r\n\t\t\taria-label='Toggle Sidebar'\r\n\t\t\ttabIndex={-1}\r\n\t\t\ttype='button'\r\n\t\t\tonClick={toggleSidebar}\r\n\t\t\ttitle='Toggle Sidebar'\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\r\n\t\t\t\t'[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\r\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\r\n\t\t\t\t'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\r\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\r\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarRail.displayName = 'SidebarRail';\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<main\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'relative flex min-h-svh flex-1 flex-col bg-background',\r\n\t\t\t\t'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarInset.displayName = 'SidebarInset';\r\n\r\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<Input\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='input'\r\n\t\t\tclassName={cn('h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarInput.displayName = 'SidebarInput';\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='header' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\r\n});\r\nSidebarHeader.displayName = 'SidebarHeader';\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='footer' className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\r\n});\r\nSidebarFooter.displayName = 'SidebarFooter';\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <Separator ref={ref} data-sidebar='separator' className={cn('mx-2 w-auto bg-sidebar-border', className)} {...props} />;\r\n\t},\r\n);\r\nSidebarSeparator.displayName = 'SidebarSeparator';\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='content'\r\n\t\t\tclassName={cn('flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarContent.displayName = 'SidebarContent';\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar='group' className={cn('relative flex w-full min-w-0 flex-col p-2', className)} {...props} />;\r\n});\r\nSidebarGroup.displayName = 'SidebarGroup';\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : 'div';\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='group-label'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : 'button';\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar='group-action'\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t\t// Increases the hit area of the button on mobile.\r\n\t\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\r\n\t\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\nSidebarGroupAction.displayName = 'SidebarGroupAction';\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\r\n\t<div ref={ref} data-sidebar='group-content' className={cn('w-full text-sm', className)} {...props} />\r\n));\r\nSidebarGroupContent.displayName = 'SidebarGroupContent';\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} data-sidebar='menu' className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\r\n));\r\nSidebarMenu.displayName = 'SidebarMenu';\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} data-sidebar='menu-item' className={cn('group/menu-item relative', className)} {...props} />\r\n));\r\nSidebarMenuItem.displayName = 'SidebarMenuItem';\r\n\r\nconst sidebarMenuButtonVariants = cva(\r\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\r\n\t\t\t\toutline:\r\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]',\r\n\t\t\t},\r\n\t\t\tsize: {\r\n\t\t\t\tdefault: 'h-8 text-sm',\r\n\t\t\t\tsm: 'h-7 text-xs',\r\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t\tsize: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<'button'> & {\r\n\t\tasChild?: boolean;\r\n\t\tisActive?: boolean;\r\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n\t} & VariantProps<typeof sidebarMenuButtonVariants>\r\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\tconst { isMobile, state } = useSidebar();\r\n\r\n\tconst button = (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-button'\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n\r\n\tif (!tooltip) {\r\n\t\treturn button;\r\n\t}\r\n\r\n\tif (typeof tooltip === 'string') {\r\n\t\ttooltip = {\r\n\t\t\tchildren: tooltip,\r\n\t\t};\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Tooltip>\r\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\r\n\t\t\t<TooltipContent side='right' align='center' hidden={state !== 'collapsed' || isMobile} {...tooltip} />\r\n\t\t</Tooltip>\r\n\t);\r\n});\r\nSidebarMenuButton.displayName = 'SidebarMenuButton';\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<'button'> & {\r\n\t\tasChild?: boolean;\r\n\t\tshowOnHover?: boolean;\r\n\t}\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'button';\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-action'\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\r\n\t\t\t\t// Increases the hit area of the button on mobile.\r\n\t\t\t\t'after:absolute after:-inset-2 after:md:hidden',\r\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\r\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\r\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\r\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\tshowOnHover &&\r\n\t\t\t\t\t'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarMenuAction.displayName = 'SidebarMenuAction';\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => (\r\n\t<div\r\n\t\tref={ref}\r\n\t\tdata-sidebar='menu-badge'\r\n\t\tclassName={cn(\r\n\t\t\t'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\r\n\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\r\n\t\t\t'peer-data-[size=sm]/menu-button:top-1',\r\n\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\r\n\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\r\n\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<'div'> & {\r\n\t\tshowIcon?: boolean;\r\n\t}\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n\t// Random width between 50 to 90%.\r\n\tconst width = React.useMemo(() => {\r\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<div ref={ref} data-sidebar='menu-skeleton' className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)} {...props}>\r\n\t\t\t{showIcon && <Skeleton className='size-4 rounded-md' data-sidebar='menu-skeleton-icon' />}\r\n\t\t\t<Skeleton\r\n\t\t\t\tclassName='h-4 flex-1 max-w-[--skeleton-width]'\r\n\t\t\t\tdata-sidebar='menu-skeleton-text'\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t'--skeleton-width': width,\r\n\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\r\n\t<ul\r\n\t\tref={ref}\r\n\t\tdata-sidebar='menu-sub'\r\n\t\tclassName={cn(\r\n\t\t\t'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\r\n\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\tclassName,\r\n\t\t)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nSidebarMenuSub.displayName = 'SidebarMenuSub';\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => <li ref={ref} {...props} />);\r\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n\tHTMLAnchorElement,\r\n\tReact.ComponentProps<'a'> & {\r\n\t\tasChild?: boolean;\r\n\t\tsize?: 'sm' | 'md';\r\n\t\tisActive?: boolean;\r\n\t}\r\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : 'a';\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar='menu-sub-button'\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\r\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\r\n\t\t\t\tsize === 'sm' && 'text-xs',\r\n\t\t\t\tsize === 'md' && 'text-sm',\r\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\r\n\r\nexport {\r\n\tSidebar,\r\n\tSidebarContent,\r\n\tSidebarFooter,\r\n\tSidebarGroup,\r\n\tSidebarGroupAction,\r\n\tSidebarGroupContent,\r\n\tSidebarGroupLabel,\r\n\tSidebarHeader,\r\n\tSidebarInput,\r\n\tSidebarInset,\r\n\tSidebarMenu,\r\n\tSidebarMenuAction,\r\n\tSidebarMenuBadge,\r\n\tSidebarMenuButton,\r\n\tSidebarMenuItem,\r\n\tSidebarMenuSkeleton,\r\n\tSidebarMenuSub,\r\n\tSidebarMenuSubButton,\r\n\tSidebarMenuSubItem,\r\n\tSidebarProvider,\r\n\tSidebarRail,\r\n\tSidebarSeparator,\r\n\tSidebarTrigger,\r\n\tuseSidebar\r\n};\r\n\r\n","import * as SliderPrimitive from '@radix-ui/react-slider';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SliderPrimitive.Root ref={ref} className={cn('relative flex w-full touch-none select-none items-center', className)} {...props}>\r\n\t\t\t<SliderPrimitive.Track className='relative h-2 w-full grow overflow-hidden rounded-full bg-background-secondary'>\r\n\t\t\t\t<SliderPrimitive.Range className='absolute h-full bg-background-primary' />\r\n\t\t\t</SliderPrimitive.Track>\r\n\t\t\t<SliderPrimitive.Thumb className='block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50' />\r\n\t\t</SliderPrimitive.Root>\r\n\t),\r\n);\r\nSlider.displayName = SliderPrimitive.Root.displayName;\r\n\r\nexport { Slider };\r\n\r\n","import * as SwitchPrimitives from '@radix-ui/react-switch';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Switch = React.forwardRef<React.ElementRef<typeof SwitchPrimitives.Root>, React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<SwitchPrimitives.Root\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=unchecked]:bg-accent',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t\tref={ref}\r\n\t\t>\r\n\t\t\t<SwitchPrimitives.Thumb\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0',\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t</SwitchPrimitives.Root>\r\n\t),\r\n);\r\nSwitch.displayName = SwitchPrimitives.Root.displayName;\r\n\r\nexport { Switch };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableElement>>(({ className, ...props }, ref) => (\r\n\t<table ref={ref} className={cn('w-full caption-bottom text-sm', className)} {...props} />\r\n));\r\nTable.displayName = 'Table';\r\n\r\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<thead ref={ref} className={cn('sticky top-0 [&_tr]:border-b', className)} {...props} />\r\n));\r\nTableHeader.displayName = 'TableHeader';\r\n\r\nconst TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<tbody ref={ref} className={cn('[&_tr:last-child]:border-0', className)} {...props} />\r\n));\r\nTableBody.displayName = 'TableBody';\r\n\r\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(({ className, ...props }, ref) => (\r\n\t<tfoot ref={ref} className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)} {...props} />\r\n));\r\nTableFooter.displayName = 'TableFooter';\r\n\r\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(({ className, ...props }, ref) => (\r\n\t<tr\r\n\t\tref={ref}\r\n\t\tclassName={cn('border-b transition-colors hover:bg-datatable-accent', 'data-[state=selected]:bg-background-secondary', className)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nTableRow.displayName = 'TableRow';\r\n\r\nconst TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\r\n\t<th\r\n\t\tref={ref}\r\n\t\tclassName={cn('h-12 py-[12.25px] px-6 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0', className)}\r\n\t\t{...props}\r\n\t/>\r\n));\r\nTableHead.displayName = 'TableHead';\r\n\r\nconst TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(({ className, ...props }, ref) => (\r\n\t<td ref={ref} className={cn('align-middle px-6 [&:has([role=checkbox])]:pr-0', className)} {...props} />\r\n));\r\nTableCell.displayName = 'TableCell';\r\n\r\nconst TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(({ className, ...props }, ref) => (\r\n\t<caption ref={ref} className={cn('mt-4 text-sm text-muted-foreground', className)} {...props} />\r\n));\r\nTableCaption.displayName = 'TableCaption';\r\n\r\nexport { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };\r\n\r\n","import * as TabsPrimitive from '@radix-ui/react-tabs';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst Tabs = TabsPrimitive.Root;\r\n\r\nconst TabsList = React.forwardRef<React.ElementRef<typeof TabsPrimitive.List>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.List\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn('inline-flex h-10 items-center justify-center rounded-md bg-background-elevated p-1 text-muted-foreground', className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsList.displayName = TabsPrimitive.List.displayName;\r\n\r\nconst TabsTrigger = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Trigger>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.Trigger\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\r\n\r\nconst TabsContent = React.forwardRef<React.ElementRef<typeof TabsPrimitive.Content>, React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<TabsPrimitive.Content\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nTabsContent.displayName = TabsPrimitive.Content.displayName;\r\n\r\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\r\n\r\n","import * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nfunction classBorderColor(className: string | undefined, ariaInvalid: boolean | undefined) {\r\n\tif (className?.includes('border-none')) {\r\n\t\treturn '';\r\n\t}\r\n\treturn ariaInvalid ? 'border-red-600' : 'border-input';\r\n}\r\n\r\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.TextareaHTMLAttributes<HTMLTextAreaElement>>(({ className, ...props }, ref) => {\r\n\treturn (\r\n\t\t<textarea\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\tclassBorderColor(className, props['aria-invalid'] === true),\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\tref={ref}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\nTextarea.displayName = 'Textarea';\r\n\r\nexport { Textarea };\r\n\r\n","import * as ToastPrimitives from '@radix-ui/react-toast';\r\nimport { type VariantProps, cva } from 'class-variance-authority';\r\nimport { X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { cn } from '../../lib/utils';\r\n\r\nconst ToastProvider = ToastPrimitives.Provider;\r\n\r\nconst ToastViewport = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Viewport>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\r\n>(({ className, ...props }, ref) => (\r\n\t<ToastPrimitives.Viewport ref={ref} className={cn('fixed top-0 right-0 p-4 space-y-2 z-[100]', className)} {...props} />\r\n));\r\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\r\n\r\nconst toastVariants = cva(\r\n\t'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-top-full',\r\n\t{\r\n\t\tvariants: {\r\n\t\t\tvariant: {\r\n\t\t\t\tdefault: 'border bg-background text-foreground',\r\n\t\t\t\tdestructive: 'bg-white text-zinc-950',\r\n\t\t\t\tsuccess: 'bg-white text-zinc-950',\r\n\t\t\t},\r\n\t\t},\r\n\t\tdefaultVariants: {\r\n\t\t\tvariant: 'default',\r\n\t\t},\r\n\t},\r\n);\r\n\r\nconst Toast = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\r\n>(({ className, variant, ...props }, ref) => {\r\n\treturn <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\r\n});\r\nToast.displayName = ToastPrimitives.Root.displayName;\r\n\r\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ToastPrimitives.Action\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-background-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t),\r\n);\r\nToastAction.displayName = ToastPrimitives.Action.displayName;\r\n\r\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ToastPrimitives.Close\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600',\r\n\t\t\t\tclassName,\r\n\t\t\t)}\r\n\t\t\ttoast-close=''\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t<X className='h-4 w-4' />\r\n\t\t</ToastPrimitives.Close>\r\n\t),\r\n);\r\nToastClose.displayName = ToastPrimitives.Close.displayName;\r\n\r\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\r\n\t({ className, ...props }, ref) => <ToastPrimitives.Title ref={ref} className={cn('text-sm font-semibold', className)} {...props} />,\r\n);\r\nToastTitle.displayName = ToastPrimitives.Title.displayName;\r\n\r\nconst ToastDescription = React.forwardRef<\r\n\tReact.ElementRef<typeof ToastPrimitives.Description>,\r\n\tReact.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\r\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn('text-sm opacity-90', className)} {...props} />);\r\nToastDescription.displayName = ToastPrimitives.Description.displayName;\r\n\r\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\r\n\r\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\r\n\r\nexport { Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, type ToastActionElement, type ToastProps };\r\n\r\n","// Inspired by react-hot-toast library\r\nimport * as React from 'react';\r\n\r\nimport type { ToastActionElement, ToastProps } from './toast';\r\n\r\nconst TOAST_LIMIT = 1;\r\nconst TOAST_REMOVE_DELAY = 1000000;\r\n\r\ntype ToasterToast = ToastProps & {\r\n\tid: string;\r\n\ttitle?: React.ReactNode;\r\n\tdescription?: React.ReactNode;\r\n\taction?: ToastActionElement;\r\n\ticon?: React.ReactNode;\r\n};\r\n\r\nconst actionTypes = {\r\n\tADD_TOAST: 'ADD_TOAST',\r\n\tUPDATE_TOAST: 'UPDATE_TOAST',\r\n\tDISMISS_TOAST: 'DISMISS_TOAST',\r\n\tREMOVE_TOAST: 'REMOVE_TOAST',\r\n} as const;\r\n\r\nlet count = 0;\r\n\r\nfunction genId() {\r\n\tcount = (count + 1) % Number.MAX_SAFE_INTEGER;\r\n\treturn count.toString();\r\n}\r\n\r\ntype ActionType = typeof actionTypes;\r\n\r\ntype Action =\r\n\t| {\r\n\t\t\ttype: ActionType['ADD_TOAST'];\r\n\t\t\ttoast: ToasterToast;\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['UPDATE_TOAST'];\r\n\t\t\ttoast: Partial<ToasterToast>;\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['DISMISS_TOAST'];\r\n\t\t\ttoastId?: ToasterToast['id'];\r\n\t }\r\n\t| {\r\n\t\t\ttype: ActionType['REMOVE_TOAST'];\r\n\t\t\ttoastId?: ToasterToast['id'];\r\n\t };\r\n\r\ninterface State {\r\n\ttoasts: ToasterToast[];\r\n}\r\n\r\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\r\n\r\nconst addToRemoveQueue = (toastId: string) => {\r\n\tif (toastTimeouts.has(toastId)) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst timeout = setTimeout(() => {\r\n\t\ttoastTimeouts.delete(toastId);\r\n\t\tdispatch({\r\n\t\t\ttype: 'REMOVE_TOAST',\r\n\t\t\ttoastId: toastId,\r\n\t\t});\r\n\t}, TOAST_REMOVE_DELAY);\r\n\r\n\ttoastTimeouts.set(toastId, timeout);\r\n};\r\n\r\nexport const reducer = (state: State, action: Action): State => {\r\n\tswitch (action.type) {\r\n\t\tcase 'ADD_TOAST':\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\r\n\t\t\t};\r\n\r\n\t\tcase 'UPDATE_TOAST':\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\r\n\t\t\t};\r\n\r\n\t\tcase 'DISMISS_TOAST': {\r\n\t\t\tconst { toastId } = action;\r\n\r\n\t\t\tif (toastId) {\r\n\t\t\t\taddToRemoveQueue(toastId);\r\n\t\t\t} else {\r\n\t\t\t\tfor (const toast of state.toasts) {\r\n\t\t\t\t\taddToRemoveQueue(toast.id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.map((t) =>\r\n\t\t\t\t\tt.id === toastId || toastId === undefined\r\n\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t...t,\r\n\t\t\t\t\t\t\t\topen: false,\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t: t,\r\n\t\t\t\t),\r\n\t\t\t};\r\n\t\t}\r\n\t\tcase 'REMOVE_TOAST':\r\n\t\t\tif (action.toastId === undefined) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\ttoasts: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttoasts: state.toasts.filter((t) => t.id !== action.toastId),\r\n\t\t\t};\r\n\t}\r\n};\r\n\r\nconst listeners: Array<(state: State) => void> = [];\r\n\r\nlet memoryState: State = { toasts: [] };\r\n\r\nfunction dispatch(action: Action) {\r\n\tmemoryState = reducer(memoryState, action);\r\n\tfor (const listener of listeners) {\r\n\t\tlistener(memoryState);\r\n\t}\r\n}\r\n\r\ntype Toast = Omit<ToasterToast, 'id'>;\r\n\r\nfunction toast({ ...props }: Toast) {\r\n\tconst id = genId();\r\n\r\n\tconst update = (props: ToasterToast) =>\r\n\t\tdispatch({\r\n\t\t\ttype: 'UPDATE_TOAST',\r\n\t\t\ttoast: { ...props, id },\r\n\t\t});\r\n\tconst dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\r\n\r\n\tdispatch({\r\n\t\ttype: 'ADD_TOAST',\r\n\t\ttoast: {\r\n\t\t\t...props,\r\n\t\t\tid,\r\n\t\t\topen: true,\r\n\t\t\tonOpenChange: (open) => {\r\n\t\t\t\tif (!open) dismiss();\r\n\t\t\t},\r\n\t\t},\r\n\t});\r\n\r\n\treturn {\r\n\t\tid: id,\r\n\t\tdismiss,\r\n\t\tupdate,\r\n\t};\r\n}\r\n\r\nfunction useToast() {\r\n\tconst [state, setState] = React.useState<State>(memoryState);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tlisteners.push(setState);\r\n\t\treturn () => {\r\n\t\t\tconst index = listeners.indexOf(setState);\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tlisteners.splice(index, 1);\r\n\t\t\t}\r\n\t\t};\r\n\t}, [state]);\r\n\r\n\treturn {\r\n\t\t...state,\r\n\t\ttoast,\r\n\t\tdismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\r\n\t};\r\n}\r\n\r\nexport { toast, useToast };\r\n","import { Check, CircleX } from 'lucide-react';\r\nimport { Toast, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport } from './toast';\r\nimport { useToast } from './use-toast';\r\n\r\nexport function Toaster() {\r\n\tconst { toasts } = useToast();\r\n\r\n\tconst getIcon = (icon: React.ReactNode, variant: string | null) => {\r\n\t\tif (icon) {\r\n\t\t\treturn icon;\r\n\t\t}\r\n\r\n\t\tswitch (variant) {\r\n\t\t\tcase 'success':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-emerald-700'>\r\n\t\t\t\t\t\t<Check size={16} className='text-white' />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\tcase 'destructive':\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<div className='mr-3 p-px rounded-full bg-red-700'>\r\n\t\t\t\t\t\t<CircleX size={16} className='text-white' />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ToastProvider>\r\n\t\t\t{toasts.map(({ id, title, description, action, icon, variant, ...props }) => (\r\n\t\t\t\t<Toast key={id} {...props} variant={variant} className='p-4 w-[334px] rounded-lg'>\r\n\t\t\t\t\t<div className='grid gap-1'>\r\n\t\t\t\t\t\t<div className='flex items-center'>\r\n\t\t\t\t\t\t\t{getIcon(icon, variant ?? null)}\r\n\t\t\t\t\t\t\t{title && <ToastTitle>{title}</ToastTitle>} {/* title deve funcionar aqui */}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t{description && <ToastDescription>{description}</ToastDescription>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{action}\r\n\t\t\t\t\t<ToastClose className='text-white' />\r\n\t\t\t\t</Toast>\r\n\t\t\t))}\r\n\t\t\t<ToastViewport />\r\n\t\t</ToastProvider>\r\n\t);\r\n}\r\n","import { Popover, PopoverClose, PopoverContent, PopoverTrigger } from '@radix-ui/react-popover';\r\nimport { format } from 'date-fns';\r\nimport { ptBR } from 'date-fns/locale';\r\nimport { CalendarDays } from 'lucide-react';\r\nimport React from 'react';\r\nimport { DateRange } from 'react-day-picker';\r\nimport { cn } from '../../lib/utils';\r\nimport { Button } from './button';\r\nimport { Calendar } from './calendar';\r\n\r\ninterface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tgetDataFilter: (from: Date | null, to: Date | null) => void;\r\n}\r\n\r\nexport default function UseCalendar({ className, getDataFilter }: CalendarFormProps) {\r\n\tconst endDate = null;\r\n\tconst startDate = null;\r\n\r\n\tconst [date, setDate] = React.useState<DateRange | any>({\r\n\t\tfrom: startDate,\r\n\t\tto: endDate,\r\n\t});\r\n\r\n\tconst submitDate = () => {\r\n\t\tif (date.from !== null && date.to !== null) {\r\n\t\t\tgetDataFilter(date.from, date.to);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={cn('grid gap-2', className)}>\r\n\t\t\t<Popover>\r\n\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tid='date'\r\n\t\t\t\t\t\tvariant={'outline'}\r\n\t\t\t\t\t\tclassName={'flex justify-center items-center px-4 py-2 cursor-pointer bg-primaryBack text-textFilter rounded-md'}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<CalendarDays color='#0F172A' size={16} className='mr-4' />\r\n\t\t\t\t\t\t{date?.to ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{format(date.from, 'dd/MM', { locale: ptBR })} - {format(date.to, 'dd/MM', { locale: ptBR })}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<span>Filtrar por Período</span>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t<PopoverContent className='w-auto p-0 testeCalendar flex flex-col justify-center bg-white z-10 shadow-md text-black ' align='start'>\r\n\t\t\t\t\t<Calendar mode='range' locale={ptBR} selected={date} onSelect={setDate} className=' ' />\r\n\r\n\t\t\t\t\t<PopoverClose className='flex justify-center items-center p-4'>\r\n\t\t\t\t\t\t<Button className='w-[150px] bg-background-primary mt-8 px-4 py-2 text-white' onClick={submitDate}>\r\n\t\t\t\t\t\t\tAplicar Filtro\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</PopoverClose>\r\n\t\t\t\t</PopoverContent>\r\n\t\t\t</Popover>\r\n\t\t</div>\r\n\t);\r\n}\r\n","// Retorna todas as cores do Tailwind CSS das variações 50 a 950\r\nexport function getTailwindColorShades() {\r\n\t// Paleta padrão do Tailwind v3.3.0\r\n\t// Fonte: https://github.com/tailwindlabs/tailwindcss/blob/master/src/public/colors.js\r\n\treturn {\r\n\t\tslate: {\r\n\t\t\t50: '#f8fafc',\r\n\t\t\t100: '#f1f5f9',\r\n\t\t\t200: '#e2e8f0',\r\n\t\t\t300: '#cbd5e1',\r\n\t\t\t400: '#94a3b8',\r\n\t\t\t500: '#64748b',\r\n\t\t\t600: '#475569',\r\n\t\t\t700: '#334155',\r\n\t\t\t800: '#1e293b',\r\n\t\t\t900: '#0f172a',\r\n\t\t\t950: '#020617',\r\n\t\t},\r\n\t\tgray: {\r\n\t\t\t50: '#f9fafb',\r\n\t\t\t100: '#f3f4f6',\r\n\t\t\t200: '#e5e7eb',\r\n\t\t\t300: '#d1d5db',\r\n\t\t\t400: '#9ca3af',\r\n\t\t\t500: '#6b7280',\r\n\t\t\t600: '#4b5563',\r\n\t\t\t700: '#374151',\r\n\t\t\t800: '#1f2937',\r\n\t\t\t900: '#111827',\r\n\t\t\t950: '#030712',\r\n\t\t},\r\n\t\tzinc: {\r\n\t\t\t50: '#fafafa',\r\n\t\t\t100: '#f4f4f5',\r\n\t\t\t200: '#e4e4e7',\r\n\t\t\t300: '#d4d4d8',\r\n\t\t\t400: '#a1a1aa',\r\n\t\t\t500: '#71717a',\r\n\t\t\t600: '#52525b',\r\n\t\t\t700: '#3f3f46',\r\n\t\t\t800: '#27272a',\r\n\t\t\t900: '#18181b',\r\n\t\t\t950: '#09090b',\r\n\t\t},\r\n\t\tneutral: {\r\n\t\t\t50: '#fafafa',\r\n\t\t\t100: '#f5f5f5',\r\n\t\t\t200: '#e5e5e5',\r\n\t\t\t300: '#d4d4d4',\r\n\t\t\t400: '#a3a3a3',\r\n\t\t\t500: '#737373',\r\n\t\t\t600: '#525252',\r\n\t\t\t700: '#404040',\r\n\t\t\t800: '#262626',\r\n\t\t\t900: '#171717',\r\n\t\t\t950: '#0a0a0a',\r\n\t\t},\r\n\t\tstone: {\r\n\t\t\t50: '#fafaf9',\r\n\t\t\t100: '#f5f5f4',\r\n\t\t\t200: '#e7e5e4',\r\n\t\t\t300: '#d6d3d1',\r\n\t\t\t400: '#a8a29e',\r\n\t\t\t500: '#78716c',\r\n\t\t\t600: '#57534e',\r\n\t\t\t700: '#44403c',\r\n\t\t\t800: '#292524',\r\n\t\t\t900: '#1c1917',\r\n\t\t\t950: '#0c0a09',\r\n\t\t},\r\n\t\tred: {\r\n\t\t\t50: '#fef2f2',\r\n\t\t\t100: '#fee2e2',\r\n\t\t\t200: '#fecaca',\r\n\t\t\t300: '#fca5a5',\r\n\t\t\t400: '#f87171',\r\n\t\t\t500: '#ef4444',\r\n\t\t\t600: '#dc2626',\r\n\t\t\t700: '#b91c1c',\r\n\t\t\t800: '#991b1b',\r\n\t\t\t900: '#7f1d1d',\r\n\t\t\t950: '#450a0a',\r\n\t\t},\r\n\t\torange: {\r\n\t\t\t50: '#fff7ed',\r\n\t\t\t100: '#ffedd5',\r\n\t\t\t200: '#fed7aa',\r\n\t\t\t300: '#fdba74',\r\n\t\t\t400: '#fb923c',\r\n\t\t\t500: '#f97316',\r\n\t\t\t600: '#ea580c',\r\n\t\t\t700: '#c2410c',\r\n\t\t\t800: '#9a3412',\r\n\t\t\t900: '#7c2d12',\r\n\t\t\t950: '#431407',\r\n\t\t},\r\n\t\tamber: {\r\n\t\t\t50: '#fffbeb',\r\n\t\t\t100: '#fef3c7',\r\n\t\t\t200: '#fde68a',\r\n\t\t\t300: '#fcd34d',\r\n\t\t\t400: '#fbbf24',\r\n\t\t\t500: '#f59e42',\r\n\t\t\t600: '#d97706',\r\n\t\t\t700: '#b45309',\r\n\t\t\t800: '#92400e',\r\n\t\t\t900: '#78350f',\r\n\t\t\t950: '#451a03',\r\n\t\t},\r\n\t\tyellow: {\r\n\t\t\t50: '#fefce8',\r\n\t\t\t100: '#fef9c3',\r\n\t\t\t200: '#fef08a',\r\n\t\t\t300: '#fde047',\r\n\t\t\t400: '#facc15',\r\n\t\t\t500: '#eab308',\r\n\t\t\t600: '#ca8a04',\r\n\t\t\t700: '#a16207',\r\n\t\t\t800: '#854d0e',\r\n\t\t\t900: '#713f12',\r\n\t\t\t950: '#422006',\r\n\t\t},\r\n\t\tlime: {\r\n\t\t\t50: '#f7fee7',\r\n\t\t\t100: '#ecfccb',\r\n\t\t\t200: '#d9f99d',\r\n\t\t\t300: '#bef264',\r\n\t\t\t400: '#a3e635',\r\n\t\t\t500: '#84cc16',\r\n\t\t\t600: '#65a30d',\r\n\t\t\t700: '#4d7c0f',\r\n\t\t\t800: '#3f6212',\r\n\t\t\t900: '#365314',\r\n\t\t\t950: '#1a2e05',\r\n\t\t},\r\n\t\tgreen: {\r\n\t\t\t50: '#f0fdf4',\r\n\t\t\t100: '#dcfce7',\r\n\t\t\t200: '#bbf7d0',\r\n\t\t\t300: '#86efac',\r\n\t\t\t400: '#4ade80',\r\n\t\t\t500: '#22c55e',\r\n\t\t\t600: '#16a34a',\r\n\t\t\t700: '#15803d',\r\n\t\t\t800: '#166534',\r\n\t\t\t900: '#14532d',\r\n\t\t\t950: '#052e16',\r\n\t\t},\r\n\t\temerald: {\r\n\t\t\t50: '#ecfdf5',\r\n\t\t\t100: '#d1fae5',\r\n\t\t\t200: '#a7f3d0',\r\n\t\t\t300: '#6ee7b7',\r\n\t\t\t400: '#34d399',\r\n\t\t\t500: '#10b981',\r\n\t\t\t600: '#059669',\r\n\t\t\t700: '#047857',\r\n\t\t\t800: '#065f46',\r\n\t\t\t900: '#064e3b',\r\n\t\t\t950: '#022c22',\r\n\t\t},\r\n\t\tteal: {\r\n\t\t\t50: '#f0fdfa',\r\n\t\t\t100: '#ccfbf1',\r\n\t\t\t200: '#99f6e4',\r\n\t\t\t300: '#5eead4',\r\n\t\t\t400: '#2dd4bf',\r\n\t\t\t500: '#14b8a6',\r\n\t\t\t600: '#0d9488',\r\n\t\t\t700: '#0f766e',\r\n\t\t\t800: '#115e59',\r\n\t\t\t900: '#134e4a',\r\n\t\t\t950: '#042f2e',\r\n\t\t},\r\n\t\tcyan: {\r\n\t\t\t50: '#ecfeff',\r\n\t\t\t100: '#cffafe',\r\n\t\t\t200: '#a5f3fc',\r\n\t\t\t300: '#67e8f9',\r\n\t\t\t400: '#22d3ee',\r\n\t\t\t500: '#06b6d4',\r\n\t\t\t600: '#0891b2',\r\n\t\t\t700: '#0e7490',\r\n\t\t\t800: '#155e75',\r\n\t\t\t900: '#164e63',\r\n\t\t\t950: '#083344',\r\n\t\t},\r\n\t\tsky: {\r\n\t\t\t50: '#f0f9ff',\r\n\t\t\t100: '#e0f2fe',\r\n\t\t\t200: '#bae6fd',\r\n\t\t\t300: '#7dd3fc',\r\n\t\t\t400: '#38bdf8',\r\n\t\t\t500: '#0ea5e9',\r\n\t\t\t600: '#0284c7',\r\n\t\t\t700: '#0369a1',\r\n\t\t\t800: '#075985',\r\n\t\t\t900: '#0e3a5e',\r\n\t\t\t950: '#082f49',\r\n\t\t},\r\n\t\tblue: {\r\n\t\t\t50: '#eff6ff',\r\n\t\t\t100: '#dbeafe',\r\n\t\t\t200: '#bfdbfe',\r\n\t\t\t300: '#93c5fd',\r\n\t\t\t400: '#60a5fa',\r\n\t\t\t500: '#3b82f6',\r\n\t\t\t600: '#2563eb',\r\n\t\t\t700: '#1d4ed8',\r\n\t\t\t800: '#1e40af',\r\n\t\t\t900: '#1e3a8a',\r\n\t\t\t950: '#172554',\r\n\t\t},\r\n\t\tindigo: {\r\n\t\t\t50: '#eef2ff',\r\n\t\t\t100: '#e0e7ff',\r\n\t\t\t200: '#c7d2fe',\r\n\t\t\t300: '#a5b4fc',\r\n\t\t\t400: '#818cf8',\r\n\t\t\t500: '#6366f1',\r\n\t\t\t600: '#4f46e5',\r\n\t\t\t700: '#4338ca',\r\n\t\t\t800: '#3730a3',\r\n\t\t\t900: '#312e81',\r\n\t\t\t950: '#1e1b4b',\r\n\t\t},\r\n\t\tviolet: {\r\n\t\t\t50: '#f5f3ff',\r\n\t\t\t100: '#ede9fe',\r\n\t\t\t200: '#ddd6fe',\r\n\t\t\t300: '#c4b5fd',\r\n\t\t\t400: '#a78bfa',\r\n\t\t\t500: '#8b5cf6',\r\n\t\t\t600: '#7c3aed',\r\n\t\t\t700: '#6d28d9',\r\n\t\t\t800: '#5b21b6',\r\n\t\t\t900: '#4c1d95',\r\n\t\t\t950: '#2e1065',\r\n\t\t},\r\n\t\tpurple: {\r\n\t\t\t50: '#faf5ff',\r\n\t\t\t100: '#f3e8ff',\r\n\t\t\t200: '#e9d5ff',\r\n\t\t\t300: '#d8b4fe',\r\n\t\t\t400: '#c084fc',\r\n\t\t\t500: '#a855f7',\r\n\t\t\t600: '#9333ea',\r\n\t\t\t700: '#7e22ce',\r\n\t\t\t800: '#6d19a8',\r\n\t\t\t900: '#581c87',\r\n\t\t\t950: '#3b0764',\r\n\t\t},\r\n\t\tfuchsia: {\r\n\t\t\t50: '#fdf4ff',\r\n\t\t\t100: '#fae8ff',\r\n\t\t\t200: '#f5d0fe',\r\n\t\t\t300: '#f0abfc',\r\n\t\t\t400: '#e879f9',\r\n\t\t\t500: '#d946ef',\r\n\t\t\t600: '#c026d3',\r\n\t\t\t700: '#a21caf',\r\n\t\t\t800: '#86198f',\r\n\t\t\t900: '#701a75',\r\n\t\t\t950: '#4a044e',\r\n\t\t},\r\n\t\tpink: {\r\n\t\t\t50: '#fdf2f8',\r\n\t\t\t100: '#fce7f3',\r\n\t\t\t200: '#fbcfe8',\r\n\t\t\t300: '#f9a8d4',\r\n\t\t\t400: '#f472b6',\r\n\t\t\t500: '#ec4899',\r\n\t\t\t600: '#db2777',\r\n\t\t\t700: '#be185d',\r\n\t\t\t800: '#9d174d',\r\n\t\t\t900: '#831843',\r\n\t\t\t950: '#500724',\r\n\t\t},\r\n\t\trose: {\r\n\t\t\t50: '#fff1f2',\r\n\t\t\t100: '#ffe4e6',\r\n\t\t\t200: '#fecdd3',\r\n\t\t\t300: '#fda4af',\r\n\t\t\t400: '#fb7185',\r\n\t\t\t500: '#f43f5e',\r\n\t\t\t600: '#e11d48',\r\n\t\t\t700: '#be123c',\r\n\t\t\t800: '#9f1239',\r\n\t\t\t900: '#881337',\r\n\t\t\t950: '#4c0519',\r\n\t\t},\r\n\t};\r\n}\r\n\r\nexport type TailwindColorName = keyof ReturnType<typeof getTailwindColorShades>;\r\n\r\nexport const replaceThemeTailwindColors = (theme: string, tailwindColor: string): HTMLStyleElement => {\r\n\tconst colorShades = getTailwindColorShades();\r\n\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\r\n\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\r\n\r\n\tconst el = document.createElement('style');\r\n\tel.id = 'theme-variables';\r\n\tel.setAttribute('type', 'text/css');\r\n\tel.textContent = ':root {';\r\n\r\n\tif (theme === 'light') {\r\n\t\tel.textContent += `--sidebar-background: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--sidebar-ring: ${colorPallete[300]};\\n`;\r\n\t\tel.textContent += `--sidebar-border: ${colorPallete[100]};\\n`;\r\n\t\tel.textContent += `--sidebar-scrollbar-thumb: ${colorPallete[200]};\\n`;\r\n\t}\r\n\tif (theme === 'light' || theme === 'dark-side') {\r\n\t\tel.textContent += `--background-elevated: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--background-primary-hover: ${colorPallete[100]};\\n`;\r\n\t\tel.textContent += `--background-subtle: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--accent: ${colorPallete[200]};\\n`;\r\n\t\tel.textContent += `--datatable-background: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--datatable-accent: ${colorPallete[50]};\\n`;\r\n\t\tel.textContent += `--scrollbar-thumb: ${colorPallete[200]};\\n`;\r\n\t}\r\n\tif (theme === 'dark-side' || theme === 'dark') {\r\n\t\t// Verificar essa propriedade\r\n\t\tel.textContent += `--sidebar-accent: ${colorPallete[950]};\\n`;\r\n\t}\r\n\tel.textContent += `--background-primary: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--background-primary-hover: ${colorPallete[950]};\\n`;\r\n\tel.textContent += `--primary: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--primary-950: ${colorPallete[950]};\\n`;\r\n\tel.textContent += `--primary-900: ${colorPallete[900]};\\n`;\r\n\tel.textContent += `--primary-800: ${colorPallete[800]};\\n`;\r\n\tel.textContent += `--primary-700: ${colorPallete[700]};\\n`;\r\n\tel.textContent += `--primary-600: ${colorPallete[600]};\\n`;\r\n\tel.textContent += `--primary-500: ${colorPallete[500]};\\n`;\r\n\tel.textContent += `--primary-400: ${colorPallete[400]};\\n`;\r\n\tel.textContent += `--primary-300: ${colorPallete[300]};\\n`;\r\n\tel.textContent += `--primary-200: ${colorPallete[200]};\\n`;\r\n\tel.textContent += `--primary-100: ${colorPallete[100]};\\n`;\r\n\tel.textContent += `--primary-50: ${colorPallete[50]};\\n`;\r\n\tel.textContent += `--chart-primary: ${colorPallete[800]};\\n`;\r\n\tel.textContent += `--chart-secondary: ${colorPallete[200]};\\n`;\r\n\tel.textContent += '}';\r\n\r\n\treturn el;\r\n};\r\n","import { createContext, useContext, useEffect, useState } from 'react';\r\nimport { replaceThemeTailwindColors } from '../../../lib/help/theme';\r\n\r\ntype Theme = 'light' | 'dark' | 'dark-side';\r\n\r\ntype ThemePortalDefinitions = {\r\n\tfaviconPath: string;\r\n\tfullLogoPath: string;\r\n\tbannerDesktopPath: string;\r\n\tmvnoPrimaryColor: string;\r\n\tmvnoMainTheme: Theme;\r\n\ttitle: string;\r\n\thideModuleSwitcher: boolean;\r\n};\r\n\r\ntype ThemeProviderProps = {\r\n\tchildren: React.ReactNode;\r\n\tdefaultTheme?: ThemePortalDefinitions;\r\n\tstorageKey?: string;\r\n};\r\n\r\ntype ThemeProviderState = {\r\n\tportalDefinitions: ThemePortalDefinitions;\r\n\tsetPortalDefinitions: (portalDefinitions: ThemePortalDefinitions) => void;\r\n};\r\n\r\nexport const DEFAULT_THEME_DATA: ThemePortalDefinitions = {\r\n\tfaviconPath: '',\r\n\tfullLogoPath: '',\r\n\tbannerDesktopPath: '/imgs/background-auth.png',\r\n\tmvnoPrimaryColor: 'green',\r\n\tmvnoMainTheme: 'light',\r\n\ttitle: '-',\r\n\thideModuleSwitcher: false,\r\n};\r\n\r\nconst initialState: ThemeProviderState = {\r\n\tportalDefinitions: DEFAULT_THEME_DATA,\r\n\tsetPortalDefinitions: () => null,\r\n};\r\n\r\nconst ThemeProviderContext = createContext<ThemeProviderState>(initialState);\r\n\r\nexport function ThemeProvider({ children, defaultTheme = DEFAULT_THEME_DATA, storageKey = 'vite-ui-theme', ...props }: ThemeProviderProps) {\r\n\tconst [portalDefinitions, setPortalDefinitionsState] = useState<ThemePortalDefinitions>({\r\n\t\tfaviconPath: localStorage.getItem(`${storageKey}-faviconPath`) || defaultTheme.faviconPath,\r\n\t\tfullLogoPath: localStorage.getItem(`${storageKey}-fullLogoPath`) || defaultTheme.fullLogoPath,\r\n\t\tbannerDesktopPath: localStorage.getItem(`${storageKey}-bannerDesktopPath`) || defaultTheme.bannerDesktopPath,\r\n\t\tmvnoPrimaryColor: localStorage.getItem(`${storageKey}-mvnoPrimaryColor`) || defaultTheme.mvnoPrimaryColor,\r\n\t\tmvnoMainTheme: (localStorage.getItem(storageKey) as Theme) || defaultTheme.mvnoMainTheme,\r\n\t\ttitle: localStorage.getItem(`${storageKey}-title`) || defaultTheme.title,\r\n\t\thideModuleSwitcher: localStorage.getItem(`${storageKey}-hideModuleSwitcher`) === 'true',\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tconst theme = portalDefinitions?.mvnoMainTheme;\r\n\r\n\t\tconst root = window.document.documentElement;\r\n\t\troot.classList.remove('light', 'dark', 'dark-side');\r\n\t\troot.classList.add(theme);\r\n\r\n\t\tdocument.title = portalDefinitions?.title;\r\n\t\tconst meta = document.querySelector('meta[name=\"description\"]');\r\n\t\tif (meta) {\r\n\t\t\tmeta.setAttribute('content', portalDefinitions?.title);\r\n\t\t}\r\n\r\n\t\tlet link = document.querySelector<HTMLLinkElement>(\"link[rel~='icon']\");\r\n\t\tif (!link) {\r\n\t\t\tlink = document.createElement('link');\r\n\t\t\tlink.rel = 'icon';\r\n\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\r\n\t\t}\r\n\t\tlink.href = portalDefinitions?.faviconPath;\r\n\r\n\t\tconst el = replaceThemeTailwindColors(theme, portalDefinitions?.mvnoPrimaryColor);\r\n\r\n\t\tdocument.getElementById('theme-variables') &&\r\n\t\t\tdocument.getElementsByTagName('head')[0].removeChild(document.getElementById('theme-variables')!);\r\n\t\tdocument.getElementsByTagName('head')[0].appendChild(el);\r\n\t}, [portalDefinitions]);\r\n\r\n\tconst setPortalDefinitions = (portalDefinitions: ThemePortalDefinitions) => {\r\n\t\tlocalStorage.setItem(`${storageKey}-faviconPath`, portalDefinitions.faviconPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-fullLogoPath`, portalDefinitions.fullLogoPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-bannerDesktopPath`, portalDefinitions.bannerDesktopPath);\r\n\t\tlocalStorage.setItem(`${storageKey}-mvnoPrimaryColor`, portalDefinitions.mvnoPrimaryColor);\r\n\t\tlocalStorage.setItem(`${storageKey}-mvnoMainTheme`, portalDefinitions.mvnoMainTheme);\r\n\t\tlocalStorage.setItem(`${storageKey}-title`, portalDefinitions.title);\r\n\t\tlocalStorage.setItem(`${storageKey}-hideModuleSwitcher`, String(portalDefinitions.hideModuleSwitcher));\r\n\r\n\t\tsetPortalDefinitionsState({\r\n\t\t\tfaviconPath: portalDefinitions.faviconPath || DEFAULT_THEME_DATA.faviconPath,\r\n\t\t\tfullLogoPath: portalDefinitions.fullLogoPath || DEFAULT_THEME_DATA.fullLogoPath,\r\n\t\t\tbannerDesktopPath: portalDefinitions.bannerDesktopPath || DEFAULT_THEME_DATA.bannerDesktopPath,\r\n\t\t\tmvnoPrimaryColor: portalDefinitions.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor,\r\n\t\t\tmvnoMainTheme: portalDefinitions.mvnoMainTheme ? (portalDefinitions.mvnoMainTheme as Theme) : DEFAULT_THEME_DATA.mvnoMainTheme,\r\n\t\t\ttitle: portalDefinitions.title || DEFAULT_THEME_DATA.title,\r\n\t\t\thideModuleSwitcher: portalDefinitions.hideModuleSwitcher || DEFAULT_THEME_DATA.hideModuleSwitcher,\r\n\t\t});\r\n\t};\r\n\r\n\tconst value: ThemeProviderState = {\r\n\t\tportalDefinitions,\r\n\t\tsetPortalDefinitions: setPortalDefinitions,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<ThemeProviderContext.Provider {...props} value={value}>\r\n\t\t\t{children}\r\n\t\t</ThemeProviderContext.Provider>\r\n\t);\r\n}\r\n\r\nexport const useTheme = () => {\r\n\tconst context = useContext(ThemeProviderContext);\r\n\r\n\tif (context === undefined) throw new Error('useTheme must be used within a ThemeProvider');\r\n\r\n\treturn context;\r\n};\r\n","import { CircleHelp } from 'lucide-react';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../tooltip';\r\n\r\nconst formHelpText = (helpText: JSX.Element) => {\r\n\treturn (\r\n\t\t<TooltipProvider>\r\n\t\t\t<Tooltip>\r\n\t\t\t\t<TooltipTrigger className='pb-2'>\r\n\t\t\t\t\t<CircleHelp size={16} className='text-muted' />\r\n\t\t\t\t</TooltipTrigger>\r\n\t\t\t\t<TooltipContent className='text-white bg-background-primary' align='start'>\r\n\t\t\t\t\t{helpText}\r\n\t\t\t\t</TooltipContent>\r\n\t\t\t</Tooltip>\r\n\t\t</TooltipProvider>\r\n\t);\r\n};\r\n\r\nexport { formHelpText };\r\n\r\n","import * as LabelPrimitive from '@radix-ui/react-label';\r\nimport React from 'react';\r\nimport { cn } from '../../../../lib/utils';\r\n\r\ntype FormLabelComponent = React.ForwardRefExoticComponent<React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & React.RefAttributes<React.ElementRef<typeof LabelPrimitive.Root>>>;\r\n\r\nconst formLabel = (FormLabel: FormLabelComponent, label: string) => {\r\n\treturn <FormLabel className='text-default font-medium text-sm h-5'>{label}</FormLabel>;\r\n};\r\n\r\nconst formLabelAndSubLabel = (FormLabel: FormLabelComponent, label: string, subLabel?: string, required?: boolean | undefined, className?: string) => {\r\n\treturn (\r\n\t\t<div className={cn('flex flex-col pb-2', className)}>\r\n\t\t\t<div className='flex gap-1'>\r\n\t\t\t\t{formLabel(FormLabel, label)}\r\n\t\t\t\t{required && <FormLabel className='text-red-600 font-medium text-sm'>*</FormLabel>}\r\n\t\t\t</div>\r\n\t\t\t{subLabel && <FormLabel className='text-default font-normal pt-1'>{subLabel}</FormLabel>}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport { formLabel, formLabelAndSubLabel };\r\n\r\n","import React from 'react';\r\n\r\ntype FormMessageComponent = React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;\r\n\r\nconst formMessage = (FormMessage: FormMessageComponent) => {\r\n\treturn <FormMessage className='text-red-600 mt-1' />;\r\n};\r\n\r\nexport { formMessage };\r\n\r\n","import { Checkbox } from '../../checkbox';\r\nimport * as FormComponents from '../../form';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\tonCheckedChange?: (checked: boolean) => void;\r\n}\r\n\r\nexport const FormInputCheckbox: React.FC<Props> = ({ control, name, label, helpText, className, disabled, onCheckedChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center gap-2'>\r\n\t\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\tvalue={field.value}\r\n\t\t\t\t\t\t\t\tclassName={`${\r\n\t\t\t\t\t\t\t\t\tfield.value\r\n\t\t\t\t\t\t\t\t\t\t? 'bg-purple-700 border border-purple-900 text-white rounded-[3px]'\r\n\t\t\t\t\t\t\t\t\t\t: 'bg-white border border-black text-black'\r\n\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\tonCheckedChange={(checked) => {\r\n\t\t\t\t\t\t\t\t\tfield?.onChange?.(checked);\r\n\t\t\t\t\t\t\t\t\tonCheckedChange?.(checked as boolean);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\r\n\t\t\t\t\t\t\t{label && formLabel(FormLabel, label)}\r\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default FormInputCheckbox;\r\n","export type RGB = { r: number; g: number; b: number };\r\ntype HSL = { h: number; s: number; l: number };\r\n\r\nexport const rgbToHex = ({ r, g, b }: RGB): string => {\r\n\tconst toHex = (n: number) => Math.max(0, Math.min(255, n)).toString(16).padStart(2, '0').toUpperCase();\r\n\treturn `#${toHex(r)}${toHex(g)}${toHex(b)}`;\r\n};\r\n\r\nexport const hexToRgb = (hex: string): RGB | null => {\r\n\tconst result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n\treturn result\r\n\t\t? {\r\n\t\t\t\tr: Number.parseInt(result[1], 16),\r\n\t\t\t\tg: Number.parseInt(result[2], 16),\r\n\t\t\t\tb: Number.parseInt(result[3], 16),\r\n\t\t }\r\n\t\t: null;\r\n};\r\n\r\nexport const rgbToHsl = ({ r, g, b }: RGB): HSL => {\r\n\tr /= 255;\r\n\tg /= 255;\r\n\tb /= 255;\r\n\r\n\tconst max = Math.max(r, g, b);\r\n\tconst min = Math.min(r, g, b);\r\n\tlet h = 0;\r\n\tlet s = 0;\r\n\tconst l = (max + min) / 2;\r\n\r\n\tif (max !== min) {\r\n\t\tconst d = max - min;\r\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\r\n\r\n\t\tswitch (max) {\r\n\t\t\tcase r:\r\n\t\t\t\th = (g - b) / d + (g < b ? 6 : 0);\r\n\t\t\t\tbreak;\r\n\t\t\tcase g:\r\n\t\t\t\th = (b - r) / d + 2;\r\n\t\t\t\tbreak;\r\n\t\t\tcase b:\r\n\t\t\t\th = (r - g) / d + 4;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\th /= 6;\r\n\t}\r\n\r\n\treturn {\r\n\t\th: Math.round(h * 360),\r\n\t\ts: Math.round(s * 100),\r\n\t\tl: Math.round(l * 100),\r\n\t};\r\n};\r\n\r\nconst hue2rgb = (p: number, q: number, t: number) => {\r\n\tlet tempT = t;\r\n\tif (tempT < 0) tempT += 1;\r\n\tif (tempT > 1) tempT -= 1;\r\n\tif (tempT < 1 / 6) return p + (q - p) * 6 * tempT;\r\n\tif (tempT < 1 / 2) return q;\r\n\tif (tempT < 2 / 3) return p + (q - p) * (2 / 3 - tempT) * 6;\r\n\treturn p;\r\n};\r\n\r\nexport const hslToRgb = ({ h, s, l }: HSL): RGB => {\r\n\th /= 360;\r\n\ts /= 100;\r\n\tl /= 100;\r\n\r\n\tlet r: number;\r\n\tlet g: number;\r\n\tlet b: number;\r\n\r\n\tif (s === 0) {\r\n\t\tr = g = b = l;\r\n\t} else {\r\n\t\tconst q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\t\tconst p = 2 * l - q;\r\n\r\n\t\tr = hue2rgb(p, q, h + 1 / 3);\r\n\t\tg = hue2rgb(p, q, h);\r\n\t\tb = hue2rgb(p, q, h - 1 / 3);\r\n\t}\r\n\r\n\treturn {\r\n\t\tr: Math.round(r * 255),\r\n\t\tg: Math.round(g * 255),\r\n\t\tb: Math.round(b * 255),\r\n\t};\r\n};\r\n\r\nexport const formatRgba = (rgb: RGB, a = 1): string => {\r\n\treturn `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${a})`;\r\n};\r\n\r\nexport const formatHsla = (hsl: HSL, a = 1): string => {\r\n\treturn `hsla(${hsl.h}, ${hsl.s}%, ${hsl.l}%, ${a})`;\r\n};\r\n","import { Paintbrush } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { HexColorPicker } from 'react-colorful';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport * as FormComponents from '../../form';\r\nimport { Input } from '../../input';\r\nimport { Label } from '../../label';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\nimport { hexToRgb, rgbToHex } from './utils';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tid?: string;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n}\r\n\r\nexport const FormInputColor: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\tconst DEFAULT_COLOR = '#000000';\r\n\tconst [currentColor, setCurrentColor] = useState<string>(DEFAULT_COLOR);\r\n\tconst rgb = hexToRgb(currentColor) || { r: 0, g: 0, b: 0 };\r\n\r\n\tconst handleColorChange = (newColor: string, onChange: (...event: any[]) => void) => {\r\n\t\tonChange?.(newColor);\r\n\t\tsetCurrentColor(newColor);\r\n\t};\r\n\r\n\tconst handleHexChange = (hex: string, onChange: (...event: any[]) => void) => {\r\n\t\tif (/^#[0-9A-Fa-f]{6}$/.test(hex)) {\r\n\t\t\thandleColorChange(hex, onChange);\r\n\t\t} else {\r\n\t\t\tsetCurrentColor(hex);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleRgbChange = (key: keyof typeof rgb, value: string, onChange: (...event: any[]) => void) => {\r\n\t\tconst numValue = Number.parseInt(value);\r\n\r\n\t\tif (!Number.isNaN(numValue) && numValue >= 0 && numValue <= 255) {\r\n\t\t\tconst newRgb = { ...rgb, [key]: numValue };\r\n\r\n\t\t\thandleColorChange(rgbToHex(newRgb), onChange);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Popover>\r\n\t\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tvariant='outline'\r\n\t\t\t\t\t\t\t\t\tclassName={cn('w-[240px] justify-start text-left font-normal', !field.value && 'text-zinc-500', className)}\r\n\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div className='w-full flex items-center gap-2'>\r\n\t\t\t\t\t\t\t\t\t\t{field.value ? (\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='h-4 w-4 rounded !bg-center !bg-cover transition-all border'\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ backgroundColor: field.value }}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t<Paintbrush className='h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t<div className='truncate flex-1 text-sm'>\r\n\t\t\t\t\t\t\t\t\t\t\t{field.value ? field.value : placeholder || 'Selecione uma cor'}\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t<PopoverContent className={cn('w-80', className)}>\r\n\t\t\t\t\t\t\t<div className='flex flex-col gap-4'>\r\n\t\t\t\t\t\t\t\t<section className='[&_.react-colorful]:w-auto'>\r\n\t\t\t\t\t\t\t\t\t<HexColorPicker\r\n\t\t\t\t\t\t\t\t\t\tcolor={field.value ?? DEFAULT_COLOR}\r\n\t\t\t\t\t\t\t\t\t\tonChange={(newColor) => handleColorChange(newColor, field.onChange)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\t\t<div className='flex gap-2'>\r\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\r\n\t\t\t\t\t\t\t\t\t\t<Label>Hex</Label>\r\n\t\t\t\t\t\t\t\t\t\t<Input value={currentColor} onChange={(e) => handleHexChange(e.target.value, field.onChange)} maxLength={7} />\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label>R</Label>\r\n\t\t\t\t\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.r}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('r', e.target.value, field.onChange)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label>G</Label>\r\n\t\t\t\t\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.g}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('g', e.target.value, field.onChange)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex flex-col gap-1'>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label>B</Label>\r\n\t\t\t\t\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={rgb.b}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => handleRgbChange('b', e.target.value, field.onChange)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName='w-14'\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t</Popover>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default FormInputColor;\r\n","import { Check, ChevronsUpDown, LoaderCircle, X } from 'lucide-react';\r\nimport { useEffect, useState } from 'react';\r\nimport { ControllerRenderProps, FieldValues } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\r\nimport * as FormComponents from '../../form';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nexport interface ComboboxOption {\r\n\tvalue: string | undefined;\r\n\ticon?: React.ReactNode | undefined;\r\n\ttitle: string;\r\n\tsubTitle?: string;\r\n\tclassName?: string;\r\n}\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel?: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\toptions: ComboboxOption[];\r\n\tselectedOption?: ComboboxOption;\r\n\ticonLeft?: React.ReactNode | null;\r\n\ticonRight?: React.ReactNode | null;\r\n\taddEmptyOption?: boolean;\r\n\tcanUnselect?: boolean;\r\n\tclosePopUpOnChange?: boolean;\r\n\trunInternalSearch?: boolean;\r\n\tdisabledSearch?: boolean;\r\n\tonChange?: (option: ComboboxOption | undefined) => void;\r\n\tonSearch?: (searchString: string) => void;\r\n\tfooterAction?: {\r\n\t\tlabel: string;\r\n\t\ticon?: React.ReactNode;\r\n\t\tonClick: () => void;\r\n\t};\r\n}\r\n\r\nexport const FormCombobox: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\toptions,\r\n\tselectedOption,\r\n\ticonLeft,\r\n\ticonRight,\r\n\taddEmptyOption,\r\n\tcanUnselect = false,\r\n\tclosePopUpOnChange = true,\r\n\trunInternalSearch = true,\r\n\tdisabledSearch = false,\r\n\tonChange,\r\n\tonSearch,\r\n\tfooterAction,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\tconst [open, setOpen] = useState(false);\r\n\tconst [loading, setLoading] = useState<boolean>(false);\r\n\tconst [searchString, setSearchString] = useState<string>('');\r\n\tconst DEFAULT_PLACEHOLDER = 'Digite para buscar...';\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(false);\r\n\t}, [options]);\r\n\r\n\tconst getOptions = () => {\r\n\t\tif (options.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tlet filteredOptions = options;\r\n\t\tif (runInternalSearch) {\r\n\t\t\tfilteredOptions = options.filter((option) => {\r\n\t\t\t\tconst title = option.title\r\n\t\t\t\t\t.toLowerCase()\r\n\t\t\t\t\t.normalize('NFD')\r\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\r\n\t\t\t\tconst subTitle = option.subTitle\r\n\t\t\t\t\t?.toLowerCase()\r\n\t\t\t\t\t.normalize('NFD')\r\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\r\n\t\t\t\tconst search = searchString\r\n\t\t\t\t\t.toLowerCase()\r\n\t\t\t\t\t.normalize('NFD')\r\n\t\t\t\t\t.replace(/[^a-z0-9\\s]/gi, '');\r\n\r\n\t\t\t\treturn title.includes(search) || subTitle?.includes(search);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (addEmptyOption) {\r\n\t\t\tfilteredOptions.unshift({ value: undefined, title: '--Selecione--', subTitle: '' });\r\n\t\t}\r\n\r\n\t\treturn filteredOptions;\r\n\t};\r\n\r\n\tconst getSelectedOption = (value: string | undefined): ComboboxOption | undefined => {\r\n\t\tconst option = options.find((option) => option.value === value);\r\n\r\n\t\tif (option) {\r\n\t\t\treturn option;\r\n\t\t}\r\n\r\n\t\treturn selectedOption;\r\n\t};\r\n\r\n\tconst handleSelect = (value: string | undefined, field: ControllerRenderProps<FieldValues, string>) => {\r\n\t\tconst option = value ? getSelectedOption(value) : undefined;\r\n\r\n\t\tif (canUnselect) {\r\n\t\t\tfield.onChange(field.value === value ? undefined : value);\r\n\t\t} else {\r\n\t\t\tfield.onChange(value);\r\n\t\t}\r\n\r\n\t\tif (onChange) {\r\n\t\t\tonChange(option);\r\n\t\t}\r\n\t\tif (closePopUpOnChange) {\r\n\t\t\tsetOpen(false);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n\t\tconst searchString = (event.target as HTMLInputElement).value;\r\n\r\n\t\tif (onSearch) {\r\n\t\t\tsetLoading(true);\r\n\t\t\tonSearch(searchString);\r\n\t\t}\r\n\t\tsetSearchString(searchString);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Popover\r\n\t\t\t\t\t\topen={open}\r\n\t\t\t\t\t\tonOpenChange={(open) => {\r\n\t\t\t\t\t\t\tif (!disabled) setOpen(open);\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t\t\t<div className={cn(`rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`, className)}>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\ttype='button'\r\n\t\t\t\t\t\t\t\t\t\tvariant='outline'\r\n\t\t\t\t\t\t\t\t\t\trole='combobox'\r\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\r\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t\t\t'justify-between disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\r\n\t\t\t\t\t\t\t\t\t\t\tclassName,\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{iconLeft}\r\n\t\t\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\r\n\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.icon}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getSelectedOption(field.value)?.title}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='text-zinc-500'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t{iconRight ?? <ChevronsUpDown size={20} className='stroke-zinc-500' />}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t<PopoverContent className={cn('p-0', className, 'w-[--radix-popover-trigger-width]')}>\r\n\t\t\t\t\t\t\t<Command shouldFilter={false}>\r\n\t\t\t\t\t\t\t\t{!disabledSearch && <CommandInput placeholder={placeholder ?? DEFAULT_PLACEHOLDER} onKeyUp={handleKeyUp} />}\r\n\t\t\t\t\t\t\t\t<CommandList>\r\n\t\t\t\t\t\t\t\t\t<CommandEmpty className='flex flex-col justify-between items-center p-3 font-normal text-sm'>\r\n\t\t\t\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-muted-foreground animate-spin mr-2' />\r\n\t\t\t\t\t\t\t\t\t\t) : getOptions()?.length === 0 && (searchString !== '' || disabledSearch) ? (\r\n\t\t\t\t\t\t\t\t\t\t\t'Nenhum resultado encontrado'\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t'Utilize o campo de busca acima'\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</CommandEmpty>\r\n\t\t\t\t\t\t\t\t\t{options.length > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t<CommandGroup>\r\n\t\t\t\t\t\t\t\t\t\t\t{getOptions().map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<CommandItem\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`key-opt-${option.value}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName='group'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => handleSelect(option.value, field)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn('grid flex-1 text-left text-sm leading-tight', option.className)}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className='flex gap-2'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate font-normal'>{option.title}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span className='truncate text-xs text-zinc-500'>{option.subTitle}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`ml-auto text-zinc-500 ${\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value === option.value ? 'opacity-100' : 'opacity-0'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Check className={cn('flex', canUnselect && 'group-hover:hidden hover:hidden')} size={16} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<X className={cn('hidden', canUnselect && 'group-hover:flex hover:flex')} size={16} />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t</CommandGroup>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</CommandList>\r\n\t\t\t\t\t\t\t</Command>\r\n\t\t\t\t\t\t\t{footerAction && (\r\n\t\t\t\t\t\t\t\t<div className='grid w-full p-1 border-t'>\r\n\t\t\t\t\t\t\t\t\t<Button type='button' variant='ghost' className='h-8' onClick={() => footerAction.onClick()}>\r\n\t\t\t\t\t\t\t\t\t\t{footerAction.icon}\r\n\t\t\t\t\t\t\t\t\t\t{footerAction.label}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t</Popover>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default FormCombobox;\r\n","import { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputCpfCnpj } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nconst masks = ['999.999.999-999', '99.999.999/9999-99'];\r\n\r\nexport const FormInputCpfCnpj: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [mask, setMask] = useState(masks[0]);\r\n\r\n\tconst handleMaskChange = (value: string) => {\r\n\t\tconst numericValue = value.replace(/\\D/g, '');\r\n\t\tif (numericValue.length > 11) {\r\n\t\t\tsetMask(masks[1]);\r\n\t\t} else {\r\n\t\t\tsetMask(masks[0]);\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputCpfCnpj\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\thandleMaskChange(e.target.value);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputCurrency: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tsymbol='R$'\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","export const getFirstDayOfCurrentMonth = (): Date => {\r\n\tconst now = new Date();\r\n\treturn new Date(now.getFullYear(), now.getMonth(), 1);\r\n};\r\n\r\nexport const getFirstDayOf90DaysAgo = (): Date => {\r\n\tconst now = new Date();\r\n\treturn new Date(now.getFullYear(), now.getMonth() - 3, 1);\r\n};\r\n\r\nexport const stringToDate = (dateString: string, separator: string = '/'): Date | undefined => {\r\n\tif (!dateString) return undefined;\r\n\r\n\tconst dateParts = dateString.split(separator);\r\n\tif (dateParts.length !== 3) return undefined;\r\n\r\n\tconst day = parseInt(dateParts[0], 10);\r\n\tconst month = parseInt(dateParts[1], 10) - 1; // Months are zero-based in JavaScript\r\n\tconst year = parseInt(dateParts[2], 10);\r\n\r\n\treturn new Date(year, month, day);\r\n};\r\n\r\nexport const aYearAgo = (): Date => {\r\n\tconst aYearAgo = new Date();\r\n\taYearAgo.setFullYear(aYearAgo.getFullYear() - 1);\r\n\r\n\treturn aYearAgo;\r\n};\r\n\r\nexport const invertDate = (date: string, separator: string = '/'): string => {\r\n\tif (!date) return '';\r\n\r\n\treturn date.split(separator).reverse().join('-');\r\n};\r\n\r\nexport const addDaysToToday = (days: number): Date => {\r\n\tconst date = new Date();\r\n\tdate.setDate(date.getDate() + days);\r\n\treturn date;\r\n};\r\n","import { ptBR } from 'date-fns/locale';\r\nimport { CalendarIcon } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { stringToDate } from '../../../../lib/help/date-utils';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Calendar } from '../../calendar';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInput } from '../../input';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputDate: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder = '01/01/2023',\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<div className='relative w-full'>\r\n\t\t\t\t\t\t\t<MaskInput\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\tmask={'99/99/9999'}\r\n\t\t\t\t\t\t\t\tmaskPlaceholder={null}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\tclassName={cn('pl-9', className)}\r\n\t\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t<div className='absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer'>\r\n\t\t\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\r\n\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon size={16} className='cursor-pointer text-gray-500' />\r\n\t\t\t\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t\t\t\t<PopoverContent className='w-[250px] p-0' align='start'>\r\n\t\t\t\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\t\t\t\tmode='single'\r\n\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\r\n\t\t\t\t\t\t\t\t\t\t\trequired={true}\r\n\t\t\t\t\t\t\t\t\t\t\tselected={stringToDate(field.value) ?? new Date()}\r\n\t\t\t\t\t\t\t\t\t\t\tonSelect={(date) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(date ? date.toLocaleDateString('pt-BR') : '');\r\n\t\t\t\t\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttarget: { value: date ? date.toLocaleDateString('pt-BR') : '' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.ChangeEvent<HTMLInputElement>);\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetOpen(false);\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName='rounded-md'\r\n\t\t\t\t\t\t\t\t\t\t\tcaptionLayout='dropdown'\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t\t\t\t</Popover>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { format } from 'date-fns';\r\nimport { CalendarIcon } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { DateRange } from 'react-day-picker';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Calendar } from '../../calendar';\r\nimport * as FormComponents from '../../form';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement> | DateRange | undefined) => void;\r\n}\r\n\r\nexport const FormDataRange: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\t// const [date, setDate] = useState<DateRange | undefined>(field.value);\r\n\tconst [open, setOpen] = useState(false);\r\n\r\n\tconst handleDateChange = (newDate: DateRange | undefined, field: any) => {\r\n\t\t// setDate(newDate);\r\n\t\tfield.onChange(newDate);\r\n\t\tif (onChange) onChange(newDate);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Popover open={open} onOpenChange={setOpen}>\r\n\t\t\t\t\t\t\t<PopoverTrigger asChild className='w-full'>\r\n\t\t\t\t\t\t\t\t<div className={` rounded-sm outline-none ${open ? 'ring-2 ring-ring ring-offset-2' : 'ring-0'}`}>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\ttype='button'\r\n\t\t\t\t\t\t\t\t\t\tvariant='outline'\r\n\t\t\t\t\t\t\t\t\t\trole='combobox'\r\n\t\t\t\t\t\t\t\t\t\taria-expanded={open}\r\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t\t\t` ${className} justify-start disabled:border-disabled disabled:cursor-not-allowed disabled:opacity-50`,\r\n\t\t\t\t\t\t\t\t\t\t\tformState.errors[name] ? 'border-red-600' : '',\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<CalendarIcon className='text-zinc-500' />\r\n\t\t\t\t\t\t\t\t\t\t{field.value?.from ? (\r\n\t\t\t\t\t\t\t\t\t\t\tfield.value?.to ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{format(field.value?.from, 'dd/MM/yyyy')} - {format(field.value?.to, 'dd/MM/yyyy')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\tformat(field.value?.from, 'dd/MM/yyyy')\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t<span className='font-normal text-zinc-500'>Escolha um Período</span>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</PopoverTrigger>\r\n\t\t\t\t\t\t\t<PopoverContent className='flex w-auto p-0' align='start'>\r\n\t\t\t\t\t\t\t\t<div className='flex flex-row space-x-4'>\r\n\t\t\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\t\t\tinitialFocus\r\n\t\t\t\t\t\t\t\t\t\tmode='range'\r\n\t\t\t\t\t\t\t\t\t\tdefaultMonth={field.value?.from}\r\n\t\t\t\t\t\t\t\t\t\tselected={field.value}\r\n\t\t\t\t\t\t\t\t\t\tnumberOfMonths={2}\r\n\t\t\t\t\t\t\t\t\t\tclassName='flex'\r\n\t\t\t\t\t\t\t\t\t\tonSelect={(newDate) => handleDateChange(newDate, field)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t\t\t</Popover>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputDecimal: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { InputFile } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputFile: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [value, setValue] = useState('');\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputFile\r\n\t\t\t\t\t\t\tvalue={value}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tsetValue(e.target.value);\r\n\t\t\t\t\t\t\t\tfield.onChange(e.target.files);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tclassName?: string;\r\n}\r\n\r\nexport const FormInputGhost: React.FC<Props> = ({ control, name, className }) => {\r\n\tconst { FormField, FormItem, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputText {...field} className='hidden' />\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { Input } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\ttype?: string;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInput: React.FC<Props> = ({\r\n\tcontrol,\r\n\ttype,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import * as FormComponents from '../../form';\r\nimport { MaskInput } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmask: string;\r\n\tmaskPlaceholder?: string | null;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tinputRef?: React.Ref<HTMLInputElement>;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputMask: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmask,\r\n\tmaskPlaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tinputRef,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInput\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\tmaskPlaceholder={maskPlaceholder}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { type VariantProps, cva } from 'class-variance-authority';\r\nimport { CheckIcon, ChevronDown, X } from 'lucide-react';\r\nimport * as React from 'react';\r\nimport { ControllerRenderProps, FieldValues } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Badge } from '../../badge';\r\nimport { Button } from '../../button';\r\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from '../../command';\r\nimport * as FormComponents from '../../form';\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../../popover';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nconst multiSelectVariants = cva('m-1 rounded-[6px]', {\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tdefault: 'text-foreground bg-background-secondary dark:bg-popover hover:bg-background-secondary',\r\n\t\t\tsecondary: 'border-foreground/10 bg-secondary text-secondary-foreground hover:bg-secondary/80',\r\n\t\t\tdestructive: 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',\r\n\t\t\tinverted: 'inverted',\r\n\t\t},\r\n\t},\r\n\tdefaultVariants: {\r\n\t\tvariant: 'default',\r\n\t},\r\n});\r\n\r\nexport interface MultiSelectOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n}\r\n\r\ninterface MultiSelectProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof multiSelectVariants> {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel?: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\toptions: MultiSelectOption[];\r\n\tplaceholder?: string;\r\n\tmaxCount?: number;\r\n\tmodalPopover?: boolean;\r\n\tasChild?: boolean;\r\n\tclassName?: string;\r\n\trequired?: boolean;\r\n}\r\n\r\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\r\n\t(\r\n\t\t{\r\n\t\t\tcontrol,\r\n name, \r\n label,\r\n subLabel,\r\n helpText,\r\n options,\r\n\t\t\tvariant,\r\n\t\t\tplaceholder,\r\n\t\t\tmaxCount = 2,\r\n\t\t\tmodalPopover = false,\r\n\t\t\tasChild = false,\r\n\t\t\tclassName,\r\n required,\r\n\t\t\t...props\r\n\t\t},\r\n\t\tref,\r\n\t) => {\r\n\t\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\r\n\t const DEFAULT_PLACEHOLDER_FILTER = 'Digite para buscar...';\r\n\t const DEFAULT_PLACEHOLDER = 'Selecione';\r\n\r\n\t\tconst toggleOption = (option: MultiSelectOption, field: ControllerRenderProps<FieldValues, string>) => {\r\n const prevValue = field.value || [];\r\n\r\n const newValue = prevValue?.some((item: MultiSelectOption) => item.value === option.value)\r\n ? prevValue.filter((item: MultiSelectOption) => item.value !== option.value)\r\n : [...prevValue, option];\r\n\r\n field.onChange(newValue);\r\n\t\t};\r\n\r\n\t\tconst handleClear = (field: ControllerRenderProps<FieldValues, string>) => {\r\n\t\t\tfield.onChange([]);\r\n\t\t};\r\n\r\n\t\tconst handleTogglePopover = () => {\r\n\t\t\tsetIsPopoverOpen((prev) => !prev);\r\n\t\t};\r\n\r\n\t\tconst toggleAll = (field: ControllerRenderProps<FieldValues, string>) => {\r\n\t\t\tif (field.value?.length === options.length) {\r\n\t\t\t\thandleClear(field);\r\n\t\t\t} else {\r\n\t\t\t\tconst allValues = options.map((option) => option);\r\n\t\t\t\tfield.onChange(allValues);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn (\r\n <FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }) => (\r\n\t\t\t\t<FormItem>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n ref={ref}\r\n {...props}\r\n onClick={handleTogglePopover}\r\n className={cn(\r\n 'flex w-full p-1 rounded-md border min-h-10 h-auto items-center justify-between bg-background hover:bg-background [&_svg]:size-3.5',\r\n className,\r\n )}\r\n >\r\n {field.value?.length > 0 ? (\r\n <div className='flex justify-between items-center w-full'>\r\n <div className='flex items-center'>\r\n <div className={`grid grid-cols-${maxCount}`}>\r\n {field.value.slice(0, maxCount).map((option: MultiSelectOption) => {\r\n return (\r\n <Badge\r\n key={`msoptlbl-${option.value}`}\r\n className={cn(multiSelectVariants({ variant }))}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n toggleOption(option, field);\r\n }}\r\n >\r\n <div className='truncate'>{option?.label}</div>\r\n <X className='ml-2 cursor-pointer text-zinc-500' />\r\n </Badge>\r\n );\r\n })}\r\n </div>\r\n {field.value?.length > maxCount && (\r\n <Badge variant={'surface'}\r\n >\r\n {`+${field.value?.length - maxCount}`}\r\n </Badge>\r\n )}\r\n </div>\r\n <div className='flex items-center justify-between'>\r\n <ChevronDown className='h-4 mx-2 cursor-pointer text-muted-foreground' />\r\n </div>\r\n </div>\r\n ) : (\r\n <div className='flex items-center justify-between w-full mx-auto'>\r\n <span className='text-sm text-muted-foreground mx-3'>{placeholder ?? DEFAULT_PLACEHOLDER}</span>\r\n <ChevronDown className='h-4 cursor-pointer text-muted-foreground mx-2' />\r\n </div>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className={cn('w-auto p-0', 'w-[--radix-popover-trigger-width]')} align='start' onEscapeKeyDown={() => setIsPopoverOpen(false)}>\r\n <Command>\r\n <CommandInput placeholder={DEFAULT_PLACEHOLDER_FILTER} />\r\n <CommandList>\r\n <CommandEmpty>Nenhum resultado encontrado</CommandEmpty>\r\n <CommandGroup>\r\n <CommandItem key='all' onSelect={() => toggleAll(field)} className='cursor-pointer'>\r\n <div\r\n className={cn(\r\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\r\n field.value?.length === options.length\r\n ? 'bg-primary text-primary-foreground'\r\n : 'opacity-50 [&_svg]:invisible',\r\n )}\r\n >\r\n <CheckIcon className='h-4 w-4' />\r\n </div>\r\n <span>(Selecionar Todos)</span>\r\n </CommandItem>\r\n {options.map((option) => {\r\n const isSelected = field.value?.some((item: MultiSelectOption) => item.value === option.value);\r\n return (\r\n <CommandItem key={`msopt-${option.value}`} onSelect={() => toggleOption(option, field)} className='cursor-pointer'>\r\n <div\r\n className={cn(\r\n 'mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary',\r\n isSelected ? 'bg-primary text-primary-foreground' : 'opacity-50 [&_svg]:invisible',\r\n )}\r\n >\r\n <CheckIcon className='h-4 w-4' />\r\n </div>\r\n <span>{option.label}</span>\r\n </CommandItem>\r\n );\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t\t);\r\n\t},\r\n);\r\n\r\nMultiSelect.displayName = 'MultiSelect';\r\n","import { Eye, EyeOff } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputPassWord: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [showPassword, setShowPassword] = useState(true);\r\n\tconst togglePasswordVisibility = () => setShowPassword((prev) => !prev);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<div className='relative w-full'>\r\n\t\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\ttype={showPassword ? 'password' : 'text'}\r\n\t\t\t\t\t\t\t\tname={name}\r\n\t\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<button type='button' onClick={togglePasswordVisibility} className='absolute inset-y-0 right-2 flex items-center'>\r\n\t\t\t\t\t\t\t\t{showPassword ? <EyeOff className='w-5 h-5 text-slate-500' /> : <Eye className='w-5 h-5 text-slate-500' />}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputDecimal } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputPercent: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, required, onChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<MaskInputDecimal\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tsymbol='%'\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { MaskInputFone } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nconst masks = ['(99) 9999-99999', '(99) 9 9999-9999'];\r\n\r\nexport const FormInputPhone: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\tconst [mask, setMask] = useState(masks[0]);\r\n\r\n\tconst getMask = (val: string) => (val.replace(/\\D/g, '').length > 10 ? masks[1] : masks[0]);\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => {\r\n\t\t\t\tuseEffect(() => {\r\n\t\t\t\t\tsetMask(getMask(field.value || ''));\r\n\t\t\t\t}, [field.value]);\r\n\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t\t<MaskInputFone\r\n\t\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\t\tclassName={className}\r\n\t\t\t\t\t\t\t\tplaceholder={placeholder ?? '(00) 0 0000-0000'}\r\n\t\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\t\tmask={mask}\r\n\t\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\t\tonChange?.(e);\r\n\t\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\t\tsetMask(getMask(e.target.value));\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => onKeyUp?.(e)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t\t</FormItem>\r\n\t\t\t\t);\r\n\t\t\t}}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { Label } from '../../label';\r\nimport { RadioGroup, RadioGroupItem } from '../../radio-group';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nexport interface RadioOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n\tdescription?: string;\r\n\tdisabled?: boolean;\r\n}\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tvalue?: string;\r\n\tlabel?: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tclassNameOptions?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\toptions?: RadioOption[];\r\n\tonChange?: (value: string) => void;\r\n}\r\n\r\nexport const FormRadioGroup: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tvalue,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tclassName,\r\n\tclassNameOptions,\r\n\tdisabled,\r\n\trequired,\r\n\toptions,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\tkey={value}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem>\r\n\t\t\t\t\t<div className={cn('flex items-center space-x-1.5 mb-2', className)}>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<RadioGroup\r\n\t\t\t\t\t\t\tonValueChange={(value: string) => {\r\n\t\t\t\t\t\t\t\tfield?.onChange?.(value);\r\n\t\t\t\t\t\t\t\tonChange?.(value);\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdefaultValue={field.value}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tclassName={`${className}`}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div className={cn('flex flex-grow gap-6', classNameOptions)}>\r\n\t\t\t\t\t\t\t\t{options?.map((option, index) => (\r\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col' key={`radio-${name}-${index}`}>\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex items-center space-x-2' key={`radio-${name}-${index}`}>\r\n\t\t\t\t\t\t\t\t\t\t\t<RadioGroupItem\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={option.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\tid={`r${option.value}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tchecked={field.value === option.value}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={option.disabled}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<Label htmlFor={`r${option.value}`} className={option.disabled ? 'opacity-50' : ''}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\r\n\t\t\t\t\t\t\t\t\t\t\t</Label>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t{option.description && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div className={cn('pl-6 text-zinc-500', { 'opacity-50': option.disabled })}>{option.description}</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</RadioGroup>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { Select } from '@radix-ui/react-select';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\nexport interface SelectOption {\r\n\tvalue: string;\r\n\tlabel: string;\r\n\tdefault?: boolean;\r\n}\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\toptions: SelectOption[];\r\n}\r\n\r\nexport const FormSelect: React.FC<Props> = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required, options }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Select onValueChange={field.onChange} defaultValue={field.value} disabled={disabled}>\r\n\t\t\t\t\t\t\t<SelectTrigger className={cn('', formState.errors[name] ? 'border-red-600' : '', className)}>\r\n\t\t\t\t\t\t\t\t<SelectValue className='text-slate-400' placeholder={placeholder} />\r\n\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t<SelectContent className='bg-white cursor-pointer'>\r\n\t\t\t\t\t\t\t\t<SelectGroup>\r\n\t\t\t\t\t\t\t\t\t{options.map((option) => (\r\n\t\t\t\t\t\t\t\t\t\t<SelectItem key={option.value} value={option.value}>\r\n\t\t\t\t\t\t\t\t\t\t\t{option.label}\r\n\t\t\t\t\t\t\t\t\t\t</SelectItem>\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t</SelectGroup>\r\n\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { Check } from 'lucide-react';\r\nimport { Separator } from '../../separator';\r\n\r\nexport interface PropsStepNewForm {\r\n\tsteps: { id: string; label: string }[];\r\n\tcurrentIndex: number;\r\n}\r\n\r\nconst StepNewForm = ({ steps, currentIndex }: PropsStepNewForm) => {\r\n\tconst getStepIcon = (index: number) => {\r\n\t\tif (index < currentIndex) {\r\n\t\t\treturn (\r\n\t\t\t\t<div className='flex w-6 h-6 rounded-md items-center justify-center bg-background-secondary border'>\r\n\t\t\t\t\t<Check size={16} className='stroke-2 stroke-primary' />\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tclassName={`flex w-6 h-6 rounded-md items-center justify-center border ${\r\n\t\t\t\t\tindex === currentIndex ? 'bg-background-primary text-white' : 'bg-white text-black'\r\n\t\t\t\t}`}\r\n\t\t\t>\r\n\t\t\t\t{index + 1}\r\n\t\t\t</div>\r\n\t\t);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className='flex flex-row gap-x-3 my-2.5'>\r\n\t\t\t{steps.map((step, index, array) => (\r\n\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3' key={step.id}>\r\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-x-3'>\r\n\t\t\t\t\t\t{getStepIcon(index)}\r\n\t\t\t\t\t\t{step.label}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{index + 1 < array.length && (\r\n\t\t\t\t\t\t<div className='w-10'>\r\n\t\t\t\t\t\t\t<Separator />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t))}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport { StepNewForm };\r\n","import { ControllerRenderProps, FieldValues } from 'react-hook-form';\r\nimport { cn } from '../../../../lib/utils';\r\nimport * as FormComponents from '../../form';\r\nimport { Switch } from '../../switch';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\tonCheckedChange?: (checked: boolean) => void;\r\n}\r\n\r\nexport const FormInputSwitch: React.FC<Props> = ({ control, name, label, subLabel, helpText, className, disabled, onCheckedChange }) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field }: { field: ControllerRenderProps<FieldValues, string> }) => (\r\n\t\t\t\t<FormItem className={cn('flex items-top gap-x-2', className)}>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Switch\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tchecked={field.value}\r\n\t\t\t\t\t\t\tonCheckedChange={(checked: boolean) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(checked);\r\n\t\t\t\t\t\t\t\tif (onCheckedChange) {\r\n\t\t\t\t\t\t\t\t\tonCheckedChange(checked);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t<div className='flex h-full items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, false, 'pb-0')}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { InputText } from '../../input';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tmaxLength?: number;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tinputRef?: React.Ref<HTMLInputElement>;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n\tonChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n}\r\n\r\nexport const FormInputText: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tmaxLength,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tinputRef,\r\n\tonKeyUp,\r\n\tonChange,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tmaxLength={maxLength}\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tvalue={field.value || ''}\r\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLInputElement>) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { ControllerRenderProps, FieldValues, FormState } from 'react-hook-form';\r\nimport * as FormComponents from '../../form';\r\nimport { Textarea } from '../../textarea';\r\nimport { formHelpText } from './form-help-text';\r\nimport { formLabelAndSubLabel } from './form-label';\r\nimport { formMessage } from './form-message';\r\n\r\ninterface Props {\r\n\tcontrol: any;\r\n\tname: string;\r\n\tlabel: string;\r\n\tsubLabel?: string;\r\n\thelpText?: JSX.Element;\r\n\tplaceholder?: string;\r\n\tclassName?: string;\r\n\tdisabled?: boolean;\r\n\trequired?: boolean;\r\n\tonChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;\r\n\tonKeyUp?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;\r\n}\r\n\r\nexport const FormTextarea: React.FC<Props> = ({\r\n\tcontrol,\r\n\tname,\r\n\tlabel,\r\n\tsubLabel,\r\n\thelpText,\r\n\tplaceholder,\r\n\tclassName,\r\n\tdisabled,\r\n\trequired,\r\n\tonChange,\r\n\tonKeyUp,\r\n}) => {\r\n\tconst { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;\r\n\r\n\treturn (\r\n\t\t<FormField\r\n\t\t\tcontrol={control}\r\n\t\t\tname={name}\r\n\t\t\trender={({ field, formState }: { field: ControllerRenderProps<FieldValues, string>; formState: FormState<FieldValues> }) => (\r\n\t\t\t\t<FormItem className={className}>\r\n\t\t\t\t\t<div className='flex items-center space-x-1.5'>\r\n\t\t\t\t\t\t{label && formLabelAndSubLabel(FormLabel, label, subLabel, required)}\r\n\t\t\t\t\t\t{helpText && formHelpText(helpText)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<FormControl>\r\n\t\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\t\t{...field}\r\n\t\t\t\t\t\t\tclassName='resize-none outline-none focus:outline-none'\r\n\t\t\t\t\t\t\tplaceholder={placeholder}\r\n\t\t\t\t\t\t\tdisabled={disabled || formState.isSubmitting}\r\n\t\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\r\n\t\t\t\t\t\t\t\tfield.onChange(e);\r\n\t\t\t\t\t\t\t\tif (onChange) {\r\n\t\t\t\t\t\t\t\t\tonChange(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tonKeyUp={(e: React.KeyboardEvent<HTMLTextAreaElement>) => {\r\n\t\t\t\t\t\t\t\tif (onKeyUp) {\r\n\t\t\t\t\t\t\t\t\tonKeyUp(e);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</FormControl>\r\n\t\t\t\t\t{formMessage(FormMessage)}\r\n\t\t\t\t</FormItem>\r\n\t\t\t)}\r\n\t\t/>\r\n\t);\r\n};\r\n","import { zodResolver } from '@hookform/resolvers/zod';\r\nimport { FieldErrors, useForm } from 'react-hook-form';\r\nimport { z } from 'zod';\r\nimport { Button } from '../../button';\r\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../../dialog';\r\nimport { Form } from '../../form';\r\nimport { toast } from '../../use-toast';\r\nimport { FormRadioGroup } from '../form/radio-group';\r\nimport { ExportDataTable } from './types/data-table';\r\n\r\ninterface DataTableExportProps {\r\n\texportData?: ExportDataTable;\r\n\ttotalRows: number;\r\n}\r\n\r\nexport function DataTableExport({ exportData, totalRows }: DataTableExportProps) {\r\n\tconst exportXlSX = () => {\r\n\t\tif (!exportData) return;\r\n\r\n\t\tif (totalRows === 0) {\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: 'Não há dados para exportar.',\r\n\t\t\t\tvariant: 'destructive',\r\n\t\t\t});\r\n\t\t\treturn {};\r\n\t\t}\r\n\t\tconst params = new URLSearchParams(exportData.params).toString();\r\n\t\twindow.open(`${exportData.url}?${params}`, '_blank');\r\n\t};\r\n\r\n\tconst renderExport = () => {\r\n\t\tif (!exportData) return null;\r\n\r\n\t\tif (exportData.type === 'xlsx') {\r\n\t\t\treturn (\r\n\t\t\t\t<Button variant='secondary' onClick={exportXlSX}>\r\n\t\t\t\t\tExportar\r\n\t\t\t\t</Button>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (exportData.type === 'dialog') {\r\n\t\t\tconst ExportDataSchema = z.object({\r\n\t\t\t\tmodel: z.string(),\r\n\t\t\t\tformat: z.string(),\r\n\t\t\t});\r\n\r\n\t\t\tconst form = useForm<z.infer<typeof ExportDataSchema>>({\r\n\t\t\t\tmode: 'onTouched',\r\n\t\t\t\tresolver: zodResolver(ExportDataSchema),\r\n\t\t\t});\r\n\r\n\t\t\tconst { control, trigger, handleSubmit } = form;\r\n\r\n\t\t\tconst onSubmit = async (values: z.infer<typeof ExportDataSchema>) => {\r\n\t\t\t\tawait trigger();\r\n\r\n\t\t\t\ttoast({\r\n\t\t\t\t\ttitle: 'Em desenvolvimento.',\r\n\t\t\t\t\tvariant: 'destructive',\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tconst onError = async (errors: FieldErrors<z.infer<typeof ExportDataSchema>>) => {\r\n\t\t\t\ttoast({\r\n\t\t\t\t\ttitle: 'Erro ao salvar',\r\n\t\t\t\t\tdescription: 'Verifique os campos obrigatórios',\r\n\t\t\t\t\tvariant: 'destructive',\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<Form {...(form as any)} onSubmit={handleSubmit(onSubmit, onError)}>\r\n\t\t\t\t\t<Dialog>\r\n\t\t\t\t\t\t<DialogTrigger asChild>\r\n\t\t\t\t\t\t\t<Button variant='secondary'>Exportar</Button>\r\n\t\t\t\t\t\t</DialogTrigger>\r\n\t\t\t\t\t\t<DialogContent hideClose className='fixed p-6 rounded-lg w-[451px]'>\r\n\t\t\t\t\t\t\t<DialogHeader>\r\n\t\t\t\t\t\t\t\t<DialogTitle>Exportar</DialogTitle>\r\n\t\t\t\t\t\t\t\t<DialogDescription />\r\n\t\t\t\t\t\t\t</DialogHeader>\r\n\t\t\t\t\t\t\t<div className='flex flex-col gap-6'>\r\n\t\t\t\t\t\t\t\t<FormRadioGroup\r\n\t\t\t\t\t\t\t\t\tcontrol={control}\r\n\t\t\t\t\t\t\t\t\tname='model'\r\n\t\t\t\t\t\t\t\t\tlabel='Selecione o modelo de visualização'\r\n\t\t\t\t\t\t\t\t\toptions={[\r\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'Resumido' },\r\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'Detalhado' },\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\r\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<FormRadioGroup\r\n\t\t\t\t\t\t\t\t\tcontrol={control}\r\n\t\t\t\t\t\t\t\t\tname='format'\r\n\t\t\t\t\t\t\t\t\tlabel='Selecione o formato desejado para exportação'\r\n\t\t\t\t\t\t\t\t\toptions={[\r\n\t\t\t\t\t\t\t\t\t\t{ value: '0', label: 'PDF' },\r\n\t\t\t\t\t\t\t\t\t\t{ value: '1', label: 'XLSX' },\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\tclassName='text-sm font-normal'\r\n\t\t\t\t\t\t\t\t\tclassNameOptions='flex flex-col gap-4 mt-4 text-sm font-normal'\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<DialogFooter className='sm:justify-end gap-2'>\r\n\t\t\t\t\t\t\t\t<Button type='button' variant='secondary'>\r\n\t\t\t\t\t\t\t\t\tFechar\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t<Button type='button' variant='default' onClick={() => exportXlSX()}>\r\n\t\t\t\t\t\t\t\t\tExportar\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t</DialogFooter>\r\n\t\t\t\t\t\t</DialogContent>\r\n\t\t\t\t\t</Dialog>\r\n\t\t\t\t</Form>\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t};\r\n\r\n\treturn exportData && renderExport();\r\n}\r\n","import { PaginationState } from '@tanstack/react-table';\r\nimport { Badge } from '../../badge';\r\nimport {\r\n\tPagination,\r\n\tPaginationContent,\r\n\tPaginationEllipsis,\r\n\tPaginationItem,\r\n\tPaginationLink,\r\n\tPaginationNext,\r\n\tPaginationPrevious,\r\n} from '../../pagination';\r\nimport { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '../../select';\r\nimport { DataTableExport } from './data-table-export';\r\nimport { ExportDataTable } from './types/data-table';\r\n\r\ninterface DataTableFooterProps<TData> {\r\n\thidePagination?: boolean;\r\n\tdisablePagination?: boolean;\r\n\tisLoading?: boolean;\r\n\ttotalRows: number;\r\n\ttotalPages: number;\r\n\tcurrentPage: number;\r\n\tpagination: PaginationState;\r\n\thandlePageSize: (value: number) => void;\r\n\thandlePage: (value: number) => void;\r\n\tpreviousPage: {\r\n\t\taction: () => void;\r\n\t\tdisabled: boolean;\r\n\t};\r\n\tnextPage: {\r\n\t\taction: () => void;\r\n\t\tdisabled: boolean;\r\n\t};\r\n\texportData?: ExportDataTable;\r\n}\r\n\r\nexport function DataTableFooter<TData>({\r\n\tisLoading,\r\n\ttotalRows,\r\n\ttotalPages,\r\n\tcurrentPage,\r\n\thidePagination,\r\n\tdisablePagination,\r\n\tpagination,\r\n\thandlePageSize,\r\n\thandlePage,\r\n\tpreviousPage,\r\n\tnextPage,\r\n\texportData,\r\n}: DataTableFooterProps<TData>) {\r\n\tconst renderPaginationPages = () => {\r\n\t\tconst paginationItems: JSX.Element[] = [];\r\n\r\n\t\tconst createPaginationItem = (pageIndex: number) => (\r\n\t\t\t<PaginationItem key={pageIndex}>\r\n\t\t\t\t<PaginationLink onClick={() => handlePage(pageIndex)} isActive={currentPage === pageIndex}>\r\n\t\t\t\t\t{pageIndex + 1}\r\n\t\t\t\t</PaginationLink>\r\n\t\t\t</PaginationItem>\r\n\t\t);\r\n\r\n\t\t// Add first page\r\n\t\tpaginationItems.push(createPaginationItem(0));\r\n\r\n\t\t// Add ellipsis if needed\r\n\t\tif (currentPage > 2) {\r\n\t\t\tpaginationItems.push(<PaginationEllipsis key='start-ellipsis' />);\r\n\t\t}\r\n\r\n\t\t// Add pages before current page\r\n\t\tfor (let i = Math.max(1, currentPage - 1); i < currentPage; i++) {\r\n\t\t\tpaginationItems.push(createPaginationItem(i));\r\n\t\t}\r\n\r\n\t\t// Add current page\r\n\t\tif (currentPage !== 0 && currentPage !== totalPages - 1) {\r\n\t\t\tpaginationItems.push(createPaginationItem(currentPage));\r\n\t\t}\r\n\r\n\t\t// Add pages after current page\r\n\t\tfor (let i = currentPage + 1; i <= Math.min(totalPages - 2, currentPage + 1); i++) {\r\n\t\t\tpaginationItems.push(createPaginationItem(i));\r\n\t\t}\r\n\r\n\t\t// Add ellipsis if needed\r\n\t\tif (currentPage < totalPages - 3) {\r\n\t\t\tpaginationItems.push(<PaginationEllipsis key='end-ellipsis' />);\r\n\t\t}\r\n\r\n\t\t// Add last page\r\n\t\tif (totalPages > 1) {\r\n\t\t\tpaginationItems.push(createPaginationItem(totalPages - 1));\r\n\t\t}\r\n\r\n\t\treturn paginationItems;\r\n\t};\r\n\r\n\treturn (\r\n\t\t!hidePagination && (\r\n\t\t\t<footer className='flex items-center justify-between h-[64px]'>\r\n\t\t\t\t<div className='flex flex-row items-center gap-6'>\r\n\t\t\t\t\t<div className='flex flex-row items-center gap-2'>\r\n\t\t\t\t\t\tLinhas por página\r\n\t\t\t\t\t\t<Select\r\n\t\t\t\t\t\t\tvalue={pagination.pageSize.toString()}\r\n\t\t\t\t\t\t\tonValueChange={(value) => handlePageSize(Number(value))}\r\n\t\t\t\t\t\t\tdisabled={isLoading || disablePagination}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<SelectTrigger className='w-20'>\r\n\t\t\t\t\t\t\t\t<SelectValue placeholder='' className='text-slate-800 font-medium' />\r\n\t\t\t\t\t\t\t</SelectTrigger>\r\n\t\t\t\t\t\t\t<SelectContent>\r\n\t\t\t\t\t\t\t\t<SelectGroup>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='25'>25</SelectItem>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='50'>50</SelectItem>\r\n\t\t\t\t\t\t\t\t\t<SelectItem value='100'>100</SelectItem>\r\n\t\t\t\t\t\t\t\t</SelectGroup>\r\n\t\t\t\t\t\t\t</SelectContent>\r\n\t\t\t\t\t\t</Select>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<DataTableExport exportData={exportData} totalRows={totalPages} />\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className='flex items-center gap-4'>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t{!isLoading && (\r\n\t\t\t\t\t\t\t<Badge variant='secondary'>{totalRows === 0 ? 'Nenhum item' : totalRows === 1 ? '1 item' : `${totalRows} itens`}</Badge>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<Pagination>\r\n\t\t\t\t\t\t\t<PaginationContent>\r\n\t\t\t\t\t\t\t\t<PaginationItem>\r\n\t\t\t\t\t\t\t\t\t<PaginationPrevious onClick={() => previousPage.action()} disabled={previousPage.disabled || disablePagination} />\r\n\t\t\t\t\t\t\t\t</PaginationItem>\r\n\t\t\t\t\t\t\t\t{renderPaginationPages()}\r\n\t\t\t\t\t\t\t\t<PaginationItem>\r\n\t\t\t\t\t\t\t\t\t<PaginationNext onClick={() => nextPage.action()} disabled={nextPage.disabled || disablePagination} />\r\n\t\t\t\t\t\t\t\t</PaginationItem>\r\n\t\t\t\t\t\t\t</PaginationContent>\r\n\t\t\t\t\t\t</Pagination>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</footer>\r\n\t\t)\r\n\t);\r\n}\r\n","import { Table, flexRender } from '@tanstack/react-table';\r\nimport { ArrowUpDown, MoveDown, MoveUp } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Checkbox } from '../../checkbox';\r\nimport { TableHead, TableHeader, TableRow } from '../../table';\r\n\r\ninterface DataTableHeaderProps<TData> {\r\n\ttable: Table<TData>;\r\n\tcanActionsRow?: boolean;\r\n\tenableMultiRowSelection?: boolean;\r\n}\r\n\r\nexport function DataTableHeader<TData>({ table, canActionsRow, enableMultiRowSelection }: DataTableHeaderProps<TData>) {\r\n\tconst headerGroups = table.getHeaderGroups();\r\n\treturn (\r\n\t\t<TableHeader>\r\n\t\t\t{headerGroups.map((headerGroup) => (\r\n\t\t\t\t<TableRow key={headerGroup.id} className='bg-background dark:bg-datatable-accent rounded-t-md sticky top-0 z-10'>\r\n\t\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t\t<TableHead className='h-[65px] w-6'>\r\n\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\tchecked={table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && 'indeterminate')}\r\n\t\t\t\t\t\t\t\tonCheckedChange={(value) => table.toggleAllPageRowsSelected(!!value)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</TableHead>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{headerGroup.headers.map((header) => (\r\n\t\t\t\t\t\t<TableHead\r\n\t\t\t\t\t\t\tkey={header.id}\r\n\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t'h-[65px] whitespace-nowrap',\r\n\t\t\t\t\t\t\t\theader.column.id === 'id' ? 'sticky left-0 z-20' : '',\r\n\t\t\t\t\t\t\t\theader.column.columnDef.enableSorting ? 'pl-2' : '',\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{header.column.columnDef.enableSorting ? (\r\n\t\t\t\t\t\t\t\t<Button variant='ghost' onClick={() => header.column.toggleSorting(header.column.getIsSorted() === 'asc')}>\r\n\t\t\t\t\t\t\t\t\t{flexRender(header.column.columnDef.header, header.getContext())}\r\n\t\t\t\t\t\t\t\t\t{header.column.getIsSorted() === 'asc' ? (\r\n\t\t\t\t\t\t\t\t\t\t<MoveUp className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t) : header.column.getIsSorted() === 'desc' ? (\r\n\t\t\t\t\t\t\t\t\t\t<MoveDown className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<ArrowUpDown className='ml-2 h-4 w-4' />\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\tflexRender(header.column.columnDef.header, header.getContext())\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</TableHead>\r\n\t\t\t\t\t))}\r\n\t\t\t\t\t{canActionsRow && <TableHead />}\r\n\t\t\t\t</TableRow>\r\n\t\t\t))}\r\n\t\t</TableHeader>\r\n\t);\r\n}\r\n","import { ColumnDef, Table, flexRender } from '@tanstack/react-table';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Checkbox } from '../../checkbox';\r\nimport { Skeleton } from '../../skeleton';\r\nimport { TableCell, TableRow } from '../../table';\r\nimport { ActionRow } from './types/data-table';\r\n\r\ninterface DataTableRowsProps<TData> {\r\n\ttable: Table<TData>;\r\n\tcolumns: ColumnDef<TData>[];\r\n\tisLoading?: boolean;\r\n\tactionsRow?: ActionRow[];\r\n\ttextNoRecords?: string;\r\n\tenableMultiRowSelection?: boolean;\r\n}\r\n\r\nexport function DataTableRows<TData>({ table, isLoading, columns, actionsRow, textNoRecords, enableMultiRowSelection }: DataTableRowsProps<TData>) {\r\n\tconst rows = table.getRowModel().rows;\r\n\r\n\tconst renderLoadingRows = () => {\r\n\t\tconst rows: JSX.Element[] = [];\r\n\r\n\t\tfor (let i = 0; i < 10; i++) {\r\n\t\t\trows.push(\r\n\t\t\t\t<TableRow key={`loading-row-${i}`}>\r\n\t\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t\t<TableCell className='py-2'>\r\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\r\n\t\t\t\t\t\t</TableCell>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{columns.map((column) => (\r\n\t\t\t\t\t\t<TableCell key={column.id} className='py-2'>\r\n\t\t\t\t\t\t\t<Skeleton className='h-10 w-full' />\r\n\t\t\t\t\t\t</TableCell>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</TableRow>,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn rows;\r\n\t};\r\n\r\n\tconst renderRows = () => {\r\n\t\treturn rows.map((row) => (\r\n\t\t\t<TableRow key={row.id} data-state={row.getIsSelected() && 'selected'} className='group'>\r\n\t\t\t\t{enableMultiRowSelection && (\r\n\t\t\t\t\t<TableCell className='py-4'>\r\n\t\t\t\t\t\t<Checkbox checked={row.getIsSelected()} onCheckedChange={(value) => row.toggleSelected(!!value)} aria-label='Select row' />\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t)}\r\n\t\t\t\t{row.getVisibleCells().map((cell) => (\r\n\t\t\t\t\t<TableCell key={cell.id} className='py-4'>\r\n\t\t\t\t\t\t{flexRender(cell.column.columnDef.cell, cell.getContext())}\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t))}\r\n\t\t\t\t{actionsRow && (\r\n\t\t\t\t\t<TableCell\r\n\t\t\t\t\t\tclassName='opacity-0 group-hover:opacity-100 hover:opacity-100 relative overflow-visible w-[0px]'\r\n\t\t\t\t\t\tkey={`buttons-${row.id}`}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div className='absolute transition-colors group-hover:bg-datatable-accent overflow-visible right-5 -translate-y-1/2 flex space-x-4'>\r\n\t\t\t\t\t\t\t{actionsRow.map((action, index) => (\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tkey={`action-row-${index}`}\r\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\r\n\t\t\t\t\t\t\t\t\tclassName={cn('bg-datatable-accent', action.className?.(row.original) || '')}\r\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(row.original)}\r\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled?.(row.original) || false}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{action.icon}\r\n\t\t\t\t\t\t\t\t\t{action.label}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</TableCell>\r\n\t\t\t\t)}\r\n\t\t\t</TableRow>\r\n\t\t));\r\n\t};\r\n\r\n\tconst renderEmptyRows = () => {\r\n\t\tconst colSpan = columns.length + (actionsRow ? 1 : 0);\r\n\t\treturn (\r\n\t\t\t<TableRow>\r\n\t\t\t\t<TableCell colSpan={colSpan} className='text-center h-[53px]'>\r\n\t\t\t\t\t{textNoRecords ? textNoRecords : 'Sem resultados.'}\r\n\t\t\t\t</TableCell>\r\n\t\t\t</TableRow>\r\n\t\t);\r\n\t};\r\n\r\n\treturn isLoading ? renderLoadingRows() : rows.length ? renderRows() : renderEmptyRows();\r\n}\r\n","import {\r\n\tColumnDef,\r\n\tPaginationState,\r\n\tSortingState,\r\n\tgetCoreRowModel,\r\n\tgetFilteredRowModel,\r\n\tgetPaginationRowModel,\r\n\tgetSortedRowModel,\r\n\tuseReactTable,\r\n} from '@tanstack/react-table';\r\nimport { Filter, Search } from 'lucide-react';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Button } from '../../button';\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from '../../sheet';\r\nimport { Table, TableBody } from '../../table';\r\nimport { DataTableFooter } from './data-table-footer';\r\nimport { DataTableHeader } from './data-table-header';\r\nimport { DataTableRows } from './data-table-rows';\r\nimport { ActionRow, ActionTable, ExportDataTable, FiltersActions } from './types/data-table';\r\n\r\nexport interface DataTableProps<TData> {\r\n\tcolumns: ColumnDef<TData>[];\r\n\tdata: TData[];\r\n\tactions?: ActionTable[];\r\n\tactionsRow?: ActionRow[];\r\n\tcustomFilters?: JSX.Element;\r\n\tclassName?: string;\r\n\ttitle?: string;\r\n\trowsPage?: number;\r\n\tsetSearch?: (value?: string) => void;\r\n\tsetSelectRows?: (ids: string[]) => void;\r\n\tpageChanged?: (pageNumber: number) => void;\r\n\tpageSizeChanged?: (pageSize: number) => void;\r\n\ttotalRows?: number;\r\n\tfiltersActions?: FiltersActions;\r\n\texportData?: ExportDataTable;\r\n\ttextNoRecords?: string;\r\n\theightRemainingScroll?: number;\r\n\thideFilterField?: boolean;\r\n\tmultiRowSelection?: {\r\n\t\tcallback: (selectedRows: any[]) => void;\r\n\t};\r\n\thidePagination?: boolean;\r\n\tdisablePagination?: boolean;\r\n\tisLoading?: boolean;\r\n\tfixedHeight?: number;\r\n}\r\n\r\nexport interface OriginalDataTableData {\r\n\tid: string;\r\n\tchecked?: boolean;\r\n}\r\n\r\nexport function DataTable<TData>({\r\n\tcolumns,\r\n\tdata,\r\n\tclassName,\r\n\ttitle,\r\n\trowsPage,\r\n\tactions,\r\n\tactionsRow,\r\n\tcustomFilters,\r\n\tsetSearch,\r\n\tpageChanged,\r\n\tpageSizeChanged,\r\n\ttotalRows,\r\n\tfiltersActions,\r\n\texportData,\r\n\ttextNoRecords,\r\n\theightRemainingScroll,\r\n\thideFilterField,\r\n\tmultiRowSelection,\r\n\thidePagination,\r\n\tdisablePagination,\r\n\tisLoading,\r\n\tfixedHeight,\r\n}: DataTableProps<TData>) {\r\n\tconst [sorting, setSorting] = useState<SortingState>([]);\r\n\tconst [pagination, setPagination] = useState<PaginationState>({\r\n\t\tpageIndex: 0,\r\n\t\tpageSize: rowsPage ?? 25,\r\n\t});\r\n\tconst enableMultiRowSelection = multiRowSelection !== undefined;\r\n\tconst [rowSelection, setRowSelection] = useState(\r\n\t\tenableMultiRowSelection\r\n\t\t\t? Object.fromEntries(\r\n\t\t\t\t\t(Array.isArray(data) ? data : []).map((row: any, idx: number) => {\r\n\t\t\t\t\t\treturn [idx, row.checked];\r\n\t\t\t\t\t}),\r\n\t\t\t )\r\n\t\t\t: {},\r\n\t);\r\n\tconst debounceTimeout = useRef<NodeJS.Timeout | null>(null);\r\n\tconst tableContainerRef = useRef<HTMLDivElement>(null);\r\n\tconst [tableHeight, setTableHeight] = useState('auto');\r\n\ttotalRows = totalRows ?? data.length;\r\n\r\n\tconst table = useReactTable({\r\n\t\tmanualPagination: true,\r\n\t\tdata: data,\r\n\t\tcolumns,\r\n\t\tgetPaginationRowModel: getPaginationRowModel(),\r\n\t\tonPaginationChange: setPagination,\r\n\t\tgetCoreRowModel: getCoreRowModel(),\r\n\t\tonSortingChange: setSorting,\r\n\t\tgetSortedRowModel: getSortedRowModel(),\r\n\t\tgetFilteredRowModel: getFilteredRowModel(),\r\n\t\tonRowSelectionChange: (rowSelection) => {\r\n\t\t\tsetRowSelection(rowSelection);\r\n\t\t},\r\n\t\tenableMultiRowSelection: enableMultiRowSelection,\r\n\t\tstate: { pagination, rowSelection, sorting },\r\n\t\tpageCount: Math.ceil(totalRows / pagination.pageSize),\r\n\t});\r\n\r\n\tconst totalPages = table.getPageCount();\r\n\tconst currentPage = table.getState().pagination.pageIndex;\r\n\tconst selectedRows = table.getSelectedRowModel().rows;\r\n\tconst selectedIds = selectedRows.map((row) => (row.original as OriginalDataTableData).id);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (data.length === 0 && pagination.pageIndex > 0) {\r\n\t\t\tsetPagination({ ...pagination, pageIndex: 0 });\r\n\t\t}\r\n\t}, [data]);\r\n\r\n\tuseEffect(() => {\r\n\t\thandleResize();\r\n\r\n\t\twindow.addEventListener('resize', handleResize);\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('resize', handleResize);\r\n\t\t};\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (pageChanged) pageChanged(pagination.pageIndex + 1);\r\n\t}, [pagination]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst selectedRowsChecked = selectedRows.map((row) => row.original);\r\n\t\tif (multiRowSelection && selectedRowsChecked.length > 0) {\r\n\t\t\tmultiRowSelection.callback(selectedRowsChecked);\r\n\t\t}\r\n\t}, [rowSelection]);\r\n\r\n\tconst handleResize = () => {\r\n\t\tif (tableContainerRef.current) {\r\n\t\t\tconst newHeight = window.innerHeight - tableContainerRef.current.getBoundingClientRect().top - (hidePagination ? 30 : 74);\r\n\r\n\t\t\tsetTableHeight(`${newHeight - (heightRemainingScroll ?? 0)}px`);\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleSearchChange = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n\t\tconst value = event.currentTarget.value;\r\n\r\n\t\tif (debounceTimeout.current) {\r\n\t\t\tclearTimeout(debounceTimeout.current);\r\n\t\t}\r\n\r\n\t\tdebounceTimeout.current = setTimeout(() => {\r\n\t\t\tsetSearch?.(value);\r\n\t\t\thandlePage(0);\r\n\t\t}, 300);\r\n\t};\r\n\r\n\tconst handlePageSize = (value: number) => {\r\n\t\tpageSizeChanged?.(value);\r\n\t\tsetPagination({ pageIndex: 0, pageSize: value });\r\n\t};\r\n\r\n\tconst handlePage = (index: number) => {\r\n\t\tif (index !== currentPage) {\r\n\t\t\tsetPagination({ ...pagination, pageIndex: index });\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className='flex flex-col flex-1'>\r\n\t\t\t{(!hideFilterField || filtersActions || customFilters || actions) && (\r\n\t\t\t\t<div className='flex items-end justify-between mb-4 space-x-6'>\r\n\t\t\t\t\t<div className='flex items-center gap-x-4'>\r\n\t\t\t\t\t\t{!hideFilterField && (\r\n\t\t\t\t\t\t\t<div className='flex bg-background items-center border border-slate-300 rounded-sm w-[350px] overflow-hidden focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 group'>\r\n\t\t\t\t\t\t\t\t<div className='pl-3.5 transform transition-transform duration-300 group-hover:-translate-x-1'>\r\n\t\t\t\t\t\t\t\t\t<Search size={18} className='w-5 h-5 stroke-zinc-500 dark:stroke-default' />\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\tplaceholder='Buscar'\r\n\t\t\t\t\t\t\t\t\tonKeyUp={(event) => {\r\n\t\t\t\t\t\t\t\t\t\thandleSearchChange(event);\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\tclassName='w-full bg-background text-default border-none focus:ring-0 focus:outline-none px-3 py-2 transform transition-transform duration-300 group-hover:-translate-x-1 '\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{filtersActions && (\r\n\t\t\t\t\t\t\t<Sheet open={filtersActions.filterOpen} onOpenChange={filtersActions.setFilterOpen}>\r\n\t\t\t\t\t\t\t\t<SheetTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t<Button variant='secondary' type='button'>\r\n\t\t\t\t\t\t\t\t\t\t<Filter size={20} className='h-4 w-4' /> Filtros\r\n\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters > 0 && (\r\n\t\t\t\t\t\t\t\t\t\t\t<div className='bg-background-primary text-white rounded-full h-5 w-5 flex items-center justify-center text-sm placeholder:text-muted-foreground'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{filtersActions.countFilters}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</SheetTrigger>\r\n\t\t\t\t\t\t\t\t<SheetContent>\r\n\t\t\t\t\t\t\t\t\t<SheetHeader>\r\n\t\t\t\t\t\t\t\t\t\t<SheetTitle>Filtros</SheetTitle>\r\n\t\t\t\t\t\t\t\t\t\t<SheetDescription />\r\n\t\t\t\t\t\t\t\t\t</SheetHeader>\r\n\t\t\t\t\t\t\t\t\t<div className='flex flex-col py-6'>{filtersActions.fields}</div>\r\n\t\t\t\t\t\t\t\t</SheetContent>\r\n\t\t\t\t\t\t\t</Sheet>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{customFilters}\r\n\t\t\t\t\t<div className='flex space-x-4 content-end'>\r\n\t\t\t\t\t\t{actions?.map((action, index) => (\r\n\t\t\t\t\t\t\t<div key={`action-table-${index}`}>\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tonClick={() => action.onClick?.(selectedIds, selectedRows)}\r\n\t\t\t\t\t\t\t\t\tclassName={cn(action.className, action.hideUnselectedRows && selectedRows.length === 0 ? 'hidden' : '')}\r\n\t\t\t\t\t\t\t\t\tvariant={(action.variant as 'link' | 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost') || 'default'}\r\n\t\t\t\t\t\t\t\t\tdisabled={action.disabled}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div className='[&_svg]:size-5'>{action.icon}</div>\r\n\t\t\t\t\t\t\t\t\t{action.label}\r\n\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\r\n\t\t\t<div className={`flex-1 flex flex-col rounded-md border ${className}`}>\r\n\t\t\t\t<div className='flex items-center justify-between'>{title && <div className='text-h4 p-4'>{title}</div>}</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tid='data-table'\r\n\t\t\t\t\tref={tableContainerRef}\r\n\t\t\t\t\tstyle={fixedHeight ? { height: fixedHeight } : { height: tableHeight }}\r\n\t\t\t\t\tclassName='flex flex-col justify-between rounded-md overflow-x-auto overflow-y-auto'\r\n\t\t\t\t>\r\n\t\t\t\t\t<Table>\r\n\t\t\t\t\t\t<DataTableHeader\r\n\t\t\t\t\t\t\ttable={table}\r\n\t\t\t\t\t\t\tcanActionsRow={actionsRow && actionsRow.length > 0}\r\n\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<TableBody className='bg-background'>\r\n\t\t\t\t\t\t\t<DataTableRows\r\n\t\t\t\t\t\t\t\ttable={table}\r\n\t\t\t\t\t\t\t\tcolumns={columns}\r\n\t\t\t\t\t\t\t\tisLoading={isLoading}\r\n\t\t\t\t\t\t\t\tactionsRow={actionsRow}\r\n\t\t\t\t\t\t\t\ttextNoRecords={textNoRecords}\r\n\t\t\t\t\t\t\t\tenableMultiRowSelection={enableMultiRowSelection}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</TableBody>\r\n\t\t\t\t\t</Table>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<DataTableFooter\r\n\t\t\t\thidePagination={hidePagination}\r\n\t\t\t\tdisablePagination={disablePagination}\r\n\t\t\t\tisLoading={isLoading}\r\n\t\t\t\ttotalRows={totalRows}\r\n\t\t\t\ttotalPages={totalPages}\r\n\t\t\t\tcurrentPage={currentPage}\r\n\t\t\t\tpagination={pagination}\r\n\t\t\t\thandlePageSize={handlePageSize}\r\n\t\t\t\thandlePage={handlePage}\r\n\t\t\t\tpreviousPage={{ action: () => table.previousPage(), disabled: !table.getCanPreviousPage() }}\r\n\t\t\t\tnextPage={{ action: () => table.nextPage(), disabled: !table.getCanNextPage() }}\r\n\t\t\t\texportData={exportData}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import * as React from 'react';\r\n\r\ninterface SidebarItemTwoLinesProps {\r\n\titem: {\r\n\t\ticonLeft: React.ReactNode;\r\n\t\ttitle: string;\r\n\t\tsubTitle: string;\r\n\t\ticonRight?: React.ReactNode | null;\r\n\t};\r\n}\r\n\r\nconst SidebarItemTwoLines = ({ item }: SidebarItemTwoLinesProps) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className='[&_svg]:size-4 text-white'>{item.iconLeft}</div>\r\n\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\r\n\t\t\t\t<span className='truncate font-semibold'>{item.title}</span>\r\n\t\t\t\t<span className='truncate text-xs text-foreground'>{item.subTitle}</span>\r\n\t\t\t</div>\r\n\t\t\t{item.iconRight}\r\n\t\t</>\r\n\t);\r\n};\r\n\r\nexport default SidebarItemTwoLines;\r\n","import { Check, ChevronsUpDown } from 'lucide-react';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\r\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\r\nimport { Module } from './types/sidebar';\r\n\r\ninterface ModuleSwitcherProps {\r\n\tmodules: Module[];\r\n\tactiveModule: Module | undefined;\r\n\tonModuleChange: (module: Module) => void;\r\n}\r\n\r\nconst ModuleSwitcher = ({ modules, activeModule, onModuleChange }: ModuleSwitcherProps) => {\r\n\tconst { isMobile } = useSidebar();\r\n\r\n\treturn modules.length === 1 ? (\r\n\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t<SidebarItemTwoLines\r\n\t\t\t\titem={{\r\n\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>,\r\n\t\t\t\t\ttitle: activeModule?.title ?? '',\r\n\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t</SidebarMenuButton>\r\n\t) : (\r\n\t\t<SidebarMenu>\r\n\t\t\t<SidebarMenuItem>\r\n\t\t\t\t<DropdownMenu>\r\n\t\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\ticonLeft: (\r\n\t\t\t\t\t\t\t\t\t\t<div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{activeModule?.icon}</div>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\ttitle: activeModule?.title ?? '',\r\n\t\t\t\t\t\t\t\t\tsubTitle: activeModule?.subTitle ?? '',\r\n\t\t\t\t\t\t\t\t\ticonRight: <ChevronsUpDown size={16} />,\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' align='start' side={isMobile ? 'bottom' : 'right'} sideOffset={4}>\r\n\t\t\t\t\t\t{modules.map((module) => (\r\n\t\t\t\t\t\t\t<DropdownMenuItem key={`module-switcher-${module.value}`} onClick={() => onModuleChange?.(module)} className='gap-2 p-2'>\r\n\t\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\t\ticonLeft: <div className='flex p-[7.6px] items-center rounded-md bg-background-primary'>{module.icon}</div>,\r\n\t\t\t\t\t\t\t\t\t\ttitle: module.title,\r\n\t\t\t\t\t\t\t\t\t\tsubTitle: module.subTitle,\r\n\t\t\t\t\t\t\t\t\t\ticonRight: activeModule?.value === module.value ? <Check size={16} /> : null,\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t</DropdownMenuContent>\r\n\t\t\t\t</DropdownMenu>\r\n\t\t\t</SidebarMenuItem>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default ModuleSwitcher;\r\n","import { cn } from '../../../../lib/utils';\r\nimport { SidebarMenuButton } from '../../sidebar';\r\nimport { Module, SidebarPage } from './types/sidebar';\r\n\r\ninterface SidebarItemProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick?: (module: Module | null, path: string) => void;\r\n}\r\n\r\nconst SidebarButton = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuButton\r\n\t\t\tasChild\r\n\t\t\tclassName={cn(\r\n\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\r\n\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\r\n\t\t\t)}\r\n\t\t\ttooltip={item.title}\r\n\t\t\tonClick={() => onClick?.(item.module ?? null, item.path)}\r\n\t\t>\r\n\t\t\t<div>\r\n\t\t\t\t<div className='[&_svg]:size-4 text-sidebar-foreground'>{item.icon}</div>\r\n\t\t\t\t<span>{item.title}</span>\r\n\t\t\t</div>\r\n\t\t</SidebarMenuButton>\r\n\t);\r\n};\r\n\r\nexport default SidebarButton;\r\n","import { SidebarMenuItem } from '../../sidebar';\r\nimport SidebarButton from './sidebar-button';\r\nimport { Module, SidebarPage } from './types/sidebar';\r\n\r\ninterface SidebarItemProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick?: (module: Module | null, path: string) => void;\r\n}\r\n\r\nconst SidebarItem = ({ item, selectedRoute, onClick }: SidebarItemProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuItem>\r\n\t\t\t<SidebarButton item={item} selectedRoute={selectedRoute} onClick={onClick} />\r\n\t\t</SidebarMenuItem>\r\n\t);\r\n};\r\n\r\nexport default SidebarItem;\r\n","import { useLocation, useNavigate } from 'react-router-dom';\r\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\r\nimport SidebarItem from './sidebar-item';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavFooterProps {\r\n\tpages: SidebarPage[];\r\n}\r\n\r\nconst NavFooter = ({pages}: NavFooterProps) => {\r\n\tconst navigate = useNavigate();\r\n\tconst location = useLocation();\r\n\tconst selectedRoutePath = location.pathname;\r\n\r\n\treturn (\r\n\t\t<SidebarGroup className='p-0'>\r\n\t\t\t<SidebarGroupContent>\r\n\t\t\t\t<SidebarMenu>\r\n\t\t\t\t\t{pages.map((item) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<SidebarItem\r\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\r\n\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</SidebarMenu>\r\n\t\t\t</SidebarGroupContent>\r\n\t\t</SidebarGroup>\r\n\t);\r\n};\r\n\r\nexport default NavFooter;\r\n","import { ChevronRight } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../collapsible';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, useSidebar } from '../../sidebar';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavSubmenuCollapsibleProps {\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick: (path: string) => void;\r\n}\r\n\r\nconst NavSubmenuCollapsible = ({ item, selectedRoute, onClick }: NavSubmenuCollapsibleProps) => {\r\n\tconst { open, toggleSidebar } = useSidebar();\r\n\r\n\tconst isOpen = (): boolean => {\r\n\t\treturn selectedRoute?.includes(item.path) ?? false;\r\n\t};\r\n\r\n\tconst handleToggleSidebar = () => {\r\n\t\tif (!open) toggleSidebar();\r\n\t};\r\n\r\n\treturn (\r\n\t\t<SidebarMenu>\r\n\t\t\t<Collapsible key={item.title} asChild defaultOpen={isOpen()}>\r\n\t\t\t\t<SidebarMenuItem>\r\n\t\t\t\t\t<CollapsibleTrigger asChild className='group/collapsible'>\r\n\t\t\t\t\t\t<SidebarMenuButton tooltip={item.title} className='px-2 py-5 gap-3' onClick={() => handleToggleSidebar()}>\r\n\t\t\t\t\t\t\t{item.icon}\r\n\t\t\t\t\t\t\t<span>{item.title}</span>\r\n\t\t\t\t\t\t\t<ChevronRight className='ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90' />\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</CollapsibleTrigger>\r\n\t\t\t\t\t<CollapsibleContent>\r\n\t\t\t\t\t\t<SidebarMenuSub>\r\n\t\t\t\t\t\t\t{item.subMenuItems\r\n\t\t\t\t\t\t\t\t?.map((subItem) => (\r\n\t\t\t\t\t\t\t\t\t<SidebarMenuSubItem key={subItem.label}>\r\n\t\t\t\t\t\t\t\t\t\t<SidebarMenuSubButton asChild onClick={() => onClick(subItem.path)} aria-disabled={subItem.disabled}>\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'cursor-pointer px-2 py-1 items-center self-stretch',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{subItem.label}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</SidebarMenuSubButton>\r\n\t\t\t\t\t\t\t\t\t</SidebarMenuSubItem>\r\n\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t</SidebarMenuSub>\r\n\t\t\t\t\t</CollapsibleContent>\r\n\t\t\t\t</SidebarMenuItem>\r\n\t\t\t</Collapsible>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default NavSubmenuCollapsible;\r\n","import { ChevronRight } from 'lucide-react';\r\nimport { cn } from '../../../../lib/utils';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenuButton, SidebarMenuItem } from '../../sidebar';\r\nimport { SidebarPage } from './types/sidebar';\r\n\r\ninterface NavSubmenuDropdownProps {\r\n\tcols?: number;\r\n\titem: SidebarPage;\r\n\tselectedRoute: string | null;\r\n\tonClick: (path: string) => void;\r\n}\r\n\r\nconst NavSubmenuDropdown = ({ cols, item, selectedRoute, onClick }: NavSubmenuDropdownProps) => {\r\n\treturn (\r\n\t\t<SidebarMenuItem>\r\n\t\t\t<DropdownMenu>\r\n\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t<SidebarMenuButton\r\n\t\t\t\t\t\tasChild\r\n\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t'data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground hover:bg-sidebar-accent px-2 py-5 gap-3 cursor-pointer',\r\n\t\t\t\t\t\t\tselectedRoute?.includes(item.path) ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\ttooltip={item.title}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t{item.icon}\r\n\t\t\t\t\t\t\t<span>{item.title}</span>\r\n\t\t\t\t\t\t\t{<ChevronRight className='ml-auto' />}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t<DropdownMenuContent className={`grid grid-cols-${cols ?? '1'} gap-4 p-4`} align='start' side='right' sideOffset={4}>\r\n\t\t\t\t\t{item.subMenuItems\r\n\t\t\t\t\t\t?.map((subItem, index) => (\r\n\t\t\t\t\t\t\t<DropdownMenuItem\r\n\t\t\t\t\t\t\t\tkey={`${index}`}\r\n\t\t\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\t\t'flex flex-col items-start text-left max-w-[220px] gap-1 cursor-pointer',\r\n\t\t\t\t\t\t\t\t\tselectedRoute === subItem.path ? 'bg-sidebar-accent' : '',\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\tonClick={() => onClick(subItem.path)}\r\n\t\t\t\t\t\t\t\tdisabled={subItem.disabled}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<div className='text-sm font-semibold'>{subItem.label}</div>\r\n\t\t\t\t\t\t\t\t<div className='text-sm text-muted-foreground'>{subItem.description}</div>\r\n\t\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t</DropdownMenuContent>\r\n\t\t\t</DropdownMenu>\r\n\t\t</SidebarMenuItem>\r\n\t);\r\n};\r\n\r\nexport default NavSubmenuDropdown;\r\n","export const SidebarSubmenuType = {\r\n\tCOLLAPSIBLE: 'collapsible',\r\n\t// Deprecated: Use COLLAPSIBLE instead\r\n\tDROPDOWN: 'dropdown',\r\n} as const;\r\nexport type SidebarSubmenuType = (typeof SidebarSubmenuType)[keyof typeof SidebarSubmenuType];\r\n\r\nexport interface Module {\r\n\tvalue: string;\r\n\tpath: string;\r\n\ttitle: string;\r\n\ticon: React.ReactNode;\r\n\tsubTitle: string;\r\n}\r\n\r\nexport interface SidebarPage {\r\n\tmodule: Module;\r\n\tpath: string;\r\n\ticon?: React.ReactNode;\r\n\ttitle: string;\r\n\thideSidebar: boolean;\r\n\tdisplayOnlyresellerIsAdm?: boolean;\r\n\tsubMenuType?: SidebarSubmenuType;\r\n\tsubMenuItems?: {\r\n\t\tlabel: string;\r\n\t\tdescription?: string;\r\n\t\tpath: string;\r\n\t\tdisplayOnlyresellerIsAdm?: boolean;\r\n\t\tdisabled?: boolean;\r\n\t}[];\r\n}\r\n","import { useIsMobile } from '@/hooks/use-mobile';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { SidebarGroup, SidebarGroupContent, SidebarMenu } from '../../sidebar';\r\nimport NavSubmenuCollapsible from './nav-submenu-collapsible';\r\nimport NavSubmenuDropdown from './nav-submenu-dropdown';\r\nimport SidebarItem from './sidebar-item';\r\nimport { SidebarPage, SidebarSubmenuType } from './types/sidebar';\r\n\r\ninterface NavMainProps {\r\n\tpages: SidebarPage[];\r\n}\r\n\r\nconst NavMain = ({pages}: NavMainProps) => {\r\n\tconst navigate = useNavigate();\r\n\tconst location = useLocation();\r\n\tconst isMobile = useIsMobile();\r\n\tconst selectedRoutePath = location.pathname;\r\n\r\n\treturn (\r\n\t\t<SidebarGroup>\r\n\t\t\t<SidebarGroupContent>\r\n\t\t\t\t<SidebarMenu>\r\n\t\t\t\t\t{pages.map((item) => {\r\n\t\t\t\t\t\tif (item.subMenuType) {\r\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.COLLAPSIBLE || isMobile) {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t<NavSubmenuCollapsible\r\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-collapsible-${item.path}`}\r\n\t\t\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t// Deprecated: Use COLLAPSIBLE instead\r\n\t\t\t\t\t\t\tif (item.subMenuType === SidebarSubmenuType.DROPDOWN) {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t<NavSubmenuDropdown\r\n\t\t\t\t\t\t\t\t\t\tkey={`sidebar-submenu-dropdown-${item.path}`}\r\n\t\t\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\t\t\tonClick={(path) => navigate(path)}\r\n\t\t\t\t\t\t\t\t\t\tcols={3}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<SidebarItem\r\n\t\t\t\t\t\t\t\tkey={`sidebar-menu-main-${item.path}`}\r\n\t\t\t\t\t\t\t\titem={item}\r\n\t\t\t\t\t\t\t\tselectedRoute={selectedRoutePath}\r\n\t\t\t\t\t\t\t\tonClick={() => navigate(item.path)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</SidebarMenu>\r\n\t\t\t</SidebarGroupContent>\r\n\t\t</SidebarGroup>\r\n\t);\r\n};\r\n\r\nexport default NavMain;\r\n","import { LoaderCircle, LogOut } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { Avatar, AvatarFallback, AvatarImage } from '../../avatar';\r\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger } from '../../dropdown-menu';\r\nimport { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '../../sidebar';\r\nimport SidebarItemTwoLines from './sidebar-item-two-lines';\r\n\r\ninterface NavUserProps {\r\n userName: string;\r\n userEmail: string;\r\n userInitials: string;\r\n callbackLogout: () => void;\r\n}\r\n\r\nconst NavUser = ({userName, userEmail, userInitials, callbackLogout}: NavUserProps) => {\r\n\tconst [isLoggingOut, setIsLoggingOut] = useState(false);\r\n\tconst { isMobile } = useSidebar();\r\n\r\n\tconst handleLogout = () => {\r\n\t\tsetIsLoggingOut(true);\r\n\t\tsetTimeout(() => {\r\n\t\t\tcallbackLogout();\r\n\t\t}, 1000);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<SidebarMenu>\r\n\t\t\t<SidebarMenuItem>\r\n\t\t\t\t<DropdownMenu>\r\n\t\t\t\t\t<DropdownMenuTrigger asChild>\r\n\t\t\t\t\t\t<SidebarMenuButton size='lg' className='data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground'>\r\n\t\t\t\t\t\t\t<SidebarItemTwoLines\r\n\t\t\t\t\t\t\t\titem={{\r\n\t\t\t\t\t\t\t\t\ticonLeft: (\r\n\t\t\t\t\t\t\t\t\t\t<Avatar className='h-[31px] w-[31px] rounded-md'>\r\n\t\t\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\r\n\t\t\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-md bg-background-primary text-white'>{userInitials}</AvatarFallback>\r\n\t\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\ttitle: isLoggingOut ? 'Saindo...' : userName,\r\n\t\t\t\t\t\t\t\t\tsubTitle: isLoggingOut ? '' : userEmail,\r\n\t\t\t\t\t\t\t\t\ticonRight: isLoggingOut ? (\r\n\t\t\t\t\t\t\t\t\t\t<LoaderCircle size={16} className='text-sidebar-foreground animate-spin mr-2' />\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<LogOut size={16} className='text-sidebar-foreground' />\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</SidebarMenuButton>\r\n\t\t\t\t\t</DropdownMenuTrigger>\r\n\t\t\t\t\t<DropdownMenuContent className='w-[250px] rounded-lg' side={isMobile ? 'bottom' : 'right'} align='end' sideOffset={4}>\r\n\t\t\t\t\t\t<DropdownMenuLabel className='p-0 font-normal'>\r\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\r\n\t\t\t\t\t\t\t\t<Avatar className='h-8 w-8 rounded-lg'>\r\n\t\t\t\t\t\t\t\t\t<AvatarImage src={userInitials} alt={userName} />\r\n\t\t\t\t\t\t\t\t\t<AvatarFallback className='rounded-lg bg-background-primary text-white'>{userInitials}</AvatarFallback>\r\n\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t<div className='grid flex-1 text-left text-sm leading-tight'>\r\n\t\t\t\t\t\t\t\t\t<span className='truncate font-semibold'>{userName}</span>\r\n\t\t\t\t\t\t\t\t\t<span className='truncate text-xs'>{userEmail}</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</DropdownMenuLabel>\r\n\t\t\t\t\t\t<DropdownMenuItem className='p-0 font-normal cursor-pointer' onClick={() => handleLogout()}>\r\n\t\t\t\t\t\t\t<div className='flex items-center gap-2 px-1 py-1.5 text-left text-sm'>\r\n\t\t\t\t\t\t\t\t<div className='flex w-8 h-8 p-2 items-center rounded-md'>{<LogOut size={16} />}</div>\r\n\t\t\t\t\t\t\t\tLog out\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</DropdownMenuItem>\r\n\t\t\t\t\t</DropdownMenuContent>\r\n\t\t\t\t</DropdownMenu>\r\n\t\t\t</SidebarMenuItem>\r\n\t\t</SidebarMenu>\r\n\t);\r\n};\r\n\r\nexport default NavUser;\r\n","import { ReactNode, useEffect, useRef } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport LoadingBar, { LoadingBarRef } from 'react-top-loading-bar';\r\nimport { getTailwindColorShades, TailwindColorName } from '../../../lib/help/theme';\r\nimport { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../breadcrumb';\r\nimport { SidebarTrigger } from '../sidebar';\r\nimport { Module, SidebarPage } from './sidebar/types/sidebar';\r\nimport { DEFAULT_THEME_DATA, useTheme } from './theme-provider';\r\n\r\nconst Header = ({\r\n\tsplittedPath,\r\n\tmodules,\r\n\tpages,\r\n\tisLoading,\r\n\tcombobox,\r\n}: { splittedPath: string[]; modules: Module[]; pages: SidebarPage[]; isLoading: boolean; combobox: ReactNode }) => {\r\n\tconst { portalDefinitions } = useTheme();\r\n\tconst navigate = useNavigate();\r\n\tconst refProgressLoading = useRef<LoadingBarRef>(null);\r\n\tconst lastPage = splittedPath[splittedPath.length - 1];\r\n\r\n\tuseEffect(() => {\r\n\t\tisLoading ? refProgressLoading.current?.start() : refProgressLoading.current?.complete();\r\n\t}, [isLoading]);\r\n\r\n\tconst setRouter = (path: string) => {\r\n\t\tnavigate(path);\r\n\t};\r\n\r\n\tconst getPath = (index: number) => {\r\n\t\tlet path = '';\r\n\r\n\t\tfor (let i = 0; i <= index; i++) {\r\n\t\t\tpath += `/${splittedPath[i]}`;\r\n\t\t}\r\n\r\n\t\treturn path;\r\n\t};\r\n\r\n\tconst getLinkSidebar = (index: number) => {\r\n\t\treturn pages.find((item) => item.path === getPath(index));\r\n\t};\r\n\r\n\tconst getSubMenuItem = (index: number) => {\r\n\t\treturn pages.flatMap((item) => item.subMenuItems || []).find((sub) => sub.path === getPath(index));\r\n\t};\r\n\r\n\tconst getModule = (page: string) => {\r\n\t\tconst module = modules.find((mod) => mod.value === page);\r\n\t\tif (!module) {\r\n\t\t\treturn page;\r\n\t\t}\r\n\r\n\t\treturn module?.title;\r\n\t};\r\n\r\n\tconst getTitle = (index: number) => {\r\n\t\tconst linkSidebar = getLinkSidebar(index);\r\n\t\tconst subMenuItem = getSubMenuItem(index);\r\n\r\n\t\tif (subMenuItem) {\r\n\t\t\treturn subMenuItem.label;\r\n\t\t}\r\n\r\n\t\treturn linkSidebar?.title;\r\n\t};\r\n\r\n\tconst renderBreadcrumbPage = (index: number) => {\r\n\t\treturn <BreadcrumbPage>{getTitle(index)}</BreadcrumbPage>;\r\n\t};\r\n\r\n\tconst renderBreadcrumbLink = (page: string, index: number) => {\r\n\t\tconst linkSidebar = getLinkSidebar(index);\r\n\r\n\t\treturn linkSidebar?.subMenuType ? (\r\n\t\t\trenderBreadcrumbPage(index)\r\n\t\t) : (\r\n\t\t\t<BreadcrumbLink onClick={() => setRouter(getPath(index))} className='cursor-pointer'>\r\n\t\t\t\t{index === 0 ? getModule(page) : getTitle(index)}\r\n\t\t\t</BreadcrumbLink>\r\n\t\t);\r\n\t};\r\n\r\n\tconst renderBreadcrumbItens = () => {\r\n\t\tconst breadcrumbItems: JSX.Element[] = [];\r\n\r\n\t\tsplittedPath.map((page, index) => {\r\n\t\t\tbreadcrumbItems.push(\r\n\t\t\t\t<BreadcrumbItem key={`breadcrumb-item-${index}`}>\r\n\t\t\t\t\t{page === lastPage ? renderBreadcrumbPage(index) : renderBreadcrumbLink(page, index)}\r\n\t\t\t\t</BreadcrumbItem>,\r\n\t\t\t);\r\n\t\t\tif (page !== lastPage) {\r\n\t\t\t\tbreadcrumbItems.push(<BreadcrumbSeparator key={`breadcrumb-separator-${index}`} className='mt-[1px]' />);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn breadcrumbItems;\r\n\t};\r\n\r\n\tconst getColorLoadingBar = () => {\r\n\t\tconst colorShades = getTailwindColorShades();\r\n\t\tconst tailwindColor = portalDefinitions?.mvnoPrimaryColor || DEFAULT_THEME_DATA.mvnoPrimaryColor;\r\n\t\tconst isValidColor = (color: string): color is TailwindColorName => color in colorShades;\r\n\t\tconst colorPallete = isValidColor(tailwindColor) ? colorShades[tailwindColor] : colorShades.violet;\r\n\t\treturn colorPallete[900];\r\n\t};\r\n\r\n\treturn (\r\n\t\t<header className='flex flex-col justify-between items-center w-full'>\r\n\t\t\t<div className='flex justify-between items-center py-3 px-5 w-full'>\r\n\t\t\t\t<div className='flex items-center gap-x-2 h-[40px]'>\r\n\t\t\t\t\t<SidebarTrigger className='p-5' />\r\n\t\t\t\t\t<div className='p-2'>\r\n\t\t\t\t\t\t<Breadcrumb>\r\n\t\t\t\t\t\t\t<BreadcrumbList>{renderBreadcrumbItens()}</BreadcrumbList>\r\n\t\t\t\t\t\t</Breadcrumb>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className='flex items-center'>{combobox}</div>\r\n\t\t\t</div>\r\n\t\t\t{<LoadingBar ref={refProgressLoading} color={getColorLoadingBar()} height={7} />}\r\n\t\t</header>\r\n\t);\r\n};\r\n\r\nexport default Header;\r\n","import { Copy } from 'lucide-react';\r\nimport React from 'react';\r\nimport { cn } from '../../../lib/utils';\r\nimport { Button } from '../button';\r\nimport { Skeleton } from '../skeleton';\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip';\r\nimport { toast } from '../use-toast';\r\n\r\ninterface LabelWithTitleProps {\r\n\ttitle: string;\r\n\tvalue: string;\r\n\tvalue2?: string;\r\n\trequired?: boolean;\r\n\tshowCopyIcon?: boolean;\r\n\tclassName?: string;\r\n\tisLoading?: boolean;\r\n}\r\n\r\nconst LabelWithTitle: React.FC<LabelWithTitleProps> = ({ title, value, value2, required, showCopyIcon = false, className, isLoading }) => {\r\n\tconst handleCopy = () => {\r\n\t\tif (showCopyIcon && value) {\r\n\t\t\tnavigator.clipboard.writeText(`${value}${value2 ?? ''}`);\r\n\t\t\ttoast({\r\n\t\t\t\ttitle: `\"${value}${value2 ?? ''}\" foi copiado para a área de transferência.`,\r\n\t\t\t\tvariant: 'success',\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className={cn('flex group', className)}>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t'flex flex-col text-sm w-full',\r\n\t\t\t\t\tshowCopyIcon ? 'p-1 rounded-md transition-colors group-hover:bg-sidebar-accent' : 'p-1',\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t<div className='relative'>\r\n\t\t\t\t\t<div className='flex items-center text-sm font-medium gap-0.5'>\r\n\t\t\t\t\t\t<label className='text-default truncate'>{title}</label>\r\n\t\t\t\t\t\t{required && <div className='text-red-500 truncate'>*</div>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\r\n\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value}</div>}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t{value2 && (\r\n\t\t\t\t\t\t<div className='grid flex-1 items-center pt-1'>\r\n\t\t\t\t\t\t\t{isLoading ? <Skeleton className='h-5 w-full rounded-lg' /> : <div className='text-zinc-500 truncate'>{value2}</div>}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t'pr-1 absolute top-1/2 right-0 -translate-y-1/2 opacity-0 transition-opacity',\r\n\t\t\t\t\t\t\tshowCopyIcon && 'group-hover:opacity-100',\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<TooltipProvider>\r\n\t\t\t\t\t\t\t<Tooltip>\r\n\t\t\t\t\t\t\t\t<TooltipTrigger asChild>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tvariant='ghost'\r\n\t\t\t\t\t\t\t\t\t\ttype='button'\r\n\t\t\t\t\t\t\t\t\t\tclassName={cn('p-1 h-8', !showCopyIcon && 'cursor-default')}\r\n\t\t\t\t\t\t\t\t\t\tonClick={handleCopy}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<Copy size={16} />\r\n\t\t\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t\t\t</TooltipTrigger>\r\n\t\t\t\t\t\t\t\t<TooltipContent>Copiar</TooltipContent>\r\n\t\t\t\t\t\t\t</Tooltip>\r\n\t\t\t\t\t\t</TooltipProvider>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default LabelWithTitle;\r\n","import { BarChart2 } from 'lucide-react';\r\nimport { Button } from '../button';\r\n\r\nconst NotFound = () => {\r\n\treturn (\r\n\t\t<div className=\"flex flex-col items-center justify-center h-screen bg-[url('/imgs/404.png')] bg-cover bg-no-repeat bg-center\">\r\n\t\t\t<div className='flex flex-col items-center justify-center gap-8 w-[424px]'>\r\n\t\t\t\t<div className='flex flex-col items-center w-full'>\r\n\t\t\t\t\t<div className='text-5xl font-extrabold'>404</div>\r\n\t\t\t\t\t<div className='text-3xl font-semibold'>Página Indisponível</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className='flex text-center text-xl font-semibold text-zinc-500'>\r\n\t\t\t\t\tA página que você está tentando acessar se encontra indisponível no momento, tente novamente mais tarde\r\n\t\t\t\t</div>\r\n\t\t\t\t<div className='flex justify-center w-full'>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\twindow.location.href = '/';\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tclassName='[&_svg]:size-5'\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<BarChart2 />\r\n\t\t\t\t\t\tVoltar Para Inicial\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n};\r\nexport default NotFound;\r\n","export function isUUIDv4(str: string): boolean {\r\n\tconst uuidV4Regex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n\treturn uuidV4Regex.test(str);\r\n}\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["_jsx","_jsxs","_Fragment","CommandPrimitive","DrawerPrimitive","format","React","getYear","CalendarIcon","getMonth","CalendarComponent","classBorderColor","SheetPrimitive","Popover","PopoverTrigger","PopoverContent","masks","Select"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGM,SAAU,EAAE,CAAC,GAAG,MAAoB,EAAA;AACzC,IAAA,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B;;ACCA,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,kBAAkB,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAC1H,aAAa,CAAC,WAAW,GAAG,eAAe;AAE3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACxCA,GAAA,CAAC,kBAAkB,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EAC1CC,IAAA,CAAC,kBAAkB,CAAC,OAAO,EAAA,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,6GAA6G,EAAE,SAAS,CAAC,EAAA,GACnI,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,oDAAoD,EAAA,CAAG,CAAA,EAAA,CAClD,EAAA,CACF,CAC5B;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW;AAErE,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACxCA,GAAA,CAAC,kBAAkB,CAAC,OAAO,IAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,0HAA0H,EAAA,GAChI,KAAK,EAAA,QAAA,EAETA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAO,EAAA,CAC/B,CAC7B;AAED,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW;;ACxCrE,MAAM,aAAa,GAAG,GAAG,CACxB,2JAA2J,EAC3J;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,+BAA+B;AACxC,YAAA,WAAW,EAAE,yFAAyF;AACtG,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,KAAA;AACD,CAAA,CACD;AAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC7B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAE3I,KAAK,CAAC,WAAW,GAAG,OAAO;AAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAiE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChIA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,8CAA8C,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACrG;AACD,UAAU,CAAC,WAAW,GAAG,YAAY;AAErC,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAmE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACxIA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACvF;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;;AC3BjD,MAAM,cAAc,GAAG,GAAG,CACzB,2VAA2V,EAC3V;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,wFAAwF;AACjG,YAAA,SAAS,EAAE,qFAAqF;AAChG,YAAA,WAAW,EAAE,oFAAoF;AACjG,YAAA,OAAO,EAAE,oGAAoG;AAC7G,YAAA,KAAK,EAAE,kEAAkE;AACzE,YAAA,IAAI,EAAE,qEAAqE;AAC3E,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,EAAE,EAAE,qBAAqB;AACzB,YAAA,EAAE,EAAE,sBAAsB;AAC1B,YAAA,IAAI,EAAE,WAAW;AACjB,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,KAAA;AACD,CAAA;AAOF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAiC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAChI,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;IACtC,OAAOA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAA,CAAI;AAClG,CAAC;AACD,MAAM,CAAC,WAAW,GAAG,QAAQ;;AClC7B,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM;AAErD,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,OAAO,EAAA,EAC3B,SAAS,EAAE,EAAE,CACX,yJAAyJ,EACzJ,SAAS,CACV,EAAA,GACG,KAAK,EACT,GAAG,EAAE,GAAG,EAAA,CACR,CACH,CAAC;AACF,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW;AAEzE,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BC,IAAA,CAAC,iBAAiB,EAAA,EAAA,QAAA,EAAA,CAChBD,GAAA,CAAC,kBAAkB,KAAG,EACtBA,GAAA,CAAC,oBAAoB,CAAC,OAAO,IAC3B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6fAA6f,EAC7f,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CAAA,EAAA,CACgB,CACrB;AACD,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW;AAEzE,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EAC6B,MACrCA,aACE,SAAS,EAAE,EAAE,CACX,kDAAkD,EAClD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEJ,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,iBAAiB,GAAG,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EAC6B,MACrCA,aACE,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEJ,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,KAAK,EAAA,EACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAA,GAC7C,KAAK,EAAA,CACT,CACH;AACD,gBAAgB,CAAC,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW;AAErE,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,WAAW,EAAA,EAC/B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GACrD,KAAK,EAAA,CACT,CACH;AACD,sBAAsB,CAAC,WAAW;AAChC,IAAA,oBAAoB,CAAC,WAAW,CAAC,WAAW;AAE5C,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAK1C,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAClDA,GAAA,CAAC,oBAAoB,CAAC,MAAM,EAAA,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KACjD,KAAK,EAAA,CACT,CACH;AAED,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,WAAW;AAGvE,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAKxC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAClDA,GAAA,CAAC,oBAAoB,CAAC,MAAM,IAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,cAAc,EACd,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AAED,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,WAAW;;AC7HvE,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAG7B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,eAAe,CAAC,IAAI,EAAA,EACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW;AAErD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,EAAA,GACnD,KAAK,EAAA,CACT,CACH;AACD,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW;AAE3D,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,sEAAsE,EACtE,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW;;ACzCjE,MAAM,aAAa,GAAG,GAAG,CACxB,wKAAwK,EACxK;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,kEAAkE;AAC3E,YAAA,SAAS,EAAE,sEAAsE;AACjF,YAAA,OAAO,EAAE,gDAAgD;AACzD,YAAA,WAAW,EAAE,+DAA+D;AAC5E,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,KAAK,EAAE,iDAAiD;AACxD,YAAA,GAAG,EAAE,2CAA2C;AAChD,YAAA,IAAI,EAAE,8CAA8C;AACpD,YAAA,IAAI,EAAE,6CAA6C;AACnD,YAAA,MAAM,EAAE,iDAAiD;AACzD,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,KAAA;AACD,CAAA;AAKF,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAc,EAAA;AAC1D,IAAA,OAAOA,aAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAChF;;ACzBA,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAKjC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAA,YAAA,EAAa,YAAY,EAAA,GAAK,KAAK,EAAA,CAAI;AAC7E,UAAU,CAAC,WAAW,GAAG,YAAY;AAErC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAA,IAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,EAAA,GACxD,KAAK,EAAA,CACT,CACH;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAKrC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC1C,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG;IAEjC,QACEA,IAAC,IAAI,EAAA,EACH,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,KAC/D,KAAK,EAAA,CACT;AAEN,CAAC;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,cACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EAAA,eAAA,EACG,MAAM,EAAA,cAAA,EACP,MAAM,EACnB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,EAAA,CACT,CACH;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,mBAAmB,GAAG,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACmB,MAC3BA,GAAA,CAAA,IAAA,EAAA,EACE,IAAI,EAAC,cAAc,EAAA,aAAA,EACP,MAAM,EAClB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,EAAA,GACnD,KAAK,EAAA,QAAA,EAER,QAAQ,IAAIA,GAAA,CAAC,YAAY,EAAA,EAAA,CAAG,EAAA,CAC1B;AAEP,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;AAEvD,MAAM,kBAAkB,GAAG,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACqB,MAC7BC,eACE,IAAI,EAAC,cAAc,EAAA,aAAA,EACP,MAAM,EAClB,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,SAAS,CAAC,EAAA,GAChE,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACtCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,MAAA,EAAA,CAAY,CAAA,EAAA,CAChC;AAET,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;;AClGrD,SAAS,QAAQ,CAAC,EACjB,SAAS,EACT,UAAU,EACV,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,OAAO,EACvB,aAAa,GAAG,OAAO,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EAGR,EAAA;AACA,IAAA,MAAM,iBAAiB,GAAG,oBAAoB,EAAE;AAEhD,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,EAAE,CACZ,gJAAgJ,EAChJ,MAAM,CAAC,GAAG,CAAA,CAAA,yCAAA,CAA2C,EACrD,MAAM,CAAC,GAAG,CAAA,CAAA,6CAAA,CAA+C,EACzD,SAAS,CACT,EACD,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE;AACX,YAAA,mBAAmB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AACjF,YAAA,GAAG,UAAU;AACb,SAAA,EACD,UAAU,EAAE;YACX,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACzC,MAAM,EAAE,EAAE,CAAC,0CAA0C,EAAE,iBAAiB,CAAC,MAAM,CAAC;YAChF,KAAK,EAAE,EAAE,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAChE,GAAG,EAAE,EAAE,CAAC,yEAAyE,EAAE,iBAAiB,CAAC,GAAG,CAAC;AACzG,YAAA,eAAe,EAAE,EAAE,CAClB,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAC1C,0EAA0E,EAC1E,iBAAiB,CAAC,eAAe,CACjC;AACD,YAAA,WAAW,EAAE,EAAE,CACd,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAC1C,0EAA0E,EAC1E,iBAAiB,CAAC,WAAW,CAC7B;YACD,aAAa,EAAE,EAAE,CAAC,0EAA0E,EAAE,iBAAiB,CAAC,aAAa,CAAC;YAC9H,SAAS,EAAE,EAAE,CAAC,qFAAqF,EAAE,iBAAiB,CAAC,SAAS,CAAC;YACjI,aAAa,EAAE,EAAE,CAChB,qHAAqH,EACrH,iBAAiB,CAAC,aAAa,CAC/B;YACD,QAAQ,EAAE,EAAE,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,QAAQ,CAAC;AACtE,YAAA,aAAa,EAAE,EAAE,CAChB,yBAAyB,EACzB,aAAa,KAAK;AACjB,kBAAE;AACF,kBAAE,yGAAyG,EAC5G,iBAAiB,CAAC,aAAa,CAC/B;AACD,YAAA,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YAChD,OAAO,EAAE,EAAE,CAAC,+EAA+E,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACvH,IAAI,EAAE,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpD,kBAAkB,EAAE,EAAE,CAAC,6BAA6B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;YAC3F,WAAW,EAAE,EAAE,CAAC,iDAAiD,EAAE,iBAAiB,CAAC,WAAW,CAAC;YACjG,GAAG,EAAE,EAAE,CACN,+LAA+L,EAC/L,iBAAiB,CAAC,GAAG,CACrB;YACD,WAAW,EAAE,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,WAAW,CAAC;YACxE,YAAY,EAAE,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAChE,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE,EAAE,CAAC,+EAA+E,EAAE,iBAAiB,CAAC,KAAK,CAAC;YACnH,OAAO,EAAE,EAAE,CAAC,2DAA2D,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACnG,QAAQ,EAAE,EAAE,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YAC5E,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC;AACjD,YAAA,GAAG,UAAU;AACb,SAAA,EACD,UAAU,EAAE;YACX,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,KAAI;AAC1C,gBAAA,OAAOA,0BAAe,UAAU,EAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;YACvF,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,KAAI;AACjD,gBAAA,IAAI,WAAW,KAAK,MAAM,EAAE;AAC3B,oBAAA,OAAOA,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;gBAC1E;AAEA,gBAAA,IAAI,WAAW,KAAK,OAAO,EAAE;AAC5B,oBAAA,OAAOA,GAAA,CAAC,gBAAgB,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;gBAC3E;AAEA,gBAAA,OAAOA,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;YAC1E,CAAC;AACD,YAAA,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,KAAI;AACtC,gBAAA,QACCA,GAAA,CAAA,IAAA,EAAA,EAAA,GAAQ,KAAK,EAAA,QAAA,EACZA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iEAAiE,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,EAAA,CAC7F;YAEP,CAAC;AACD,YAAA,GAAG,UAAU;SACb,EAAA,GACG,KAAK,EAAA,CACR;AAEJ;AAEA,SAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,EAA0C,EAAA;AACzG,IAAA,MAAM,iBAAiB,GAAG,oBAAoB,EAAE;IAEhD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC;AACjD,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;QACpB,IAAI,SAAS,CAAC,OAAO;AAAE,YAAA,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE;AAC5C,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAEvB,IAAA,QACCA,GAAA,CAAC,MAAM,EAAA,EACN,GAAG,EAAE,GAAG,EACR,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EAAA,UAAA,EACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,0BACjB,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,sBACnG,SAAS,CAAC,WAAW,EAAA,gBAAA,EACvB,SAAS,CAAC,SAAS,EAAA,mBAAA,EAChB,SAAS,CAAC,YAAY,EACzC,SAAS,EAAE,EAAE,CACZ,syBAAsyB,EACtyB,iBAAiB,CAAC,GAAG,EACrB,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ;;ACvIA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,0DAA0D,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAClH;AACD,IAAI,CAAC,WAAW,GAAG,MAAM;AAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACtHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAClE;AACD,UAAU,CAAC,WAAW,GAAG,YAAY;AAErC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACrHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAC5G;AACD,SAAS,CAAC,WAAW,GAAG,WAAW;AAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC3HA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACvF;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACnE;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACtHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAC/E;AACD,UAAU,CAAC,WAAW,GAAG,YAAY;;ACFrC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAA8B,IAAI,CAAC;AAE9E,SAAS,WAAW,GAAA;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;IACnE;AAEA,IAAA,OAAO,OAAO;AAChB;AAEA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAI/B,CACE,EACE,WAAW,GAAG,YAAY,EAC1B,IAAI,EACJ,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,gBAAgB,CACzC;AACE,QAAA,GAAG,IAAI;QACP,IAAI,EAAE,WAAW,KAAK,YAAY,GAAG,GAAG,GAAG,GAAG;KAC/C,EACD,OAAO,CACR;AACD,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC/D,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAE/D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAgB,KAAI;QACtD,IAAI,CAAC,GAAG,EAAE;YACR;QACF;AAEA,QAAA,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AACrC,QAAA,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QACxC,GAAG,EAAE,UAAU,EAAE;AACnB,IAAA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAET,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QACxC,GAAG,EAAE,UAAU,EAAE;AACnB,IAAA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAET,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,CAAC,KAA0C,KAAI;AAC7C,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;YAC7B,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,UAAU,EAAE;QACd;AAAO,aAAA,IAAI,KAAK,CAAC,GAAG,KAAK,YAAY,EAAE;YACrC,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,UAAU,EAAE;QACd;AACF,IAAA,CAAC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB;AAED,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACnB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE;YACnB;QACF;QAEA,MAAM,CAAC,GAAG,CAAC;AACb,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAEjB,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;QACnB,IAAI,CAAC,GAAG,EAAE;YACR;QACF;QAEA,QAAQ,CAAC,GAAG,CAAC;AACb,QAAA,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC1B,QAAA,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAE1B,QAAA,OAAO,MAAK;AACV,YAAA,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC9B,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEnB,IAAA,QACEA,GAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EACvB,KAAK,EAAE;YACL,WAAW;AACX,YAAA,GAAG,EAAE,GAAG;YACR,IAAI;AACJ,YAAA,WAAW,EACT,WAAW,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,GAAG,UAAU,GAAG,YAAY,CAAC;YACjE,UAAU;YACV,UAAU;YACV,aAAa;YACb,aAAa;AACd,SAAA,EAAA,QAAA,EAEDA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EACpC,IAAI,EAAC,QAAQ,EAAA,sBAAA,EACQ,UAAU,EAAA,GAC3B,KAAK,EAAA,QAAA,EAER,QAAQ,EAAA,CACL,EAAA,CACmB;AAE/B,CAAC;AAEH,QAAQ,CAAC,WAAW,GAAG,UAAU;AAEjC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAGtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACjC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;AAElD,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,WAAW,EAAE,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAChDA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,MAAM,EACN,WAAW,KAAK,YAAY,GAAG,OAAO,GAAG,gBAAgB,EACzD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,EAAA,CACE;AAEV,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACjC,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;AAErC,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,EAAA,sBAAA,EACS,OAAO,EAC5B,SAAS,EAAE,EAAE,CACX,oCAAoC,EACpC,WAAW,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,EAC9C,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACrE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE;IAEhE,QACEC,IAAA,CAAC,MAAM,EAAA,EACL,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,gCAAgC,EAChC,WAAW,KAAK;AACd,cAAE;AACF,cAAE,6CAA6C,EACjD,SAAS,CACV,EACD,QAAQ,EAAE,CAAC,aAAa,EACxB,OAAO,EAAE,UAAU,EAAA,GACf,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACjCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAsB,CAAA,EAAA,CACxC;AAEb,CAAC;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;AAEjD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACrE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE;IAEhE,QACEC,IAAA,CAAC,MAAM,EAAA,EACL,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,+BAA+B,EAC/B,WAAW,KAAK;AACd,cAAE;AACF,cAAE,gDAAgD,EACpD,SAAS,CACV,EACD,QAAQ,EAAE,CAAC,aAAa,EACxB,OAAO,EAAE,UAAU,EAAA,GACf,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,UAAU,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAClCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,CAAkB,CAAA,EAAA,CACpC;AAEb,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;;ACpPzC;AACA,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAW;AAgBpD,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAA2B,IAAI,CAAC;AAExE,SAAS,QAAQ,GAAA;IACf,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;AAEA,IAAA,OAAO,OAAO;AAChB;AAEA,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAQrC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACvD,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE;AAC9B,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;IAE3D,QACEA,GAAA,CAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAA,QAAA,EACtCC,4BACc,OAAO,EACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,upBAAupB,EACvpB,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,UAAU,EAAA,EAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAI,EAC3CA,GAAA,CAAC,iBAAiB,CAAC,mBAAmB,EAAA,EAAA,QAAA,EACnC,QAAQ,EAAA,CAC6B,CAAA,EAAA,CACpC,EAAA,CACgB;AAE5B,CAAC;AACD,cAAc,CAAC,WAAW,GAAG,OAAO;AAEpC,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAuC,KAAI;IACzE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC/C,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAC7C;AAED,IAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACvB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,QACEA,GAAA,CAAA,OAAA,EAAA;;AAEE,QAAA,uBAAuB,EAAE;AACvB,YAAA,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;iBAC1B,GAAG,CACF,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAA;AAC/B,EAAA,MAAM,gBAAgB,EAAE,CAAA;EACxB;iBACC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,KAAI;gBACzB,MAAM,KAAK,GACT,UAAU,CAAC,KAAK,GAAG,KAAsC,CAAC;oBAC1D,UAAU,CAAC,KAAK;AAClB,gBAAA,OAAO,KAAK,GAAG,CAAA,UAAA,EAAa,GAAG,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,CAAG,GAAG,IAAI;AACrD,YAAA,CAAC;iBACA,IAAI,CAAC,IAAI,CAAC,CAAA;;CAEZ;iBAEU,IAAI,CAAC,IAAI,CAAC;AACd,SAAA,EAAA,CACD;AAEN,CAAC;AAED,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAW1C,CACE,EACE,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,KAAK,EACL,cAAc,EACd,cAAc,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EACD,GAAG,KACD;AACF,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;AAE7B,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAK;AACtC,QAAA,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AACjC,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO;AACtB,QAAA,MAAM,GAAG,GAAG,CAAA,EAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE;QACjE,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;QACjE,MAAM,KAAK,GACT,CAAC,QAAQ,IAAI,OAAO,KAAK,KAAK;cAC1B,MAAM,CAAC,KAA4B,CAAC,EAAE,KAAK,IAAI;AACjD,cAAE,UAAU,EAAE,KAAK;QAEvB,IAAI,cAAc,EAAE;AAClB,YAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAA,QAAA,EAC9C,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAA,CAC3B;QAEV;QAEA,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAOA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAA,QAAA,EAAG,KAAK,EAAA,CAAO;AACzE,IAAA,CAAC,EAAE;QACD,KAAK;QACL,cAAc;QACd,OAAO;QACP,SAAS;QACT,cAAc;QACd,MAAM;QACN,QAAQ;AACT,KAAA,CAAC;IAEF,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAC/B,QAAA,OAAO,IAAI;IACb;IAEA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,KAAK,KAAK;AAE7D,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,wHAAwH,EACxH,SAAS,CACV,aAEA,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,EACjCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,cAAc,EAAA,QAAA,EAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC3B,oBAAA,MAAM,GAAG,GAAG,CAAA,EAAG,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;oBAChE,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;AACjE,oBAAA,MAAM,cAAc,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;AAE/D,oBAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,SAAS,KAAK,KAAK,IAAI,cAAc,CACtC,EAAA,QAAA,EAEA,SAAS,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,IAClD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAE3DC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,UAAU,EAAE,IAAI,IACfF,GAAA,CAAC,UAAU,CAAC,IAAI,EAAA,EAAA,CAAG,KAEnB,CAAC,aAAa,KACZA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE;wCACE,aAAa,EAAE,SAAS,KAAK,KAAK;wCAClC,KAAK,EAAE,SAAS,KAAK,MAAM;wCAC3B,iDAAiD,EAC/C,SAAS,KAAK,QAAQ;AACxB,wCAAA,QAAQ,EAAE,SAAS,IAAI,SAAS,KAAK,QAAQ;qCAC9C,CACF,EACD,KAAK,EACH;AACE,wCAAA,YAAY,EAAE,cAAc;AAC5B,wCAAA,gBAAgB,EAAE,cAAc;AACV,qCAAA,EAAA,CAE1B,CACH,CACF,EACDC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,0CAA0C,EAC1C,SAAS,GAAG,WAAW,GAAG,cAAc,CACzC,aAEDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,cAAc,aAC1B,SAAS,GAAG,YAAY,GAAG,IAAI,EAChCD,cAAM,SAAS,EAAC,uBAAuB,EAAA,QAAA,EACpC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,EAAA,CAC1B,CAAA,EAAA,CACH,EACL,IAAI,CAAC,KAAK,KACTA,cAAM,SAAS,EAAC,oDAAoD,EAAA,QAAA,EACjE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAA,CACvB,CACR,CAAA,EAAA,CACG,CAAA,EAAA,CACL,CACJ,EAAA,EArDI,IAAI,CAAC,OAAO,CAsDb;AAEV,gBAAA,CAAC,CAAC,EAAA,CACE,CAAA,EAAA,CACF;AAEV,CAAC;AAEH,mBAAmB,CAAC,WAAW,GAAG,cAAc;AAEhD,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAQzC,CACE,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,EAAE,OAAO,EAAE,EAC3E,GAAG,KACD;AACF,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;AAE7B,IAAA,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AACpB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,aAAa,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,EACzC,SAAS,CACV,EAAA,QAAA,EAEA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;YACpB,MAAM,GAAG,GAAG,CAAA,EAAG,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAA,CAAE;YACnD,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC;AAEjE,YAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAE,EAAE,CACX,iFAAiF,CAClF,EAAA,QAAA,EAAA,CAEA,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,IAC5BD,IAAC,UAAU,CAAC,IAAI,EAAA,EAAA,CAAG,KAEnBA,aACE,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE;4BACL,eAAe,EAAE,IAAI,CAAC,KAAK;yBAC5B,EAAA,CACD,CACH,EACA,UAAU,EAAE,KAAK,CAAA,EAAA,EAfb,IAAI,CAAC,KAAK,CAgBX;QAEV,CAAC,CAAC,EAAA,CACE;AAEV,CAAC;AAEH,kBAAkB,CAAC,WAAW,GAAG,aAAa;AAE9C;AACA,SAAS,2BAA2B,CAClC,MAAmB,EACnB,OAAgB,EAChB,GAAW,EAAA;IAEX,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AACnD,QAAA,OAAO,SAAS;IAClB;AAEA,IAAA,MAAM,cAAc,GAClB,SAAS,IAAI,OAAO;AACpB,QAAA,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;QACnC,OAAO,CAAC,OAAO,KAAK;UAChB,OAAO,CAAC;UACR,SAAS;IAEf,IAAI,cAAc,GAAW,GAAG;IAEhC,IACE,GAAG,IAAI,OAAO;AACd,QAAA,OAAO,OAAO,CAAC,GAA2B,CAAC,KAAK,QAAQ,EACxD;AACA,QAAA,cAAc,GAAG,OAAO,CAAC,GAA2B,CAAW;IACjE;AAAO,SAAA,IACL,cAAc;AACd,QAAA,GAAG,IAAI,cAAc;AACrB,QAAA,OAAO,cAAc,CAAC,GAAkC,CAAC,KAAK,QAAQ,EACtE;AACA,QAAA,cAAc,GAAG,cAAc,CAC7B,GAAkC,CACzB;IACb;IAEA,OAAO,cAAc,IAAI;AACvB,UAAE,MAAM,CAAC,cAAc;AACvB,UAAE,MAAM,CAAC,GAA0B,CAAC;AACxC;;AC7VA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACnCA,GAAA,CAAC,iBAAiB,CAAC,IAAI,EAAA,EACtB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,CAAC,CAAC,KAAK,EAChB,SAAS,EAAE,EAAE,CACZ,4SAA4S,EAC5S,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAETA,GAAA,CAAC,iBAAiB,CAAC,SAAS,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,+CAA+C,CAAC,EAAA,QAAA,EAC1FA,IAAC,KAAK,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACA,EAAA,CACN,CACzB;AAEF,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW;;ACpBzD,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;;ACChD,MAAM,MAAM,GAAG,eAAe,CAAC;AAE/B,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,YAAY,GAAG,eAAe,CAAC;AAErC,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9BA,GAAA,CAAC,eAAe,CAAC,OAAO,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,yJAAyJ,EACzJ,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AACD,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW;AAM/D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACjDC,IAAA,CAAC,YAAY,eACZD,GAAA,CAAC,aAAa,KAAG,EACjBC,IAAA,CAAC,eAAe,CAAC,OAAO,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,6eAA6e,EAC7e,SAAS,CACT,KACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACR,CAAC,SAAS,KACVA,IAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,+QAA+Q,EAAA,QAAA,EAAA,CAC/SD,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACzBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,sBAAa,CAAA,EAAA,CACf,CACxB,IACwB,CAAA,EAAA,CACZ,CACf;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW;AAE/D,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,MAClFA,aAAK,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAEnG,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,MAClFA,aAAK,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAE9G,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,mDAAmD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAC7H;AAEF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW;AAE3D,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,eAAe,CAAC,WAAW,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AACnJ,iBAAiB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,WAAW;;ACzEvE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAG9B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAACG,SAAgB,IACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,OAAO,CAAC,WAAW,GAAGA,SAAgB,CAAC,WAAW;AAElD,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAe,KAAI;IAC5D,QACEH,GAAA,CAAC,MAAM,EAAA,EAAA,GAAK,KAAK,YACfA,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAC,+BAA+B,YACtDA,GAAA,CAAC,OAAO,EAAA,EAAC,SAAS,EAAC,6WAA6W,EAAA,QAAA,EAC7X,QAAQ,EAAA,CACD,EAAA,CACI,EAAA,CACT;AAEb;AAEA,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iCAAiC,EAAA,oBAAA,EAAoB,EAAE,EAAA,QAAA,EAAA,CACpED,GAAA,CAAC,MAAM,IAAC,SAAS,EAAC,kCAAkC,EAAA,CAAG,EACvDA,GAAA,CAACG,SAAgB,CAAC,KAAK,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,wJAAwJ,EACxJ,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CAAA,EAAA,CACE,CACP;AAED,YAAY,CAAC,WAAW,GAAGA,SAAgB,CAAC,KAAK,CAAC,WAAW;AAE7D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BH,GAAA,CAACG,SAAgB,CAAC,IAAI,EAAA,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,EAAA,GACvE,KAAK,EAAA,CACT,CACH;AAED,WAAW,CAAC,WAAW,GAAGA,SAAgB,CAAC,IAAI,CAAC,WAAW;AAE3D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,KAAK,EAAE,GAAG,MACXH,GAAA,CAACG,SAAgB,CAAC,KAAK,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,0BAA0B,EAAA,GAChC,KAAK,EAAA,CACT,CACH;AAED,YAAY,CAAC,WAAW,GAAGA,SAAgB,CAAC,KAAK,CAAC,WAAW;AAE7D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAGnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BH,GAAA,CAACG,SAAgB,CAAC,KAAK,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,wNAAwN,EACxN,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AAED,YAAY,CAAC,WAAW,GAAGA,SAAgB,CAAC,KAAK,CAAC,WAAW;AAE7D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BH,GAAA,CAACG,SAAgB,CAAC,SAAS,EAAA,EACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAAA,GAC5C,KAAK,EAAA,CACT,CACH;AACD,gBAAgB,CAAC,WAAW,GAAGA,SAAgB,CAAC,SAAS,CAAC,WAAW;AAErE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BH,GAAA,CAACG,SAAgB,CAAC,IAAI,EAAA,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,2TAA2T,EAC3T,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AAED,WAAW,CAAC,WAAW,GAAGA,SAAgB,CAAC,IAAI,CAAC,WAAW;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EAC8B,KAAI;AAC1C,IAAA,QACEH,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AACA,eAAe,CAAC,WAAW,GAAG,iBAAiB;;ACnI/C,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAE/C,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEnD,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAK5C,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9CC,IAAA,CAAC,oBAAoB,CAAC,UAAU,EAAA,EAC9B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,4MAA4M,EAC5M,KAAK,IAAI,MAAM,EACf,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,CAAG,CAAA,EAAA,CACZ,CACnC;AACD,qBAAqB,CAAC,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW;AAE/E,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,UAAU,EAAA,EAC9B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,ubAAub,EACvb,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,qBAAqB,CAAC,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW;AAE/E,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,MAAM,cAC1BA,GAAA,CAAC,oBAAoB,CAAC,OAAO,EAAA,EAC3B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6cAA6c,EAC7c,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,EAAA,CAC0B,CAC/B;AACD,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW;AAEzE,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAKtC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACpCA,GAAA,CAAC,oBAAoB,CAAC,IAAI,EAAA,EACxB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,+MAA+M,EAC/M,KAAK,IAAI,MAAM,EACf,SAAS,CACV,KACG,KAAK,EAAA,CACT,CACH;AACD,eAAe,CAAC,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,WAAW;AAEnE,MAAM,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAG9C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChDC,IAAA,CAAC,oBAAoB,CAAC,YAAY,IAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oNAAoN,EACpN,SAAS,CACV,EACD,OAAO,EAAE,OAAO,EAAA,GACZ,KAAK,aAETD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8DAA8D,YAC5EA,GAAA,CAAC,oBAAoB,CAAC,aAAa,EAAA,EAAA,QAAA,EACjCA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACM,GAChC,EACN,QAAQ,CAAA,EAAA,CACyB,CACrC;AACD,uBAAuB,CAAC,WAAW;AACjC,IAAA,oBAAoB,CAAC,YAAY,CAAC,WAAW;AAE/C,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAG3C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvCC,IAAA,CAAC,oBAAoB,CAAC,SAAS,EAAA,EAC7B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oNAAoN,EACpN,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAC5EA,IAAC,oBAAoB,CAAC,aAAa,EAAA,EAAA,QAAA,EACjCA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,CAAG,EAAA,CACR,EAAA,CAChC,EACN,QAAQ,CAAA,EAAA,CACsB,CAClC;AACD,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,WAAW;AAE7E,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAKvC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACpCA,GAAA,CAAC,oBAAoB,CAAC,KAAK,EAAA,EACzB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,KAAK,IAAI,MAAM,EACf,SAAS,CACV,KACG,KAAK,EAAA,CACT,CACH;AACD,gBAAgB,CAAC,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,WAAW;AAErE,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAG3C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAAC,oBAAoB,CAAC,SAAS,EAAA,EAC7B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,EAAA,GACjD,KAAK,EAAA,CACT,CACH;AACD,oBAAoB,CAAC,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,WAAW;AAE7E,MAAM,mBAAmB,GAAG,CAAC,EAC3B,SAAS,EACT,GAAG,KAAK,EAC8B,KAAI;AAC1C,IAAA,QACEA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AACA,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;AC/KvD,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChEA,IAAC,gBAAgB,CAAC,MAAM,EAAA,EAAA,QAAA,EACvBA,GAAA,CAAC,gBAAgB,CAAC,OAAO,EAAA,EACxB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,CAAC,CAAC,KAAI;YACd,CAAC,CAAC,eAAe,EAAE;AACpB,QAAA,CAAC,EACD,SAAS,EAAE,EAAE,CACZ,4aAA4a,EAC5a,SAAS,CACT,KACG,KAAK,EAAA,CACR,EAAA,CACuB,CAC1B;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW;;ACd3D,SAAU,mBAAmB,CAAC,EAClC,SAAS,GAC4B,EAAA;IACrC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAwB;QAC5D,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC3B,QAAA,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACvC,KAAA,CAAC;AAEF,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAA,QAAA,EACzCC,IAAA,CAAC,OAAO,eACND,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrBC,IAAA,CAAC,MAAM,EAAA,EACL,EAAE,EAAC,MAAM,EACT,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,EAAE,CACX,+CAA+C,EAC/C,CAAC,IAAI,IAAI,uBAAuB,CACjC,aAEDD,GAAA,CAAC,YAAY,EAAA,EAAA,CAAG,EACf,IAAI,EAAE,IAAI,IACT,IAAI,CAAC,EAAE,IACLC,4BACG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAA,IAAA,EAAI,GAAG,EACrC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA,EAAA,CAC5B,KAEH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAC/B,KAEDD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,aAAA,EAAA,CAAwB,CACzB,CAAA,EAAA,CACM,GACM,EACjBA,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EAClDA,GAAA,CAAC,QAAQ,EAAA,EACP,YAAY,EAAA,IAAA,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAE,IAAI,EAAE,IAAI,EACxB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,CAAC,EAAA,CACjB,EAAA,CACa,CAAA,EAAA,CACT,EAAA,CACN;AAEV;;ACzDA,MAAM,MAAM,GAAG,CAAC,EACd,qBAAqB,GAAG,IAAI,EAC5B,GAAG,KAAK,EAC0C,MAClDA,GAAA,CAACI,QAAe,CAAC,IAAI,EAAA,EACnB,qBAAqB,EAAE,qBAAqB,EAAA,GACxC,KAAK,EAAA,CACT;AAEJ,MAAM,CAAC,WAAW,GAAG,QAAQ;AAE7B,MAAM,aAAa,GAAGA,QAAe,CAAC;AAEtC,MAAM,YAAY,GAAGA,QAAe,CAAC;AAErC,MAAM,WAAW,GAAGA,QAAe,CAAC;AAEpC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BJ,GAAA,CAACI,QAAe,CAAC,OAAO,EAAA,EACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,EAAA,GACtD,KAAK,EAAA,CACT,CACH;AACD,aAAa,CAAC,WAAW,GAAGA,QAAe,CAAC,OAAO,CAAC,WAAW;AAE/D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvCH,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACXD,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,EACjBC,IAAA,CAACG,QAAe,CAAC,OAAO,EAAA,EACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gGAAgG,EAChG,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETJ,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kDAAkD,EAAA,CAAG,EACnE,QAAQ,CAAA,EAAA,CACe,CAAA,EAAA,CACb,CAChB;AACD,aAAa,CAAC,WAAW,GAAG,eAAe;AAE3C,MAAM,YAAY,GAAG,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EAC6B,MACrCA,aACE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,EAAA,GACjE,KAAK,EAAA,CACT;AAEJ,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,YAAY,GAAG,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EAC6B,MACrCA,aACE,SAAS,EAAE,EAAE,CAAC,iCAAiC,EAAE,SAAS,CAAC,EAAA,GACvD,KAAK,EAAA,CACT;AAEJ,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BA,GAAA,CAACI,QAAe,CAAC,KAAK,EAAA,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AACD,WAAW,CAAC,WAAW,GAAGA,QAAe,CAAC,KAAK,CAAC,WAAW;AAE3D,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7BJ,GAAA,CAACI,QAAe,CAAC,WAAW,EAAA,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GACrD,KAAK,EAAA,CACT,CACH;AACD,iBAAiB,CAAC,WAAW,GAAGA,QAAe,CAAC,WAAW,CAAC,WAAW;;ACjGvE,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEjD,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAE9C,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAK7C,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC/CH,IAAA,CAAC,qBAAqB,CAAC,UAAU,EAAA,EAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,sIAAsI,EACtI,KAAK,IAAI,MAAM,EACf,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,CAAG,CAAA,EAAA,CACV,CACnC;AACD,sBAAsB,CAAC,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC,WAAW;AAEjF,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9BA,GAAA,CAAC,qBAAqB,CAAC,UAAU,EAAA,EAChC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,ubAAub,EACvb,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AACD,sBAAsB,CAAC,WAAW,GAAG,qBAAqB,CAAC,UAAU,CAAC,WAAW;AAEjF,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAG1C,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9CA,GAAA,CAAC,qBAAqB,CAAC,MAAM,cAC5BA,GAAA,CAAC,qBAAqB,CAAC,OAAO,EAAA,EAC7B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACZ,ubAAub,EACvb,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,EAAA,CAC4B,CAC/B;AACD,mBAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,WAAW;AAE3E,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAKvC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACrCA,GAAA,CAAC,qBAAqB,CAAC,IAAI,EAAA,EAC1B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,iOAAiO,EACjO,KAAK,IAAI,MAAM,EACf,SAAS,CACT,KACG,KAAK,EAAA,CACR,CACF;AACD,gBAAgB,CAAC,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW;AAErE,MAAM,wBAAwB,GAAG,KAAK,CAAC,UAAU,CAG/C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACjDC,IAAA,CAAC,qBAAqB,CAAC,YAAY,IAClC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,sOAAsO,EACtO,SAAS,CACT,EACD,OAAO,EAAE,OAAO,EAAA,GACZ,KAAK,aAETD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8DAA8D,YAC7EA,GAAA,CAAC,qBAAqB,CAAC,aAAa,EAAA,EAAA,QAAA,EACnCA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACQ,GAChC,EACN,QAAQ,CAAA,EAAA,CAC2B,CACrC;AACD,wBAAwB,CAAC,WAAW,GAAG,qBAAqB,CAAC,YAAY,CAAC,WAAW;AAErF,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACxCC,IAAA,CAAC,qBAAqB,CAAC,SAAS,EAAA,EAC/B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,sOAAsO,EACtO,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAC7EA,IAAC,qBAAqB,CAAC,aAAa,EAAA,EAAA,QAAA,EACnCA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAA,CAAG,EAAA,CACN,EAAA,CAChC,EACN,QAAQ,CAAA,EAAA,CACwB,CAClC;AACD,qBAAqB,CAAC,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,WAAW;AAE/E,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAKxC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACrCA,GAAA,CAAC,qBAAqB,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,MAAM,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI,CACpI;AACD,iBAAiB,CAAC,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,WAAW;AAEvE,MAAM,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAG5C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,qBAAqB,CAAC,SAAS,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAClJ,qBAAqB,CAAC,WAAW,GAAG,qBAAqB,CAAC,SAAS,CAAC,WAAW;AAE/E,MAAM,oBAAoB,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAyC,KAAI;AAC/F,IAAA,OAAOA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AACnG;AACA,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;ACpJzD,MAAM,aAAa,GAAG,GAAG,CAAC,+EAA+E,CAAC;AAE1G,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAG5B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,cAAc,CAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAC3H,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW;;ACJnD,MAAM,IAAI,GAAG;AAMb,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAwB,EAA2B,CAAC;AAEhG,MAAM,SAAS,GAAG,CAAkH,EACnI,GAAG,KAAK,EAC8B,KAAI;IAC1C,QACCA,IAAC,gBAAgB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAA,QAAA,EACrDA,GAAA,CAAC,UAAU,OAAK,KAAK,EAAA,CAAI,EAAA,CACE;AAE9B;AAEA,MAAM,YAAY,GAAG,MAAK;IACzB,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IACrD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE;IAErD,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;IAE9D,IAAI,CAAC,YAAY,EAAE;AAClB,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;IAClE;AAEA,IAAA,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAE1B,OAAO;QACN,EAAE;QACF,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,UAAU,EAAE,CAAA,EAAG,EAAE,CAAA,UAAA,CAAY;QAC7B,iBAAiB,EAAE,CAAA,EAAG,EAAE,CAAA,sBAAA,CAAwB;QAChD,aAAa,EAAE,CAAA,EAAG,EAAE,CAAA,kBAAA,CAAoB;AACxC,QAAA,GAAG,UAAU;KACb;AACF;AAMA,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAuB,EAA0B,CAAC;AAE7F,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAuD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACxH,IAAA,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE;AAExB,IAAA,QACCA,GAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAA,QAAA,EACtCA,aAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,EAAA,CAChC;AAE7B,CAAC;AACD,QAAQ,CAAC,WAAW,GAAG,UAAU;AAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAChC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE;IAE5C,OAAOA,GAAA,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAA,GAAM,KAAK,EAAA,CAAI;AAClH,CAAC;AAEF,SAAS,CAAC,WAAW,GAAG,WAAW;AAEnC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAA6E,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACtI,IAAA,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE;AAE9E,IAAA,QACCA,GAAA,CAAC,IAAI,EAAA,EACJ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,UAAU,EAAA,kBAAA,EACI,CAAC,KAAK,GAAG,CAAA,EAAG,iBAAiB,CAAA,CAAE,GAAG,CAAA,EAAG,iBAAiB,IAAI,aAAa,CAAA,CAAE,EAAA,cAAA,EAC7E,CAAC,CAAC,KAAK,EAAA,GACjB,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAmE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC3I,IAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE;IAE5C,OAAOA,GAAA,CAAA,GAAA,EAAA,EAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AACpH,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAmE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACjJ,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE;AAC/C,IAAA,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,QAAQ;IAEtD,IAAI,CAAC,IAAI,EAAE;AACV,QAAA,OAAO,IAAI;IACZ;IAEA,QACCA,GAAA,CAAA,GAAA,EAAA,EAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EACzG,IAAI,EAAA,CACF;AAEN,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;;;;;;;;;;;;;;AC1GvC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChEA,GAAA,CAAC,kBAAkB,CAAC,OAAO,EAAA,EAC1B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACZ,obAAob,EACpb,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,WAAW;;ACrB9D,MAAM,WAAW,GAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAI;IACpF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG;AAE3D,IAAA,OAAO,SAAS,CAAC,MAAM,CAAC;AACzB;AAEM,SAAU,SAAS,CAAC,KAAoB,EAAA;IAC7C,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;IAE1D,IAAI,GAAG,GAAG,EAAE;AAAE,QAAA,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;AAE3E,IAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;AAC7D;AAEO,MAAM,aAAa,GAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAI;IACtF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IAC5E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG;AAE3D,IAAA,OAAO,WAAW,CAAC,MAAM,CAAC;AAC3B;AAEM,SAAU,WAAW,CAAC,KAAoB,EAAA;IAC/C,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;IAE1D,IAAI,GAAG,GAAG,EAAE;AAAE,QAAA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;AAE7E,IAAA,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;AAC7D;;AC3BA;SACgB,WAAW,CAAC,QAAgB,EAAE,kBAAkB,GAAG,IAAI,EAAA;AACtE,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAO,EAAE;IAExB,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;IAG7C,IAAI,kBAAkB,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACvD,QAAA,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACvC;IAEA,OAAOK,QAAM,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;AACnD;AAEA;AACM,SAAU,aAAa,CAAC,OAAgB,EAAA;AAC7C,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,EAAE;IAEvB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhD,OAAOA,QAAM,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;AACzD;AAEA;AACA,SAAS,MAAM,CAAC,IAAU,EAAA;AACzB,IAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD;AAEA,SAAS,QAAQ,CAAC,IAAU,EAAA;AAC3B,IAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACzD;AAEA,SAAS,OAAO,CAAC,IAAU,EAAA;AAC1B,IAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;AACrC;AAEO,MAAM,UAAU,GAAG,CAAC,IAA+B,EAAE,SAAA,GAAoB,GAAG,KAAI;AACtF,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;AAEpB,IAAA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;AAExB,IAAA,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC;AACrC;AAEO,MAAM,cAAc,GAAG,CAAC,IAAsB,EAAE,aAAA,GAAyB,KAAK,KAAY;AAChG,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;AAEpB,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACzD,IAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAC7D,MAAM,OAAO,GAAG,aAAa,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAE,GAAG,EAAE;AAExF,IAAA,OAAO,CAAA,EAAG,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,OAAO,CAAA,EAAG,OAAO,CAAA,CAAE;AAC3D;AAEM,SAAU,kBAAkB,CAAC,IAAsB,EAAA;AACxD,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;AAEpB,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC5B,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAE1B,IAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,EAAE;AACjC;SAEgB,gBAAgB,CAAC,IAAwB,EAAE,YAAoB,GAAG,EAAA;AACjF,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,SAAS;AAE3B,IAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;;IAG5D,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;AACtC;AAEA;AACO,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,cAAA,GAAyB,CAAC,KAAY;IAChF,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC7C;AAEO,MAAM,cAAc,GAAG,CAAC,KAAyB,KAAY;AACnE,IAAA,IAAI,CAAC,KAAK;AAAE,QAAA,OAAO,CAAC;IAEpB,MAAM,YAAY,GAAG;AACnB,SAAA,OAAO,CAAC,UAAU,EAAE,EAAE;AACtB,SAAA,OAAO,CAAC,KAAK,EAAE,EAAE;AACjB,SAAA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AACnB,IAAA,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;AACvC;AAEO,MAAM,aAAa,GAAG,CAAC,KAAa,KAAI;AAC9C,IAAA,OAAO,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AACjD;AAEO,MAAM,aAAa,GAAG,CAAC,KAAa,KAAI;AAC9C,IAAA,OAAO,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;AACjD;AAEO,MAAM,uBAAuB,GAAG,CAAC,KAAa,KAAY;AAChE,IAAA,OAAO,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;AAC/C;AAEO,MAAM,gBAAgB,GAAG,CAAC,KAAa,KAAY;IACzD,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC;IAC3C,OAAO,WAAW,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;AAC1C;AAEO,MAAM,kBAAkB,GAAG,CAAC,MAAc,KAAY;AAC5D,IAAA,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC;AACpC;AAEO,MAAM,kBAAkB,GAAG,CAAC,IAAY,KAAY;AAC1D,IAAA,OAAO,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC;AAC7C;AAEA;AACO,MAAM,YAAY,GAAG,CAAC,KAAa,KAAI;AAC7C,IAAA,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE;AACpC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,qBAAqB,EAAE,CAAC;AACxB,QAAA,qBAAqB,EAAE,CAAC;AACxB,KAAA,CAAC;AACH;AAEA;AACO,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,aAAA,GAAwB,CAAC,KAAI;AACzE,IAAA,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE;AACpC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,qBAAqB,EAAE,aAAa;AACpC,QAAA,qBAAqB,EAAE,aAAa;AACpC,KAAA,CAAC;AACH;;ACpIO,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACxC,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,KAAK;AAC3B;AACA,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY;AAC3E,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AACzE,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC;AACH;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEO,SAAS,eAAe,CAAC,IAAI,EAAE;AACtC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,KAAK;AAC7B,IAAI,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,YAAY;;AAE7E,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,OAAO,KAAK,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC3D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,YAAY;AAC3E,MAAM,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY;;AAEzE,MAAM,WAAW;AACjB,QAAQ,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAC3E,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;AAC5C,MAAM,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY;;AAE9E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;AACnE,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK;;AAE9E;AACA,IAAI,OAAO,WAAW,CAAC,KAAK,CAAC;AAC7B,EAAE,CAAC;AACH;;AC7DO,SAAS,YAAY,CAAC,IAAI,EAAE;AACnC,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,KAAK;AACnC,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;;AAE/B,IAAI,MAAM,YAAY;AACtB,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAChD,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;;AAElD,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;;AAExC,IAAI,MAAM,aAAa;AACvB,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC;;AAEhD,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa;AAC3C,QAAQ,SAAS,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;AACzE;AACA,QAAQ,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;AAExE,IAAI,IAAI,KAAK;;AAEb,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG;AAC9D,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB;AACA,QAAQ,OAAO,CAAC,aAAa,CAAC,KAAK;AACnC,QAAQ,KAAK;;AAEb,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;;AAEnD,IAAI,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,EAAE,CAAC;AACH;;AAEA,SAAS,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE;AACpC,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AAC5B,IAAI;AACJ,MAAM,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;AACvD,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,SAAS;AAClB;;AAEA,SAAS,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE;AACrC,EAAE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;AAC/C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/B,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,SAAS;AAClB;;ACxDO,SAAS,mBAAmB,CAAC,IAAI,EAAE;AAC1C,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,EAAE,KAAK;AACnC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;AACvD,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI;AACjC,IAAI,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;;AAExC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;AACvD,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI;AACjC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB,QAAQ,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AACzC,QAAQ,WAAW,CAAC,CAAC,CAAC;;AAEtB;AACA,IAAI,KAAK,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,KAAK;;AAExE,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;;AAEnD,IAAI,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,EAAE,CAAC;AACH;;ACnBA,MAAM,oBAAoB,GAAG;AAC7B,EAAE,gBAAgB,EAAE;AACpB,IAAI,GAAG,EAAE,qBAAqB;AAC9B,IAAI,KAAK,EAAE,6BAA6B;AACxC,GAAG;;AAEH,EAAE,QAAQ,EAAE;AACZ,IAAI,GAAG,EAAE,WAAW;AACpB,IAAI,KAAK,EAAE,oBAAoB;AAC/B,GAAG;;AAEH,EAAE,WAAW,EAAE,aAAa;;AAE5B,EAAE,gBAAgB,EAAE;AACpB,IAAI,GAAG,EAAE,oBAAoB;AAC7B,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG;;AAEH,EAAE,QAAQ,EAAE;AACZ,IAAI,GAAG,EAAE,UAAU;AACnB,IAAI,KAAK,EAAE,mBAAmB;AAC9B,GAAG;;AAEH,EAAE,WAAW,EAAE;AACf,IAAI,GAAG,EAAE,iBAAiB;AAC1B,IAAI,KAAK,EAAE,0BAA0B;AACrC,GAAG;;AAEH,EAAE,MAAM,EAAE;AACV,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,KAAK,EAAE,iBAAiB;AAC5B,GAAG;;AAEH,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,EAAE,OAAO;AAChB,IAAI,KAAK,EAAE,gBAAgB;AAC3B,GAAG;;AAEH,EAAE,WAAW,EAAE;AACf,IAAI,GAAG,EAAE,mBAAmB;AAC5B,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG;;AAEH,EAAE,MAAM,EAAE;AACV,IAAI,GAAG,EAAE,UAAU;AACnB,IAAI,KAAK,EAAE,mBAAmB;AAC9B,GAAG;;AAEH,EAAE,YAAY,EAAE;AAChB,IAAI,GAAG,EAAE,gBAAgB;AACzB,IAAI,KAAK,EAAE,0BAA0B;AACrC,GAAG;;AAEH,EAAE,OAAO,EAAE;AACX,IAAI,GAAG,EAAE,OAAO;AAChB,IAAI,KAAK,EAAE,iBAAiB;AAC5B,GAAG;;AAEH,EAAE,WAAW,EAAE;AACf,IAAI,GAAG,EAAE,gBAAgB;AACzB,IAAI,KAAK,EAAE,yBAAyB;AACpC,GAAG;;AAEH,EAAE,MAAM,EAAE;AACV,IAAI,GAAG,EAAE,OAAO;AAChB,IAAI,KAAK,EAAE,gBAAgB;AAC3B,GAAG;;AAEH,EAAE,UAAU,EAAE;AACd,IAAI,GAAG,EAAE,eAAe;AACxB,IAAI,KAAK,EAAE,wBAAwB;AACnC,GAAG;;AAEH,EAAE,YAAY,EAAE;AAChB,IAAI,GAAG,EAAE,aAAa;AACtB,IAAI,KAAK,EAAE,sBAAsB;AACjC,GAAG;AACH,CAAC;;AAEM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK;AACzD,EAAE,IAAI,MAAM;;AAEZ,EAAE,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC;AAChD,EAAE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACtC,IAAI,MAAM,GAAG,UAAU;AACvB,EAAE,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG;AAC3B,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACjE,EAAE;;AAEF,EAAE,IAAI,OAAO,EAAE,SAAS,EAAE;AAC1B,IAAI,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC,EAAE;AACtD,MAAM,OAAO,KAAK,GAAG,MAAM;AAC3B,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,KAAK,GAAG,MAAM;AAC3B,IAAI;AACJ,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf,CAAC;;AClGD,MAAM,WAAW,GAAG;AACpB,EAAE,IAAI,EAAE,0BAA0B;AAClC,EAAE,IAAI,EAAE,oBAAoB;AAC5B,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,KAAK,EAAE,YAAY;AACrB,CAAC;;AAED,MAAM,WAAW,GAAG;AACpB,EAAE,IAAI,EAAE,eAAe;AACvB,EAAE,IAAI,EAAE,YAAY;AACpB,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,CAAC;;AAED,MAAM,eAAe,GAAG;AACxB,EAAE,IAAI,EAAE,wBAAwB;AAChC,EAAE,IAAI,EAAE,wBAAwB;AAChC,EAAE,MAAM,EAAE,oBAAoB;AAC9B,EAAE,KAAK,EAAE,oBAAoB;AAC7B,CAAC;;AAEM,MAAM,UAAU,GAAG;AAC1B,EAAE,IAAI,EAAE,iBAAiB,CAAC;AAC1B,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;;AAEJ,EAAE,IAAI,EAAE,iBAAiB,CAAC;AAC1B,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;;AAEJ,EAAE,QAAQ,EAAE,iBAAiB,CAAC;AAC9B,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;AACJ,CAAC;;ACtCD,MAAM,oBAAoB,GAAG;AAC7B,EAAE,QAAQ,EAAE,CAAC,IAAI,KAAK;AACtB,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AACjC,IAAI,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,QAAQ,GAAG,QAAQ;AACrE,IAAI,OAAO,GAAG,GAAG,IAAI,GAAG,eAAe;AACvC,EAAE,CAAC;AACH,EAAE,SAAS,EAAE,cAAc;AAC3B,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,QAAQ,EAAE,eAAe;AAC3B,EAAE,QAAQ,EAAE,aAAa;AACzB,EAAE,KAAK,EAAE,GAAG;AACZ,CAAC;;AAEM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK;AACpE,EAAE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC;;AAE5C,EAAE,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AACpC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,EAAE;;AAEF,EAAE,OAAO,MAAM;AACf,CAAC;;ACnBD,MAAM,SAAS,GAAG;AAClB,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AACtB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAC3B,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AAC/C,CAAC;;AAED,MAAM,aAAa,GAAG;AACtB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC9B,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACvC,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;AACxE,CAAC;;AAED,MAAM,WAAW,GAAG;AACpB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACtE,EAAE,WAAW,EAAE;AACf,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,GAAG;;AAEH,EAAE,IAAI,EAAE;AACR,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,UAAU;AACd,GAAG;AACH,CAAC;;AAED,MAAM,SAAS,GAAG;AAClB,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC7C,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAC1D,EAAE,WAAW,EAAE;AACf,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG;;AAEH,EAAE,IAAI,EAAE;AACR,IAAI,SAAS;AACb,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,GAAG;AACH,CAAC;;AAED,MAAM,eAAe,GAAG;AACxB,EAAE,MAAM,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,KAAK,EAAE,OAAO;AAClB,GAAG;AACH,CAAC;;AAED,MAAM,yBAAyB,GAAG;AAClC,EAAE,MAAM,EAAE;AACV,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,KAAK,EAAE,UAAU;AACrB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,KAAK,EAAE,UAAU;AACrB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,EAAE,EAAE,MAAM;AACd,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,SAAS,EAAE,UAAU;AACzB,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,KAAK,EAAE,UAAU;AACrB,GAAG;AACH,CAAC;;AAED,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,OAAO,KAAK;AAChD,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;;AAEpC,EAAE,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE;AAChC,IAAI,OAAO,MAAM,GAAG,GAAG;AACvB,EAAE;AACF,EAAE,OAAO,MAAM,GAAG,GAAG;AACrB,CAAC;;AAEM,MAAM,QAAQ,GAAG;AACxB,EAAE,aAAa;;AAEf,EAAE,GAAG,EAAE,eAAe,CAAC;AACvB,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;;AAEJ,EAAE,OAAO,EAAE,eAAe,CAAC;AAC3B,IAAI,MAAM,EAAE,aAAa;AACzB,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,gBAAgB,EAAE,CAAC,OAAO,KAAK,OAAO,GAAG,CAAC;AAC9C,GAAG,CAAC;;AAEJ,EAAE,KAAK,EAAE,eAAe,CAAC;AACzB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;;AAEJ,EAAE,GAAG,EAAE,eAAe,CAAC;AACvB,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,YAAY,EAAE,MAAM;AACxB,GAAG,CAAC;;AAEJ,EAAE,SAAS,EAAE,eAAe,CAAC;AAC7B,IAAI,MAAM,EAAE,eAAe;AAC3B,IAAI,YAAY,EAAE,MAAM;AACxB,IAAI,gBAAgB,EAAE,yBAAyB;AAC/C,IAAI,sBAAsB,EAAE,MAAM;AAClC,GAAG,CAAC;AACJ,CAAC;;AC7KD,MAAM,yBAAyB,GAAG,eAAe;AACjD,MAAM,yBAAyB,GAAG,MAAM;;AAExC,MAAM,gBAAgB,GAAG;AACzB,EAAE,MAAM,EAAE,eAAe;AACzB,EAAE,WAAW,EAAE,6BAA6B;AAC5C,EAAE,IAAI,EAAE,sCAAsC;AAC9C,CAAC;AACD,MAAM,gBAAgB,GAAG;AACzB,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AACvB,EAAE,IAAI,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AACnD,CAAC;;AAED,MAAM,oBAAoB,GAAG;AAC7B,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,IAAI,EAAE,wBAAwB;AAChC,CAAC;AACD,MAAM,oBAAoB,GAAG;AAC7B,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/B,CAAC;;AAED,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE,eAAe;AACzB,EAAE,WAAW,EAAE,qDAAqD;AACpE,EAAE,IAAI,EAAE,8FAA8F;AACtG,CAAC;AACD,MAAM,kBAAkB,GAAG;AAC3B,EAAE,MAAM,EAAE;AACV,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,KAAK;AACT,GAAG;;AAEH,EAAE,GAAG,EAAE;AACP,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,OAAO;AACX,GAAG;AACH,CAAC;;AAED,MAAM,gBAAgB,GAAG;AACzB,EAAE,MAAM,EAAE,0BAA0B;AACpC,EAAE,KAAK,EAAE,0BAA0B;AACnC,EAAE,WAAW,EAAE,oCAAoC;AACnD,EAAE,IAAI,EAAE,0EAA0E;AAClF,CAAC;AACD,MAAM,gBAAgB,GAAG;AACzB,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AAC9D,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AAC/D,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;AACrE,CAAC;;AAED,MAAM,sBAAsB,GAAG;AAC/B,EAAE,MAAM,EAAE,wCAAwC;AAClD,EAAE,GAAG,EAAE,yEAAyE;AAChF,CAAC;AACD,MAAM,sBAAsB,GAAG;AAC/B,EAAE,GAAG,EAAE;AACP,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,QAAQ,EAAE,sBAAsB;AACpC,IAAI,IAAI,EAAE,oBAAoB;AAC9B,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,SAAS,EAAE,QAAQ;AACvB,IAAI,OAAO,EAAE,QAAQ;AACrB,IAAI,KAAK,EAAE,QAAQ;AACnB,GAAG;AACH,CAAC;;AAEM,MAAM,KAAK,GAAG;AACrB,EAAE,aAAa,EAAE,mBAAmB,CAAC;AACrC,IAAI,YAAY,EAAE,yBAAyB;AAC3C,IAAI,YAAY,EAAE,yBAAyB;AAC3C,IAAI,aAAa,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AACjD,GAAG,CAAC;;AAEJ,EAAE,GAAG,EAAE,YAAY,CAAC;AACpB,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,GAAG,CAAC;;AAEJ,EAAE,OAAO,EAAE,YAAY,CAAC;AACxB,IAAI,aAAa,EAAE,oBAAoB;AACvC,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,aAAa,EAAE,oBAAoB;AACvC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,IAAI,aAAa,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AACvC,GAAG,CAAC;;AAEJ,EAAE,KAAK,EAAE,YAAY,CAAC;AACtB,IAAI,aAAa,EAAE,kBAAkB;AACrC,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,aAAa,EAAE,kBAAkB;AACrC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,GAAG,CAAC;;AAEJ,EAAE,GAAG,EAAE,YAAY,CAAC;AACpB,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,iBAAiB,EAAE,MAAM;AAC7B,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,GAAG,CAAC;;AAEJ,EAAE,SAAS,EAAE,YAAY,CAAC;AAC1B,IAAI,aAAa,EAAE,sBAAsB;AACzC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,IAAI,aAAa,EAAE,sBAAsB;AACzC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,GAAG,CAAC;AACJ,CAAC;;AC/HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,IAAI,GAAG;AACpB,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,UAAU,EAAE,UAAU;AACxB,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,OAAO,EAAE;AACX,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,qBAAqB,EAAE,CAAC;AAC5B,GAAG;AACH,CAAC;;ACpBD,MAAM,MAAM,GAAG,eAAe,CAAC;AAE/B,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACxCJ,IAAA,CAAC,eAAe,CAAC,OAAO,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,wTAAwT,EACxT,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACTD,GAAA,CAAC,eAAe,CAAC,IAAI,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC5BA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,CAAG,EAAA,CACxB,CAAA,EAAA,CACE,CAC1B;AACD,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW;AAE/D,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAG3C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9BA,GAAA,CAAC,eAAe,CAAC,cAAc,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,sDAAsD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EACpIA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACD,CACjC;AACD,oBAAoB,CAAC,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW;AAE7E,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9BA,GAAA,CAAC,eAAe,CAAC,gBAAgB,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,sDAAsD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EACtIA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACD,CACnC;AACD,sBAAsB,CAAC,WAAW,GAAG,eAAe,CAAC,gBAAgB,CAAC,WAAW;AAEjF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC7DA,GAAA,CAAC,eAAe,CAAC,MAAM,cACtBC,IAAA,CAAC,eAAe,CAAC,OAAO,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,+iBAA+iB,EAC/iB,QAAQ,KAAK,QAAQ;AACpB,YAAA,iIAAiI,EAClI,SAAS,CACT,EACD,QAAQ,EAAE,QAAQ,EAAA,GACd,KAAK,aAETD,GAAA,CAAC,oBAAoB,KAAG,EACxBA,GAAA,CAAC,eAAe,CAAC,QAAQ,IACxB,SAAS,EAAE,EAAE,CACZ,KAAK,EACL,QAAQ,KAAK,QAAQ,IAAI,yFAAyF,CAClH,EAAA,QAAA,EAEA,QAAQ,EAAA,CACiB,EAC3BA,IAAC,sBAAsB,EAAA,EAAA,CAAG,IACD,EAAA,CACF,CACzB;AACD,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW;AAE/D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAClH;AAEF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW;AAE3D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACtCC,IAAA,CAAC,eAAe,CAAC,IAAI,EAAA,EACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,2NAA2N,EAC3N,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,IAAC,eAAe,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAE,QAAQ,EAAA,CAA4B,EAE/DA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,+DAA+D,EAAA,QAAA,EAC9EA,GAAA,CAAC,eAAe,CAAC,aAAa,EAAA,EAAA,QAAA,EAC7BA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,SAAS,GAAG,EAAA,CACE,EAAA,CAC1B,CAAA,EAAA,CACe,CACvB;AAEF,UAAU,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW;AAEzD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAGtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,eAAe,CAAC,SAAS,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAC5I,eAAe,CAAC,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW;;AChGnE,MAAM,UAAU,GAAGM,cAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,GAAGC,SAAO,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,GAAGA,SAAO,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC/I,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC;IACnE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;IAE5I,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC;AAEtF,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAa,KAAI;QAC3C,IAAI,YAAY,EAAE;AACjB,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7D,eAAe,CAAC,OAAO,CAAC;QACzB;AACD,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,IAAY,KAAI;QACzC,IAAI,YAAY,EAAE;AACjB,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,eAAe,CAAC,OAAO,CAAC;QACzB;AACD,IAAA,CAAC;AAED,IAAA,MAAM,gBAAgB,GAAG,CAAC,YAA8B,KAAI;AAC3D,QAAA,MAAM,OAAO,GAAG,YAAY,IAAI,IAAI;QACpC,eAAe,CAAC,OAAO,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC;QACvB,cAAc,CAAC,OAAO,CAAC;AACxB,IAAA,CAAC;IAED,QACCP,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAA,QAAA,EAC1DC,IAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAA,QAAA,EAAA,CAC3DD,IAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACtBA,GAAA,CAACQ,UAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,8BAA8B,EAAC,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAA,CAAI,EAAA,CAC1F,EACjBP,IAAA,CAAC,cAAc,IAAC,SAAS,EAAC,yCAAyC,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EAAA,CAChFA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC9CA,IAAA,CAAC,MAAM,EAAA,EAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAACQ,UAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,EAAA,QAAA,EAAA,CAC5FT,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAC,WAAW,EAAA,QAAA,EACnCA,GAAA,CAAC,WAAW,EAAA,EAAC,WAAW,EAAC,OAAO,EAAA,CAAG,EAAA,CACpB,EAChBA,GAAA,CAAC,aAAa,EAAA,EAAA,QAAA,EACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MACjBA,GAAA,CAAC,UAAU,EAAA,EAAa,KAAK,EAAE,KAAK,EAAA,QAAA,EAClC,KAAK,EAAA,EADU,KAAK,CAET,CACb,CAAC,EAAA,CACa,CAAA,EAAA,CACR,EACTC,IAAA,CAAC,MAAM,EAAA,EAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAEM,SAAO,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAA,QAAA,EAAA,CAC7FP,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAC,WAAW,EAAA,QAAA,EACnCA,GAAA,CAAC,WAAW,EAAA,EAAC,WAAW,EAAC,MAAM,EAAA,CAAG,EAAA,CACnB,EAChBA,GAAA,CAAC,aAAa,EAAA,EAAA,QAAA,EACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACfA,GAAA,CAAC,UAAU,EAAA,EAAY,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAA,QAAA,EAC3C,IAAI,EAAA,EADW,IAAI,CAER,CACb,CAAC,EAAA,CACa,CAAA,EAAA,CACR,CAAA,EAAA,CACJ,EACNA,IAACU,QAAiB,EAAA,EACjB,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAC,qBAAqB,EAC/B,KAAK,EAAE,YAAY,IAAI,SAAS,EAAA,CAC/B,CAAA,EAAA,CACc,CAAA,EAAA,CACR,EAAA,CACL;AAER,CAAC,CACD;;ACzED,SAASC,kBAAgB,CAAC,SAA6B,EAAE,WAAgC,EAAA;AACxF,IAAA,IAAI,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;AACvC,QAAA,OAAO,EAAE;IACV;IACA,OAAO,WAAW,GAAG,gBAAgB,GAAG,cAAc;AACvD;AAEA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACxH,IAAA,QACCX,GAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,EAAA,CACR;AAEJ,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACrI,QACCX,eACC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACR;AAEJ,CAAC;AAEe,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACvI,QACCX,eACC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACZ,8XAA8X,EAC9XW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EACT,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,YAAA,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC,EAAA,CACA;AAEJ,CAAC;AAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAChJ,QACCX,GAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACR;AAEJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACtG,IAAA,QACCX,GAAA,CAAC,SAAS,EAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ,CAAC,CACD;AAEqB,KAAK,CAAC,UAAU,CACrC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC/F,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC;AACnE,IAAA,MAAM,qBAAqB,GAAG,CAAC,YAAyB,KAAI;QAC3D,eAAe,CAAC,YAAY,CAAC;QAE7B,IAAI,YAAY,EAAE;YACjB,MAAM,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;YAC9D,IAAI,QAAQ,EAAE;gBACb,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAyC,CAAC;YACtF;QACD;AACD,IAAA,CAAC;IACD,SAAS,CAAC,MAAK;QACd,IAAI,KAAK,EAAE;YACV,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;gBACxC,eAAe,CAAC,UAAU,CAAC;YAC5B;QACD;AACD,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,QACCV,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,IAAC,SAAS,EAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,IAAI,YAAY,EACxC,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,EAEFX,aAAK,SAAS,EAAC,yDAAyD,EAAA,QAAA,EACvEA,GAAA,CAAC,UAAU,EAAA,EAAC,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,GAAI,EAAA,CACjF,CAAA,EAAA,CACD;AAER,CAAC;AAGF,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACrI,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EACCA,GAAA,CAAC,SAAS,EAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,eAAe,EAAE,IAAI,EACrB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,EAAA,CACG;AAER,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAClI,IAAA,QACCX,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EACCA,GAAA,CAAC,SAAS,EAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,eAAe,EAAE,IAAI,EACrB,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,kBAAkB,EAC9B,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,EAAA,CACG;AAER,CAAC,CAAC;AAEoB,KAAK,CAAC,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACnI,IAAA,QACCX,GAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,EAAA,CACR;AAEJ,CAAC;AAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAsC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAClJ,IAAA,MAAM,YAAY,GAAG,CAAC,KAA0C,KAAI;AACnE,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG;QACxE,MAAM,cAAc,GAAG,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,aAAa,CAAC,YAAY,CAAC,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC;QAExG,IAAI,QAAQ,EAAE;AACb,YAAA,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;QAC3E;AACD,IAAA,CAAC;AAED,IAAA,QACCX,GAAA,CAAC,SAAS,EAAA,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,EAAE,EACP,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,KAAA,CAAO,GAAG,MAAM,EAC/C,SAAS,EAAE,EAAE,CACZ,4YAA4Y,EAC5YW,kBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ,CAAC,CAAC;;AChQF,MAAM,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,MACvEX,aAAK,IAAI,EAAC,YAAY,EAAA,YAAA,EAAY,YAAY,EAAC,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAE7H,UAAU,CAAC,WAAW,GAAG,YAAY;AAErC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAA+C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACrHA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACzF;AACD,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAA4C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC/GA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACzD;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAQ7C,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAuB,MAC5FA,2BACe,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC3C,SAAS,EAAE,EAAE,CACZ,cAAc,CAAC;QACd,OAAO,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO;QACvC,IAAI;AACJ,KAAA,CAAC,EACF,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAChC,SAAS,CACT,KACG,KAAK,EAAA,CACR;AAEH,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,kBAAkB,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA+C,MACzGC,IAAA,CAAC,cAAc,EAAA,EAAA,YAAA,EACH,qBAAqB,EAChC,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,GAAG,8BAA8B,GAAG,gBAAgB,EAAE,SAAS,CAAC,EAAA,GAClG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACnCA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAqB,CAAA,EAAA,CACL;AAElB,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;AAErD,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAA+C,MACrGC,IAAA,CAAC,cAAc,EAAA,EAAA,YAAA,EACH,iBAAiB,EAC5B,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,QAAQ,GAAG,8BAA8B,GAAG,gBAAgB,EAAE,SAAS,CAAC,EAAA,GAClG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAoB,EACpBA,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,CAAA,EAAA,CACpB;AAElB,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,kBAAkB,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgC,MAChFC,IAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAkB,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,QAAA,EAAA,CAChGD,IAAC,cAAc,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACtCA,cAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,CAAkB,CAAA,EAAA,CACrC;AAER,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;;ACtErD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACnCA,GAAA,CAAC,iBAAiB,CAAC,IAAI,EAAA,EACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0EAA0E,EAAE,SAAS,CAAC,EAAA,GAChG,KAAK,YAETA,GAAA,CAAC,iBAAiB,CAAC,SAAS,EAAA,EAC3B,SAAS,EAAC,2DAA2D,EACrE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAA,YAAA,EAAe,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,EAAA,CAC1D,EAAA,CACsB,CACzB;AAEF,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW;;ACbzD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAClC,OAAOA,GAAA,CAAC,mBAAmB,CAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,KAAM,KAAK,EAAE,GAAG,EAAE,GAAG,GAAI;AACvF,CAAC;AACD,UAAU,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW;AAE7D,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAClC,IAAA,QACCA,GAAA,CAAC,mBAAmB,CAAC,IAAI,EAAA,EACxB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,0OAA0O,EAC1O,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAETA,GAAA,CAAC,mBAAmB,CAAC,SAAS,IAAC,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAC1EA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,uCAAuC,GAAG,EAAA,CAC7B,EAAA,CACN;AAE7B,CAAC;AACD,cAAc,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW;;AC3BjE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvCC,IAAA,CAAC,mBAAmB,CAAC,IAAI,EAAA,EACvB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EAAA,GAChD,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,mBAAmB,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,iCAAiC,EAAA,QAAA,EACtE,QAAQ,EAAA,CACoB,EAC/BA,GAAA,CAAC,SAAS,KAAG,EACbA,GAAA,CAAC,mBAAmB,CAAC,MAAM,EAAA,EAAA,CAAG,CAAA,EAAA,CACL,CAC5B;AACD,UAAU,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW;AAE7D,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAGhC,CAAC,EAAE,SAAS,EAAE,WAAW,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvDA,GAAA,CAAC,mBAAmB,CAAC,mBAAmB,EAAA,EACtC,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,+CAA+C,EAC/C,WAAW,KAAK,UAAU;QACxB,oDAAoD,EACtD,WAAW,KAAK,YAAY;AAC1B,QAAA,sDAAsD,EACxD,SAAS,CACV,KACG,KAAK,EAAA,QAAA,EAETA,IAAC,mBAAmB,CAAC,eAAe,EAAA,EAAC,SAAS,EAAC,wCAAwC,GAAG,EAAA,CAClD,CAC3C;AACD,SAAS,CAAC,WAAW,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,WAAW;;ACtC3E,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAIhC,CACE,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,EACtE,GAAG,MAEHA,GAAA,CAAC,kBAAkB,CAAC,IAAI,IACtB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,WAAW,KAAK,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,EAClE,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT,CACH;AAEH,SAAS,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW;;AClB3D,MAAM,KAAK,GAAGY,eAAc,CAAC;AAE7B,MAAM,YAAY,GAAGA,eAAc,CAAC;AAEpC,MAAM,UAAU,GAAGA,eAAc,CAAC;AAElC,MAAM,WAAW,GAAGA,eAAc,CAAC;AAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BZ,GAAA,CAACY,eAAc,CAAC,OAAO,EAAA,EACtB,SAAS,EAAE,EAAE,CACZ,yJAAyJ,EACzJ,SAAS,CACT,EAAA,GACG,KAAK,EACT,GAAG,EAAE,GAAG,EAAA,CACP,CACF;AAEF,YAAY,CAAC,WAAW,GAAGA,eAAc,CAAC,OAAO,CAAC,WAAW;AAE7D,MAAM,aAAa,GAAG,GAAG,CACxB,kMAAkM,EAClM;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,IAAI,EAAE;AACL,YAAA,GAAG,EAAE,mGAAmG;AACxG,YAAA,MAAM,EAAE,4GAA4G;AACpH,YAAA,IAAI,EAAE,+HAA+H;AACrI,YAAA,KAAK,EAAE,mIAAmI;AAC1I,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,IAAI,EAAE,OAAO;AACb,KAAA;AACD,CAAA,CACD;AAID,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACtDX,KAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACXD,IAAC,YAAY,EAAA,EAAA,CAAG,EAChBC,IAAA,CAACW,eAAc,CAAC,OAAO,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,aAC5F,QAAQ,EACTX,KAACW,eAAc,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,qPAAqP,aACpRZ,GAAA,CAAC,CAAC,IAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EACzBA,cAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,CAAA,EAAA,CAChB,IACC,CAAA,EAAA,CACZ,CACd;AAEF,YAAY,CAAC,WAAW,GAAGY,eAAc,CAAC,OAAO,CAAC,WAAW;AAE7D,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,MACjFZ,aAAK,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAEjG,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,MACjFA,aAAK,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAE9G,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAACY,eAAc,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAChH;AAEF,UAAU,CAAC,WAAW,GAAGA,eAAc,CAAC,KAAK,CAAC,WAAW;AAEzD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKZ,GAAA,CAACY,eAAc,CAAC,WAAW,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAClJ,gBAAgB,CAAC,WAAW,GAAGA,eAAc,CAAC,WAAW,CAAC,WAAW;;ACpFrE,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EAC6B,EAAA;AACrC,IAAA,QACEZ,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,EAAA,GACzD,KAAK,EAAA,CACT;AAEN;;ACRA,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEzC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9CC,IAAA,CAAC,gBAAgB,CAAC,OAAO,EAAA,EACxB,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACZ,2XAA2X,EAC3X,SAAS,CACT,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAER,KAAK,CAAC,QAAQ,EACfD,GAAA,CAAC,gBAAgB,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,8SAA8S,EAAA,CAAG,CAAA,EAAA,CACzT,CAC3B;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW;;ACzBjE,MAAM,iBAAiB,GAAG,IAAI;SAEd,WAAW,GAAA;AAC1B,IAAA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,SAAS,CAAC;AAE9E,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACpB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA,YAAA,EAAe,iBAAiB,GAAG,CAAC,CAAA,GAAA,CAAK,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAK;AACrB,YAAA,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC;AACnD,QAAA,CAAC;AACD,QAAA,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACxC,QAAA,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC;QAClD,OAAO,MAAM,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO,CAAC,CAAC,QAAQ;AAClB;;ACLA,MAAM,mBAAmB,GAAG,eAAe;AAC3C,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC/C,MAAM,aAAa,GAAG,OAAO;AAC7B,MAAM,oBAAoB,GAAG,OAAO;AACpC,MAAM,kBAAkB,GAAG,MAAM;AACjC,MAAM,yBAAyB,GAAG,GAAG;AAYrC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAwB,IAAI,CAAC;AAEvE,SAAS,UAAU,GAAA;IAClB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACrE;AAEA,IAAA,OAAO,OAAO;AACf;AAEA,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAOtC,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAClH,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;;;AAIzD,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;AACrD,IAAA,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,KAA8C,KAAI;AAClD,QAAA,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK;QACnE,IAAI,WAAW,EAAE;YAChB,WAAW,CAAC,SAAS,CAAC;QACvB;aAAO;YACN,QAAQ,CAAC,SAAS,CAAC;QACpB;;QAGA,QAAQ,CAAC,MAAM,GAAG,CAAA,EAAG,mBAAmB,IAAI,SAAS,CAAA,kBAAA,EAAqB,sBAAsB,CAAA,CAAE;AACnG,IAAA,CAAC,EACD,CAAC,WAAW,EAAE,IAAI,CAAC,CACnB;;AAGD,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QAC5C,OAAO,QAAQ,GAAG,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;IAC5E,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;;AAGtC,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACpB,QAAA,MAAM,aAAa,GAAG,CAAC,KAAoB,KAAI;AAC9C,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;gBAChF,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,aAAa,EAAE;YAChB;AACD,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AAClE,IAAA,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;;;IAInB,MAAM,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW;IAE7C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CACjC,OAAO;QACN,KAAK;QACL,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,UAAU;QACV,aAAa;QACb,aAAa;AACb,KAAA,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,CAAC,CAC1E;AAED,IAAA,QACCA,GAAA,CAAC,cAAc,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,YAAY,YAC3CA,GAAA,CAAC,eAAe,IAAC,aAAa,EAAE,CAAC,EAAA,QAAA,EAChCA,GAAA,CAAA,KAAA,EAAA,EACC,KAAK,EACJ;AACC,oBAAA,iBAAiB,EAAE,aAAa;AAChC,oBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,oBAAA,GAAG,KAAK;iBACe,EAEzB,SAAS,EAAE,EAAE,CAAC,mFAAmF,EAAE,SAAS,CAAC,EAC7G,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,QAAA,EAER,QAAQ,GACJ,EAAA,CACW,EAAA,CACO;AAE5B,CAAC;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAO9B,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,WAAW,GAAG,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC3G,IAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;AAEnE,IAAA,IAAI,WAAW,KAAK,MAAM,EAAE;QAC3B,QACCA,aAAK,SAAS,EAAE,EAAE,CAAC,6EAA6E,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,YAC/H,QAAQ,EAAA,CACJ;IAER;IAEA,IAAI,QAAQ,EAAE;QACb,QACCA,GAAA,CAAC,KAAK,EAAA,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAA,GAAM,KAAK,YAC9DA,GAAA,CAAC,YAAY,EAAA,EAAA,cAAA,EACC,SAAS,EAAA,aAAA,EACV,MAAM,EAClB,SAAS,EAAC,8EAA8E,EACxF,KAAK,EACJ;AACC,oBAAA,iBAAiB,EAAE,oBAAoB;AAChB,iBAAA,EAEzB,IAAI,EAAE,IAAI,EAAA,QAAA,EAEVA,aAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,EAAA,CACjD,EAAA,CACR;IAEV;IAEA,QACCC,cACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,sEAAsE,EAAA,YAAA,EACpE,KAAK,EAAA,kBAAA,EACC,KAAK,KAAK,WAAW,GAAG,WAAW,GAAG,EAAE,EAAA,cAAA,EAC5C,OAAO,eACV,IAAI,EAAA,QAAA,EAAA,CAGfD,aACC,SAAS,EAAE,EAAE,CACZ,+FAA+F,EAC/F,wCAAwC,EACxC,oCAAoC,EACpC,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK;AACrC,sBAAE;AACF,sBAAE,wDAAwD,CAC3D,EAAA,CACA,EACFA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,EAAE,CACZ,wIAAwI,EACxI,IAAI,KAAK;AACR,sBAAE;AACF,sBAAE,kFAAkF;;AAErF,gBAAA,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK;AACrC,sBAAE;sBACA,yHAAyH,EAC5H,SAAS,CACT,EAAA,GACG,KAAK,YAETA,GAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACc,SAAS,EACtB,SAAS,EAAC,+MAA+M,EAAA,QAAA,EAExN,QAAQ,GACJ,EAAA,CACD,CAAA,EAAA,CACD;AAER,CAAC;AACD,OAAO,CAAC,WAAW,GAAG,SAAS;AAE/B,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACzC,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;AAEtC,IAAA,QACCC,IAAA,CAAC,MAAM,EAAA,EACN,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,SAAS,EACtB,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EACnC,OAAO,EAAE,CAAC,KAAK,KAAI;AAClB,YAAA,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,aAAa,EAAE;AAChB,QAAA,CAAC,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EACbA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAsB,CAAA,EAAA,CACvC;AAEX,CAAC;AAEF,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAoD,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACxH,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;IAEtC,QACCA,gBACC,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,MAAM,EAAA,YAAA,EACR,gBAAgB,EAC3B,QAAQ,EAAE,EAAE,EACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,KAAK,EAAC,gBAAgB,EACtB,SAAS,EAAE,EAAE,CACZ,iPAAiP,EACjP,4EAA4E,EAC5E,wHAAwH,EACxH,yJAAyJ,EACzJ,2DAA2D,EAC3D,2DAA2D,EAC3D,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAA+C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACpH,QACCA,cACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,uDAAuD,EACvD,8QAA8Q,EAC9Q,SAAS,CACT,KACG,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAqE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC1I,QACCA,IAAC,KAAK,EAAA,EACL,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,OAAO,EACpB,SAAS,EAAE,EAAE,CAAC,2FAA2F,EAAE,SAAS,CAAC,EAAA,GACjH,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACpH,IAAA,OAAOA,aAAK,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,QAAQ,EAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAC/G,CAAC;AACD,aAAa,CAAC,WAAW,GAAG,eAAe;AAE3C,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACpH,IAAA,OAAOA,aAAK,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,QAAQ,EAAC,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAC/G,CAAC;AACD,aAAa,CAAC,WAAW,GAAG,eAAe;AAE3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACxC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAChC,OAAOA,GAAA,CAAC,SAAS,EAAA,EAAC,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,WAAW,EAAC,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAC9H,CAAC;AAEF,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;AAEjD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACrH,QACCA,aACC,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,SAAS,EACtB,SAAS,EAAE,EAAE,CAAC,gGAAgG,EAAE,SAAS,CAAC,KACtH,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AACnH,IAAA,OAAOA,aAAK,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,OAAO,EAAC,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAChI,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;AAEzC,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACjD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK;IAEnC,QACCA,GAAA,CAAC,IAAI,EAAA,EACJ,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,aAAa,EAC1B,SAAS,EAAE,EAAE,CACZ,oOAAoO,EACpO,6EAA6E,EAC7E,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ,CAAC;AAEF,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAC1C,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACjD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AAEtC,IAAA,QACCA,GAAA,CAAC,IAAI,EAAA,EACJ,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,cAAc,EAC3B,SAAS,EAAE,EAAE,CACZ,0RAA0R;;QAE1R,+CAA+C,EAC/C,sCAAsC,EACtC,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR;AAEJ,CAAC;AAEF,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;AAErD,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACtHA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,eAAe,EAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACrG;AACD,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;AAEvD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAA+C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC/GA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,MAAM,EAAC,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAC/G;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAA4C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAChHA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,WAAW,EAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAC1G;AACD,eAAe,CAAC,WAAW,GAAG,iBAAiB;AAE/C,MAAM,yBAAyB,GAAG,GAAG,CACpC,mzBAAmzB,EACnzB;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,8DAA8D;AACvE,YAAA,OAAO,EACN,oKAAoK;AACrK,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,EAAE,EAAE,aAAa;AACjB,YAAA,EAAE,EAAE,iDAAiD;AACrD,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,SAAS;AACf,KAAA;AACD,CAAA,CACD;AAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAOxC,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACrH,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;IACtC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE;AAExC,IAAA,MAAM,MAAM,IACXA,GAAA,CAAC,IAAI,EAAA,EACJ,GAAG,EAAE,GAAG,kBACK,aAAa,EAAA,WAAA,EACf,IAAI,EAAA,aAAA,EACF,QAAQ,EACrB,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAClE,KAAK,EAAA,CACR,CACF;IAED,IAAI,CAAC,OAAO,EAAE;AACb,QAAA,OAAO,MAAM;IACd;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAChC,QAAA,OAAO,GAAG;AACT,YAAA,QAAQ,EAAE,OAAO;SACjB;IACF;AAEA,IAAA,QACCC,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACPD,IAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAAE,MAAM,EAAA,CAAkB,EACjDA,GAAA,CAAC,cAAc,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,EAAE,KAAK,KAAK,WAAW,IAAI,QAAQ,EAAA,GAAM,OAAO,EAAA,CAAI,CAAA,EAAA,CAC7F;AAEZ,CAAC;AACD,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAMxC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IACxE,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;AAEtC,IAAA,QACCA,GAAA,CAAC,IAAI,EAAA,EACJ,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,aAAa,EAC1B,SAAS,EAAE,EAAE,CACZ,gVAAgV;;QAEhV,+CAA+C,EAC/C,uCAAuC,EACvC,8CAA8C,EAC9C,yCAAyC,EACzC,sCAAsC,EACtC,WAAW;AACV,YAAA,0LAA0L,EAC3L,SAAS,CACT,KACG,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;AAEnD,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAA8C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACnHA,GAAA,CAAA,KAAA,EAAA,EACC,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,YAAY,EACzB,SAAS,EAAE,EAAE,CACZ,wKAAwK,EACxK,0HAA0H,EAC1H,uCAAuC,EACvC,8CAA8C,EAC9C,yCAAyC,EACzC,sCAAsC,EACtC,SAAS,CACT,KACG,KAAK,EAAA,CACR,CACF;AACD,gBAAgB,CAAC,WAAW,GAAG,kBAAkB;AAEjD,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAK1C,CAAC,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;;AAEpD,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAK;AAChC,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG;IACjD,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,QACCC,IAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAA,cAAA,EAAe,eAAe,EAAC,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EAAA,CAC5H,QAAQ,IAAID,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,cAAA,EAAc,oBAAoB,EAAA,CAAG,EACzFA,IAAC,QAAQ,EAAA,EACR,SAAS,EAAC,qCAAqC,kBAClC,oBAAoB,EACjC,KAAK,EACJ;AACC,oBAAA,kBAAkB,EAAE,KAAK;iBACF,EAAA,CAExB,CAAA,EAAA,CACG;AAER,CAAC;AACD,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;AAEvD,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAA+C,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAClHA,GAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,UAAU,EACvB,SAAS,EAAE,EAAE,CACZ,gGAAgG,EAChG,sCAAsC,EACtC,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;AAE7C,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAA4C,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAA,GAAM,KAAK,EAAA,CAAI;AACzI,kBAAkB,CAAC,WAAW,GAAG,oBAAoB;AAErD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAO3C,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC1E,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG;AAEjC,IAAA,QACCA,GAAA,CAAC,IAAI,IACJ,GAAG,EAAE,GAAG,EAAA,cAAA,EACK,iBAAiB,eACnB,IAAI,EAAA,aAAA,EACF,QAAQ,EACrB,SAAS,EAAE,EAAE,CACZ,6eAA6e,EAC7e,wFAAwF,EACxF,IAAI,KAAK,IAAI,IAAI,SAAS,EAC1B,IAAI,KAAK,IAAI,IAAI,SAAS,EAC1B,sCAAsC,EACtC,SAAS,CACT,KACG,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;ACrjBzD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BC,IAAA,CAAC,eAAe,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,0DAA0D,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EAAA,CAC9HD,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,+EAA+E,EAAA,QAAA,EAC/GA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA,CAAG,EAAA,CACpD,EACxBA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,gQAAgQ,EAAA,CAAG,CAAA,EAAA,CAC9Q,CACvB;AAEF,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW;;ACVrD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,gBAAgB,CAAC,IAAI,EAAA,EACrB,SAAS,EAAE,EAAE,CACZ,gYAAgY,EAChY,SAAS,CACT,EAAA,GACG,KAAK,EACT,GAAG,EAAE,GAAG,EAAA,QAAA,EAERA,GAAA,CAAC,gBAAgB,CAAC,KAAK,EAAA,EACtB,SAAS,EAAE,EAAE,CACZ,4KAA4K,CAC5K,EAAA,CACA,EAAA,CACqB,CACxB;AAEF,MAAM,CAAC,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW;;ACnBtD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAA2D,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACrHA,GAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACzF;AACD,KAAK,CAAC,WAAW,GAAG,OAAO;AAE3B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAyE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACzIA,GAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACxF;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAyE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvIA,GAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACtF;AACD,SAAS,CAAC,WAAW,GAAG,WAAW;AAEnC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAyE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACzIA,GAAA,CAAA,OAAA,EAAA,EAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,yDAAyD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACnH;AACD,WAAW,CAAC,WAAW,GAAG,aAAa;AAEvC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAiE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9HA,GAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sDAAsD,EAAE,+CAA+C,EAAE,SAAS,CAAC,EAAA,GAC7H,KAAK,EAAA,CACR,CACF;AACD,QAAQ,CAAC,WAAW,GAAG,UAAU;AAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAqE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACnIA,GAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,+GAA+G,EAAE,SAAS,CAAC,EAAA,GACrI,KAAK,EAAA,CACR,CACF;AACD,SAAS,CAAC,WAAW,GAAG,WAAW;AAEnC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAqE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACnIA,GAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACxG;AACD,SAAS,CAAC,WAAW,GAAG,WAAW;AAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAyE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC1IA,GAAA,CAAA,SAAA,EAAA,EAAS,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CAChG;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;;AC7CzC,MAAM,IAAI,GAAG,aAAa,CAAC;AAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAChC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,aAAa,CAAC,IAAI,EAAA,EAClB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0GAA0G,EAAE,SAAS,CAAC,EAAA,GAChI,KAAK,EAAA,CACR,CACF;AAEF,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,WAAW;AAErD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,aAAa,CAAC,OAAO,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,qYAAqY,EACrY,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW;AAE3D,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,aAAa,CAAC,OAAO,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,iIAAiI,EACjI,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW;;ACxC3D,SAAS,gBAAgB,CAAC,SAA6B,EAAE,WAAgC,EAAA;AACxF,IAAA,IAAI,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;AACvC,QAAA,OAAO,EAAE;IACV;IACA,OAAO,WAAW,GAAG,gBAAgB,GAAG,cAAc;AACvD;AAEA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAyE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1I,IAAA,QACCA,GAAA,CAAA,UAAA,EAAA,EACC,SAAS,EAAE,EAAE,CACZ,sSAAsS,EACtS,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAC3D,SAAS,CACT,EACD,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EAAA,CACR;AAEJ,CAAC;AACD,QAAQ,CAAC,WAAW,GAAG,UAAU;;ACjBjC,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC9BA,GAAA,CAAC,eAAe,CAAC,QAAQ,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI,CACxH;AACD,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW;AAEhE,MAAM,aAAa,GAAG,GAAG,CACxB,wlBAAwlB,EACxlB;AACC,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,sCAAsC;AAC/C,YAAA,WAAW,EAAE,wBAAwB;AACrC,YAAA,OAAO,EAAE,wBAAwB;AACjC,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,KAAA;AACD,CAAA,CACD;AAED,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAG5B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;IAC3C,OAAOA,GAAA,CAAC,eAAe,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,CAAI;AAC3G,CAAC;AACD,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW;AAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,eAAe,CAAC,MAAM,EAAA,EACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,+gBAA+gB,EAC/gB,SAAS,CACT,EAAA,GACG,KAAK,EAAA,CACR,CACF;AAEF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW;AAE5D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MAC5BA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACZ,uVAAuV,EACvV,SAAS,CACT,EAAA,aAAA,EACW,EAAE,EAAA,GACV,KAAK,EAAA,QAAA,EAETA,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CACF,CACxB;AAEF,UAAU,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW;AAE1D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,eAAe,CAAC,KAAK,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAEpI,UAAU,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW;AAE1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAKA,GAAA,CAAC,eAAe,CAAC,WAAW,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AACxI,gBAAgB,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,WAAW;;AChFtE;AAKA,MAAM,WAAW,GAAG,CAAC;AACrB,MAAM,kBAAkB,GAAG,OAAO;AAiBlC,IAAI,KAAK,GAAG,CAAC;AAEb,SAAS,KAAK,GAAA;IACb,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB;AAC7C,IAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;AACxB;AA0BA,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyC;AAEtE,MAAM,gBAAgB,GAAG,CAAC,OAAe,KAAI;AAC5C,IAAA,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC/B;IACD;AAEA,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;AAC/B,QAAA,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7B,QAAA,QAAQ,CAAC;AACR,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,OAAO,EAAE,OAAO;AAChB,SAAA,CAAC;IACH,CAAC,EAAE,kBAAkB,CAAC;AAEtB,IAAA,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;AACpC,CAAC;AAEM,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,MAAc,KAAW;AAC9D,IAAA,QAAQ,MAAM,CAAC,IAAI;AAClB,QAAA,KAAK,WAAW;YACf,OAAO;AACN,gBAAA,GAAG,KAAK;AACR,gBAAA,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;aAC7D;AAEF,QAAA,KAAK,cAAc;YAClB,OAAO;AACN,gBAAA,GAAG,KAAK;AACR,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aAC3F;QAEF,KAAK,eAAe,EAAE;AACrB,YAAA,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;YAE1B,IAAI,OAAO,EAAE;gBACZ,gBAAgB,CAAC,OAAO,CAAC;YAC1B;iBAAO;AACN,gBAAA,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACjC,oBAAA,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B;YACD;YAEA,OAAO;AACN,gBAAA,GAAG,KAAK;gBACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAC1B,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,OAAO,KAAK;AAC/B,sBAAE;AACA,wBAAA,GAAG,CAAC;AACJ,wBAAA,IAAI,EAAE,KAAK;AACV;sBACD,CAAC,CACJ;aACD;QACF;AACA,QAAA,KAAK,cAAc;AAClB,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;gBACjC,OAAO;AACN,oBAAA,GAAG,KAAK;AACR,oBAAA,MAAM,EAAE,EAAE;iBACV;YACF;YACA,OAAO;AACN,gBAAA,GAAG,KAAK;AACR,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC;aAC3D;;AAEJ,CAAC;AAED,MAAM,SAAS,GAAkC,EAAE;AAEnD,IAAI,WAAW,GAAU,EAAE,MAAM,EAAE,EAAE,EAAE;AAEvC,SAAS,QAAQ,CAAC,MAAc,EAAA;AAC/B,IAAA,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;AAC1C,IAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QACjC,QAAQ,CAAC,WAAW,CAAC;IACtB;AACD;AAIA,SAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAS,EAAA;AACjC,IAAA,MAAM,EAAE,GAAG,KAAK,EAAE;IAElB,MAAM,MAAM,GAAG,CAAC,KAAmB,KAClC,QAAQ,CAAC;AACR,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;AACvB,KAAA,CAAC;AACH,IAAA,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEtE,IAAA,QAAQ,CAAC;AACR,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,EAAE;AACF,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,YAAY,EAAE,CAAC,IAAI,KAAI;AACtB,gBAAA,IAAI,CAAC,IAAI;AAAE,oBAAA,OAAO,EAAE;YACrB,CAAC;AACD,SAAA;AACD,KAAA,CAAC;IAEF,OAAO;AACN,QAAA,EAAE,EAAE,EAAE;QACN,OAAO;QACP,MAAM;KACN;AACF;AAEA,SAAS,QAAQ,GAAA;AAChB,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAQ,WAAW,CAAC;AAE5D,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACpB,QAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AACxB,QAAA,OAAO,MAAK;YACX,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzC,YAAA,IAAI,KAAK,GAAG,EAAE,EAAE;AACf,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3B;AACD,QAAA,CAAC;AACF,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,OAAO;AACN,QAAA,GAAG,KAAK;QACR,KAAK;AACL,QAAA,OAAO,EAAE,CAAC,OAAgB,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;KAC3E;AACF;;SCnLgB,OAAO,GAAA;AACtB,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;AAE7B,IAAA,MAAM,OAAO,GAAG,CAAC,IAAqB,EAAE,OAAsB,KAAI;QACjE,IAAI,IAAI,EAAE;AACT,YAAA,OAAO,IAAI;QACZ;QAEA,QAAQ,OAAO;AACd,YAAA,KAAK,SAAS;AACb,gBAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uCAAuC,EAAA,QAAA,EACrDA,IAAC,KAAK,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,YAAY,EAAA,CAAG,EAAA,CACrC;AAER,YAAA,KAAK,aAAa;AACjB,gBAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EACjDA,IAAC,OAAO,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,YAAY,EAAA,CAAG,EAAA,CACvC;AAER,YAAA;AACC,gBAAA,OAAO,IAAI;;AAEd,IAAA,CAAC;IAED,QACCC,KAAC,aAAa,EAAA,EAAA,QAAA,EAAA,CACZ,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,MACvEA,KAAC,KAAK,EAAA,EAAA,GAAc,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAA,CAChFA,cAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CAC1BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAChC,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,EAC9B,KAAK,IAAID,GAAA,CAAC,UAAU,cAAE,KAAK,EAAA,CAAc,SACrC,EACL,WAAW,IAAIA,GAAA,CAAC,gBAAgB,EAAA,EAAA,QAAA,EAAE,WAAW,EAAA,CAAoB,CAAA,EAAA,CAC7D,EACL,MAAM,EACPA,IAAC,UAAU,EAAA,EAAC,SAAS,EAAC,YAAY,EAAA,CAAG,KAT1B,EAAE,CAUN,CACR,CAAC,EACFA,IAAC,aAAa,EAAA,EAAA,CAAG,CAAA,EAAA,CACF;AAElB;;AClCc,SAAU,WAAW,CAAC,EAAE,SAAS,EAAE,aAAa,EAAqB,EAAA;IAClF,MAAM,OAAO,GAAG,IAAI;IACpB,MAAM,SAAS,GAAG,IAAI;IAEtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAGM,cAAK,CAAC,QAAQ,CAAkB;AACvD,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,EAAE,EAAE,OAAO;AACX,KAAA,CAAC;IAEF,MAAM,UAAU,GAAG,MAAK;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;YAC3C,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAClC;AACD,IAAA,CAAC;AAED,IAAA,QACCN,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,YAC1CC,IAAA,CAACY,SAAO,EAAA,EAAA,QAAA,EAAA,CACPb,GAAA,CAACc,gBAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACtBb,IAAA,CAAC,MAAM,EAAA,EACN,EAAE,EAAC,MAAM,EACT,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,qGAAqG,EAAA,QAAA,EAAA,CAEhHD,GAAA,CAAC,YAAY,EAAA,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,MAAM,EAAA,CAAG,EAC1D,IAAI,EAAE,EAAE,IACRC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAA,KAAA,EAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA,CAC1F,KAEHF,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,CAAgC,CAChC,IACO,EAAA,CACO,EACjBC,IAAA,CAACc,gBAAc,IAAC,SAAS,EAAC,4FAA4F,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EAAA,CACnIf,GAAA,CAAC,QAAQ,EAAA,EAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,IAAI,EAAA,CAAG,EAEzFA,GAAA,CAAC,YAAY,IAAC,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAC7DA,IAAC,MAAM,EAAA,EAAC,SAAS,EAAC,4DAA4D,EAAC,OAAO,EAAE,UAAU,+BAEzF,EAAA,CACK,CAAA,EAAA,CACC,CAAA,EAAA,CACR,EAAA,CACL;AAER;;AC5DA;SACgB,sBAAsB,GAAA;;;IAGrC,OAAO;AACN,QAAA,KAAK,EAAE;AACN,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,OAAO,EAAE;AACR,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,KAAK,EAAE;AACN,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,GAAG,EAAE;AACJ,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACP,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,KAAK,EAAE;AACN,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACP,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,KAAK,EAAE;AACN,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,OAAO,EAAE;AACR,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,GAAG,EAAE;AACJ,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACP,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACP,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,MAAM,EAAE;AACP,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,OAAO,EAAE;AACR,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACL,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,GAAG,EAAE,SAAS;AACd,SAAA;KACD;AACF;MAIa,0BAA0B,GAAG,CAAC,KAAa,EAAE,aAAqB,KAAsB;AACpG,IAAA,MAAM,WAAW,GAAG,sBAAsB,EAAE;IAC5C,MAAM,YAAY,GAAG,CAAC,KAAa,KAAiC,KAAK,IAAI,WAAW;AACxF,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,MAAM;IAElG,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC1C,IAAA,EAAE,CAAC,EAAE,GAAG,iBAAiB;AACzB,IAAA,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;AACnC,IAAA,EAAE,CAAC,WAAW,GAAG,SAAS;AAE1B,IAAA,IAAI,KAAK,KAAK,OAAO,EAAE;QACtB,EAAE,CAAC,WAAW,IAAI,CAAA,sBAAA,EAAyB,YAAY,CAAC,EAAE,CAAC,CAAA,GAAA,CAAK;QAChE,EAAE,CAAC,WAAW,IAAI,CAAA,kBAAA,EAAqB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QAC7D,EAAE,CAAC,WAAW,IAAI,CAAA,gBAAA,EAAmB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QAC3D,EAAE,CAAC,WAAW,IAAI,CAAA,kBAAA,EAAqB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QAC7D,EAAE,CAAC,WAAW,IAAI,CAAA,2BAAA,EAA8B,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IACvE;IACA,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,WAAW,EAAE;QAC/C,EAAE,CAAC,WAAW,IAAI,CAAA,uBAAA,EAA0B,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QAClE,EAAE,CAAC,WAAW,IAAI,CAAA,4BAAA,EAA+B,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QACvE,EAAE,CAAC,WAAW,IAAI,CAAA,qBAAA,EAAwB,YAAY,CAAC,EAAE,CAAC,CAAA,GAAA,CAAK;QAC/D,EAAE,CAAC,WAAW,IAAI,CAAA,UAAA,EAAa,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;QACrD,EAAE,CAAC,WAAW,IAAI,CAAA,wBAAA,EAA2B,YAAY,CAAC,EAAE,CAAC,CAAA,GAAA,CAAK;QAClE,EAAE,CAAC,WAAW,IAAI,CAAA,oBAAA,EAAuB,YAAY,CAAC,EAAE,CAAC,CAAA,GAAA,CAAK;QAC9D,EAAE,CAAC,WAAW,IAAI,CAAA,mBAAA,EAAsB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC/D;IACA,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,EAAE;;QAE9C,EAAE,CAAC,WAAW,IAAI,CAAA,kBAAA,EAAqB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC9D;IACA,EAAE,CAAC,WAAW,IAAI,CAAA,sBAAA,EAAyB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IACjE,EAAE,CAAC,WAAW,IAAI,CAAA,4BAAA,EAA+B,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IACvE,EAAE,CAAC,WAAW,IAAI,CAAA,WAAA,EAAc,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IACtD,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,eAAA,EAAkB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC1D,EAAE,CAAC,WAAW,IAAI,CAAA,cAAA,EAAiB,YAAY,CAAC,EAAE,CAAC,CAAA,GAAA,CAAK;IACxD,EAAE,CAAC,WAAW,IAAI,CAAA,iBAAA,EAAoB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;IAC5D,EAAE,CAAC,WAAW,IAAI,CAAA,mBAAA,EAAsB,YAAY,CAAC,GAAG,CAAC,CAAA,GAAA,CAAK;AAC9D,IAAA,EAAE,CAAC,WAAW,IAAI,GAAG;AAErB,IAAA,OAAO,EAAE;AACV;;AC/TO,MAAM,kBAAkB,GAA2B;AACzD,IAAA,WAAW,EAAE,EAAE;AACf,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,iBAAiB,EAAE,2BAA2B;AAC9C,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,kBAAkB,EAAE,KAAK;;AAG1B,MAAM,YAAY,GAAuB;AACxC,IAAA,iBAAiB,EAAE,kBAAkB;AACrC,IAAA,oBAAoB,EAAE,MAAM,IAAI;CAChC;AAED,MAAM,oBAAoB,GAAG,aAAa,CAAqB,YAAY,CAAC;SAE5D,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,GAAG,kBAAkB,EAAE,UAAU,GAAG,eAAe,EAAE,GAAG,KAAK,EAAsB,EAAA;AACxI,IAAA,MAAM,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAyB;AACvF,QAAA,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,YAAA,CAAc,CAAC,IAAI,YAAY,CAAC,WAAW;AAC1F,QAAA,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,aAAA,CAAe,CAAC,IAAI,YAAY,CAAC,YAAY;AAC7F,QAAA,iBAAiB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,kBAAA,CAAoB,CAAC,IAAI,YAAY,CAAC,iBAAiB;AAC5G,QAAA,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,iBAAA,CAAmB,CAAC,IAAI,YAAY,CAAC,gBAAgB;QACzG,aAAa,EAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAW,IAAI,YAAY,CAAC,aAAa;AACxF,QAAA,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,MAAA,CAAQ,CAAC,IAAI,YAAY,CAAC,KAAK;QACxE,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,UAAU,CAAA,mBAAA,CAAqB,CAAC,KAAK,MAAM;AACvF,KAAA,CAAC;IAEF,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,KAAK,GAAG,iBAAiB,EAAE,aAAa;AAE9C,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe;QAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;AACnD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AAEzB,QAAA,QAAQ,CAAC,KAAK,GAAG,iBAAiB,EAAE,KAAK;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC;QAC/D,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC;QACvD;QAEA,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAkB,mBAAmB,CAAC;QACvE,IAAI,CAAC,IAAI,EAAE;AACV,YAAA,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,CAAC,GAAG,GAAG,MAAM;AACjB,YAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3D;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,iBAAiB,EAAE,WAAW;QAE1C,MAAM,EAAE,GAAG,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AAEjF,QAAA,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC;AACzC,YAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAE,CAAC;AAClG,QAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;AACzD,IAAA,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAEvB,IAAA,MAAM,oBAAoB,GAAG,CAAC,iBAAyC,KAAI;QAC1E,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,YAAA,CAAc,EAAE,iBAAiB,CAAC,WAAW,CAAC;QAChF,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,aAAA,CAAe,EAAE,iBAAiB,CAAC,YAAY,CAAC;QAClF,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,kBAAA,CAAoB,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;QAC5F,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,iBAAA,CAAmB,EAAE,iBAAiB,CAAC,gBAAgB,CAAC;QAC1F,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,cAAA,CAAgB,EAAE,iBAAiB,CAAC,aAAa,CAAC;QACpF,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,MAAA,CAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC;AACpE,QAAA,YAAY,CAAC,OAAO,CAAC,CAAA,EAAG,UAAU,CAAA,mBAAA,CAAqB,EAAE,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AAEtG,QAAA,yBAAyB,CAAC;AACzB,YAAA,WAAW,EAAE,iBAAiB,CAAC,WAAW,IAAI,kBAAkB,CAAC,WAAW;AAC5E,YAAA,YAAY,EAAE,iBAAiB,CAAC,YAAY,IAAI,kBAAkB,CAAC,YAAY;AAC/E,YAAA,iBAAiB,EAAE,iBAAiB,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,iBAAiB;AAC9F,YAAA,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,gBAAgB;AAC3F,YAAA,aAAa,EAAE,iBAAiB,CAAC,aAAa,GAAI,iBAAiB,CAAC,aAAuB,GAAG,kBAAkB,CAAC,aAAa;AAC9H,YAAA,KAAK,EAAE,iBAAiB,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK;AAC1D,YAAA,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,kBAAkB;AACjG,SAAA,CAAC;AACH,IAAA,CAAC;AAED,IAAA,MAAM,KAAK,GAAuB;QACjC,iBAAiB;AACjB,QAAA,oBAAoB,EAAE,oBAAoB;KAC1C;AAED,IAAA,QACCA,GAAA,CAAC,oBAAoB,CAAC,QAAQ,EAAA,EAAA,GAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAA,QAAA,EACpD,QAAQ,EAAA,CACsB;AAElC;AAEO,MAAM,QAAQ,GAAG,MAAK;AAC5B,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC;IAEhD,IAAI,OAAO,KAAK,SAAS;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;AAE1F,IAAA,OAAO,OAAO;AACf;;ACrHA,MAAM,YAAY,GAAG,CAAC,QAAqB,KAAI;AAC9C,IAAA,QACCA,GAAA,CAAC,eAAe,cACfC,IAAA,CAAC,OAAO,eACPD,GAAA,CAAC,cAAc,IAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EAC/BA,GAAA,CAAC,UAAU,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,YAAY,GAAG,EAAA,CAC/B,EACjBA,IAAC,cAAc,EAAA,EAAC,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EACxE,QAAQ,GACO,CAAA,EAAA,CACR,EAAA,CACO;AAEpB;;ACVA,MAAM,SAAS,GAAG,CAAC,SAA6B,EAAE,KAAa,KAAI;IAClE,OAAOA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAAE,KAAK,EAAA,CAAa;AACvF;AAEA,MAAM,oBAAoB,GAAG,CAAC,SAA6B,EAAE,KAAa,EAAE,QAAiB,EAAE,QAA8B,EAAE,SAAkB,KAAI;IACpJ,QACCC,cAAK,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,aAClDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CACzB,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EAC3B,QAAQ,IAAID,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,GAAA,EAAA,CAAc,CAAA,EAAA,CAC7E,EACL,QAAQ,IAAIA,IAAC,SAAS,EAAA,EAAC,SAAS,EAAC,+BAA+B,YAAE,QAAQ,EAAA,CAAa,CAAA,EAAA,CACnF;AAER;;AChBA,MAAM,WAAW,GAAG,CAAC,WAAiC,KAAI;AACzD,IAAA,OAAOA,IAAC,WAAW,EAAA,EAAC,SAAS,EAAC,mBAAmB,GAAG;AACrD;;MCWa,iBAAiB,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAI;AAC9H,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,QACCA,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MACjBC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,QAAQ,IACR,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,CAAA,EACV,KAAK,CAAC;AACL,sCAAE;sCACA,yCACJ,CAAA,CAAE,EACF,eAAe,EAAE,CAAC,OAAO,KAAI;AAC5B,oCAAA,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;AAC1B,oCAAA,eAAe,GAAG,OAAkB,CAAC;AACtC,gCAAA,CAAC,EACD,QAAQ,EAAE,QAAQ,EAAA,CACjB,GACW,EACdC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAAA,CACnD,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EACpC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,CAAA,EAAA,CACD,EACL,WAAW,CAAC,WAAW,CAAC,IACf,CACX,EAAA,CACA;AAEJ;;ACjDO,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAO,KAAY;AACpD,IAAA,MAAM,KAAK,GAAG,CAAC,CAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE;AACtG,IAAA,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AAC5C,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAW,KAAgB;IACnD,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,IAAA,OAAO;AACN,UAAE;YACA,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAChC;UACD,IAAI;AACR,CAAC;;ACUM,MAAM,cAAc,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI;AAC3I,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,MAAM,aAAa,GAAG,SAAS;IAC/B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,aAAa,CAAC;IACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAE1D,IAAA,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,QAAmC,KAAI;AACnF,QAAA,QAAQ,GAAG,QAAQ,CAAC;QACpB,eAAe,CAAC,QAAQ,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,QAAmC,KAAI;AAC5E,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAClC,YAAA,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC;aAAO;YACN,eAAe,CAAC,GAAG,CAAC;QACrB;AACD,IAAA,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAqB,EAAE,KAAa,EAAE,QAAmC,KAAI;QACrG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,GAAG,EAAE;AAChE,YAAA,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,QAAQ,EAAE;YAE1C,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;QAC9C;AACD,IAAA,CAAC;IAED,QACCD,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,KAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,aAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACNA,KAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACPD,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,kBACtBA,GAAA,CAAC,WAAW,cACXA,GAAA,CAAC,MAAM,IACN,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CAAC,+CAA+C,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,SAAS,CAAC,EAC1G,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAA,QAAA,EAE5CC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAC7C,KAAK,CAAC,KAAK,IACXD,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAC,4DAA4D,EACtE,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,EAAA,CACtC,KAEFA,GAAA,CAAC,UAAU,IAAC,SAAS,EAAC,SAAS,EAAA,CAAG,CAClC,EACDA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACtC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,WAAW,IAAI,mBAAmB,GAC1D,CAAA,EAAA,CACD,EAAA,CACE,GACI,EAAA,CACE,EACjBA,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAA,QAAA,EAC/CC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACnCD,iBAAS,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAC9CA,GAAA,CAAC,cAAc,EAAA,EACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa,EACnC,QAAQ,EAAE,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAA,CAClE,EAAA,CACO,EACVC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CAC1BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,aACnCD,GAAA,CAAC,KAAK,sBAAY,EAClBA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,EAAA,CAAI,CAAA,EAAA,CACzG,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CAC1BA,cAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACnCD,GAAA,CAAC,KAAK,oBAAU,EAChBA,GAAA,CAAC,KAAK,EAAA,EACL,KAAK,EAAE,GAAG,CAAC,CAAC,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EACrE,SAAS,EAAC,MAAM,EAAA,CACf,CAAA,EAAA,CACG,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,aACnCD,GAAA,CAAC,KAAK,oBAAU,EAChBA,GAAA,CAAC,KAAK,EAAA,EACL,KAAK,EAAE,GAAG,CAAC,CAAC,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EACrE,SAAS,EAAC,MAAM,EAAA,CACf,CAAA,EAAA,CACG,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACnCD,GAAA,CAAC,KAAK,EAAA,EAAA,QAAA,EAAA,GAAA,EAAA,CAAU,EAChBA,GAAA,CAAC,KAAK,IACL,KAAK,EAAE,GAAG,CAAC,CAAC,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,EACrE,SAAS,EAAC,MAAM,EAAA,CACf,CAAA,EAAA,CACG,CAAA,EAAA,CACD,CAAA,EAAA,CACD,IACD,EAAA,CACU,CAAA,EAAA,CACR,EACT,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC3FO,MAAM,YAAY,GAAoB,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,cAAc,EACd,QAAQ,EACR,SAAS,EACT,cAAc,EACd,WAAW,GAAG,KAAK,EACnB,kBAAkB,GAAG,IAAI,EACzB,iBAAiB,GAAG,IAAI,EACxB,cAAc,GAAG,KAAK,EACtB,QAAQ,EACR,QAAQ,EACR,YAAY,GACZ,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC;IAC5D,MAAM,mBAAmB,GAAG,uBAAuB;IAEnD,SAAS,CAAC,MAAK;QACd,UAAU,CAAC,KAAK,CAAC;AAClB,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,MAAM,UAAU,GAAG,MAAK;AACvB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,OAAO,EAAE;QACV;QAEA,IAAI,eAAe,GAAG,OAAO;QAC7B,IAAI,iBAAiB,EAAE;YACtB,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAI;AAC3C,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC;AACnB,qBAAA,WAAW;qBACX,SAAS,CAAC,KAAK;AACf,qBAAA,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAC9B,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC;AACvB,sBAAE,WAAW;qBACZ,SAAS,CAAC,KAAK;AACf,qBAAA,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG;AACb,qBAAA,WAAW;qBACX,SAAS,CAAC,KAAK;AACf,qBAAA,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAE9B,gBAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;AAC5D,YAAA,CAAC,CAAC;QACH;QAEA,IAAI,cAAc,EAAE;AACnB,YAAA,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACpF;AAEA,QAAA,OAAO,eAAe;AACvB,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAyB,KAAgC;AACnF,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;QAE/D,IAAI,MAAM,EAAE;AACX,YAAA,OAAO,MAAM;QACd;AAEA,QAAA,OAAO,cAAc;AACtB,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAyB,EAAE,KAAiD,KAAI;AACrG,QAAA,MAAM,MAAM,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,SAAS;QAE3D,IAAI,WAAW,EAAE;AAChB,YAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;QAC1D;aAAO;AACN,YAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB;QAEA,IAAI,QAAQ,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC;QACjB;QACA,IAAI,kBAAkB,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC;QACf;AACD,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAA4C,KAAI;AACpE,QAAA,MAAM,YAAY,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;QAE7D,IAAI,QAAQ,EAAE;YACb,UAAU,CAAC,IAAI,CAAC;YAChB,QAAQ,CAAC,YAAY,CAAC;QACvB;QACA,eAAe,CAAC,YAAY,CAAC;AAC9B,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACNA,IAAA,CAAC,OAAO,EAAA,EACP,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,KAAI;AACtB,wBAAA,IAAI,CAAC,QAAQ;4BAAE,OAAO,CAAC,IAAI,CAAC;oBAC7B,CAAC,EAAA,QAAA,EAAA,CAEDD,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,kBACtBA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,CAAA,wBAAA,EAA2B,IAAI,GAAG,gCAAgC,GAAG,QAAQ,CAAA,CAAE,EAAE,SAAS,CAAC,EAAA,QAAA,EAC7GC,IAAA,CAAC,MAAM,EAAA,EACN,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,UAAU,EAAA,eAAA,EACA,IAAI,EACnB,SAAS,EAAE,EAAE,CACZ,0FAA0F,EAC1F,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,EAAE,EAC9C,SAAS,CACT,EACD,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAA,QAAA,EAAA,CAE3C,QAAQ,EACTD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAC3DA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAC9BC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CACzB,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA,EAAA,CACjC,KAEND,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,eAAe,EAAA,QAAA,EAAE,WAAW,IAAI,mBAAmB,EAAA,CAAQ,CAC3E,EAAA,CACK,EAAA,CACF,EACL,SAAS,IAAIA,GAAA,CAAC,cAAc,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,iBAAiB,EAAA,CAAG,CAAA,EAAA,CAC9D,EAAA,CACJ,EAAA,CACO,EAAA,CACE,EACjBC,IAAA,CAAC,cAAc,IAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,mCAAmC,CAAC,EAAA,QAAA,EAAA,CACnFA,IAAA,CAAC,OAAO,EAAA,EAAC,YAAY,EAAE,KAAK,EAAA,QAAA,EAAA,CAC1B,CAAC,cAAc,IAAID,GAAA,CAAC,YAAY,EAAA,EAAC,WAAW,EAAE,WAAW,IAAI,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAA,CAAI,EAC3GC,IAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACXD,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAC,oEAAoE,YAC1F,OAAO,IACPA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,yCAAyC,EAAA,CAAG,IAC3E,UAAU,EAAE,EAAE,MAAM,KAAK,CAAC,KAAK,YAAY,KAAK,EAAE,IAAI,cAAc,CAAC,IACxE,6BAA6B,KAE7B,gCAAgC,CAChC,EAAA,CACa,EACd,OAAO,CAAC,MAAM,GAAG,CAAC,KAClBA,GAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EACX,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,MACxBC,IAAA,CAAC,WAAW,EAAA,EAEX,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAC,OAAO,EACjB,QAAQ,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAA,QAAA,EAAA,CAEjDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,6CAA6C,EAAE,MAAM,CAAC,SAAS,CAAC,EAAA,QAAA,EAAA,CAClFA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAA,QAAA,EAAA,CACzB,MAAM,CAAC,IAAI,EACZD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAE,MAAM,CAAC,KAAK,EAAA,CAAQ,CAAA,EAAA,CACvD,EACNA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAE,MAAM,CAAC,QAAQ,EAAA,CAAQ,CAAA,EAAA,CACpE,EACNC,IAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,CAAA,sBAAA,EACV,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,GAAG,aAAa,GAAG,WAChD,CAAA,CAAE,EAAA,QAAA,EAAA,CAEFD,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,WAAW,IAAI,iCAAiC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAA,CAAI,EAC5FA,GAAA,CAAC,CAAC,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,WAAW,IAAI,6BAA6B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAA,CAAI,CAAA,EAAA,CACjF,CAAA,EAAA,EAnBD,CAAA,QAAA,EAAW,MAAM,CAAC,KAAK,CAAA,CAAE,CAoBjB,CACd,CAAC,EAAA,CACY,CACf,CAAA,EAAA,CACY,CAAA,EAAA,CACL,EACT,YAAY,KACZA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0BAA0B,EAAA,QAAA,EACxCC,IAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,EAAA,QAAA,EAAA,CACzF,YAAY,CAAC,IAAI,EACjB,YAAY,CAAC,KAAK,CAAA,EAAA,CACX,GACJ,CACN,CAAA,EAAA,CACe,CAAA,EAAA,CACR,EACT,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC7OA,MAAMe,OAAK,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;AAEhD,MAAM,gBAAgB,GAAoB,CAAC,EACjD,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AACnF,IAAA,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAACA,OAAK,CAAC,CAAC,CAAC,CAAC;AAE1C,IAAA,MAAM,gBAAgB,GAAG,CAAC,KAAa,KAAI;QAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC7C,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE;AAC7B,YAAA,OAAO,CAACA,OAAK,CAAC,CAAC,CAAC,CAAC;QAClB;aAAO;AACN,YAAA,OAAO,CAACA,OAAK,CAAC,CAAC,CAAC,CAAC;QAClB;AACD,IAAA,CAAC;IAED,QACChB,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,gBAAgB,EAAA,EAAA,GACZ,KAAK,EACT,SAAS,EAAE,GAAG,SAAS,CAAA,CAAE,EACzB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,4BAAA,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAChC,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;AACD,wBAAA,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,KAAI;4BACd,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,CAAC,CAAC;4BACX;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AClEO,MAAM,iBAAiB,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI;AAC3I,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,gBAAgB,EAAA,EAAA,GACZ,KAAK,EACT,MAAM,EAAC,IAAI,EACX,SAAS,EAAE,CAAA,EAAG,SAAS,CAAA,CAAE,EACzB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjB,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AClDO,MAAM,yBAAyB,GAAG,MAAW;AACnD,IAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;AACtB,IAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACtD;AAEO,MAAM,sBAAsB,GAAG,MAAW;AAChD,IAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE;AACtB,IAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1D;AAEO,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,SAAA,GAAoB,GAAG,KAAsB;AAC7F,IAAA,IAAI,CAAC,UAAU;AAAE,QAAA,OAAO,SAAS;IAEjC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;AAC7C,IAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,SAAS;IAE5C,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACtC,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEvC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;AAClC;AAEO,MAAM,QAAQ,GAAG,MAAW;AAClC,IAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE;IAC3B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAEhD,IAAA,OAAO,QAAQ;AAChB;AAEO,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,SAAA,GAAoB,GAAG,KAAY;AAC3E,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,EAAE;AAEpB,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD;AAEO,MAAM,cAAc,GAAG,CAAC,IAAY,KAAU;AACpD,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE;IACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AACnC,IAAA,OAAO,IAAI;AACZ;;ACbO,MAAM,aAAa,GAAoB,CAAC,EAC9C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,YAAY,EAC1B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IACnF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEvC,QACCA,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,IAAC,SAAS,EAAA,EAAA,GACL,KAAK,EACT,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,IAAI,EACrB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,oCAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;oCACjB,IAAI,QAAQ,EAAE;wCACb,QAAQ,CAAC,CAAC,CAAC;oCACZ;AACD,gCAAA,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,KAAI;oCACd,IAAI,OAAO,EAAE;wCACZ,OAAO,CAAC,CAAC,CAAC;oCACX;AACD,gCAAA,CAAC,GACA,EAEFA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yDAAyD,EAAA,QAAA,EACvEC,IAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAA,QAAA,EAAA,CACzCD,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACtBA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,8BAA8B,EAAA,CAAG,GACnD,EACjBA,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,eAAe,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EACtDA,IAAC,QAAQ,EAAA,EACR,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,EACjD,QAAQ,EAAE,CAAC,IAAI,KAAI;AAClB,oDAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oDAC5D,IAAI,QAAQ,EAAE;AACb,wDAAA,QAAQ,CAAC;AACR,4DAAA,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;AACxB,yDAAA,CAAC;oDAC1C;oDACA,OAAO,CAAC,KAAK,CAAC;gDACf,CAAC,EACD,SAAS,EAAC,YAAY,EACtB,aAAa,EAAC,UAAU,EAAA,CACvB,EAAA,CACc,CAAA,EAAA,CACR,GACL,CAAA,EAAA,CACD,EAAA,CACO,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AClFO,MAAM,aAAa,GAAoB,CAAC,EAC9C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACR,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;;IAGnF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEvC,IAAA,MAAM,gBAAgB,GAAG,CAAC,OAA8B,EAAE,KAAU,KAAI;;AAEvE,QAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvB,QAAA,IAAI,QAAQ;YAAE,QAAQ,CAAC,OAAO,CAAC;AAChC,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXC,KAAC,OAAO,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACzCD,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAC,SAAS,EAAC,QAAQ,YACzCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,yBAAA,EAA4B,IAAI,GAAG,gCAAgC,GAAG,QAAQ,CAAA,CAAE,EAAA,QAAA,EAC/FC,IAAA,CAAC,MAAM,EAAA,EACN,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,UAAU,EAAA,eAAA,EACA,IAAI,EACnB,SAAS,EAAE,EAAE,CACZ,CAAA,CAAA,EAAI,SAAS,CAAA,uFAAA,CAAyF,EACtG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,EAAE,CAC9C,EACD,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAA,QAAA,EAAA,CAE5CD,GAAA,CAAC,YAAY,IAAC,SAAS,EAAC,eAAe,EAAA,CAAG,EACzC,KAAK,CAAC,KAAK,EAAE,IAAI,IACjB,KAAK,CAAC,KAAK,EAAE,EAAE,IACdC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,EAAA,KAAA,EAAK,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,IAChF,KAEH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CACvC,KAEDF,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,yBAAA,EAAA,CAA0B,CACrE,CAAA,EAAA,CACO,GACJ,EAAA,CACU,EACjBA,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAC,OAAO,EAAA,QAAA,EACxDA,aAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACvCA,IAAC,QAAQ,EAAA,EACR,YAAY,EAAA,IAAA,EACZ,IAAI,EAAC,OAAO,EACZ,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAC/B,QAAQ,EAAE,KAAK,CAAC,KAAK,EACrB,cAAc,EAAE,CAAC,EACjB,SAAS,EAAC,MAAM,EAChB,QAAQ,EAAE,CAAC,OAAO,KAAK,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA,CACtD,EAAA,CACG,EAAA,CACU,IACR,EAAA,CACG,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC3FO,MAAM,gBAAgB,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI;AAC1I,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,gBAAgB,EAAA,EAAA,GACZ,KAAK,EACT,SAAS,EAAE,CAAA,EAAG,SAAS,EAAE,EACzB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjB,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC7BO,MAAM,aAAa,GAAoB,CAAC,EAC9C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,GACR,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IACnF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAEtC,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,SAAS,EAAA,EACT,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAC,KAAI;4BACf,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;AACA,4BAAA,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BACxB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/B,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;ACtDO,MAAM,cAAc,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAI;IAC/E,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAExE,QACCA,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MACjBC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BD,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,IAAC,SAAS,EAAA,EAAA,GAAK,KAAK,EAAE,SAAS,EAAC,QAAQ,EAAA,CAAG,EAAA,CAC9B,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;ACLO,MAAM,SAAS,GAAoB,CAAC,EAC1C,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,QACCA,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,cACXA,GAAA,CAAC,KAAK,OACD,KAAK,EACT,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,CAAC,KAAI;4BACd,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,CAAC,CAAC;4BACX;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC7CO,MAAM,aAAa,GAAoB,CAAC,EAC9C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,KAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,aAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,cACXA,GAAA,CAAC,SAAS,OACL,KAAK,EACT,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAC,KAAI;AACf,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjB,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;AACD,wBAAA,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,KAAI;4BACd,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,CAAC,CAAC;4BACX;AACD,wBAAA,CAAC,EACD,GAAG,EAAE,QAAQ,GACZ,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC/DA,MAAM,mBAAmB,GAAG,GAAG,CAAC,mBAAmB,EAAE;AACpD,IAAA,QAAQ,EAAE;AACT,QAAA,OAAO,EAAE;AACR,YAAA,OAAO,EAAE,uFAAuF;AAChG,YAAA,SAAS,EAAE,mFAAmF;AAC9F,YAAA,WAAW,EAAE,uFAAuF;AACpG,YAAA,QAAQ,EAAE,UAAU;AACpB,SAAA;AACD,KAAA;AACD,IAAA,eAAe,EAAE;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,KAAA;AACD,CAAA,CAAC;MAsBW,WAAW,GAAG,KAAK,CAAC,UAAU,CAC1C,CACC,EACC,OAAO,EACE,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EAChB,OAAO,EACP,WAAW,EACX,QAAQ,GAAG,CAAC,EACZ,YAAY,GAAG,KAAK,EACpB,OAAO,GAAG,KAAK,EACf,SAAS,EACA,QAAQ,EACjB,GAAG,KAAK,EACR,EACD,GAAG,KACA;AACH,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAe,WAAW,EAAE,GAAG,cAAc;AACnF,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC5D,MAAM,0BAA0B,GAAG,uBAAuB;IAC1D,MAAM,mBAAmB,GAAG,WAAW;AAE1C,IAAA,MAAM,YAAY,GAAG,CAAC,MAAyB,EAAE,KAAiD,KAAI;AAC5F,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAEnC,QAAA,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,IAAuB,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;AACrF,cAAE,SAAS,CAAC,MAAM,CAAC,CAAC,IAAuB,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;AAC3E,cAAE,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC;AAE5B,QAAA,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAClC,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAAiD,KAAI;AACzE,QAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnB,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAK;QAChC,gBAAgB,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AAClC,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,KAAiD,KAAI;QACvE,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;YAC3C,WAAW,CAAC,KAAK,CAAC;QACnB;aAAO;AACN,YAAA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;AACjD,YAAA,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1B;AACD,IAAA,CAAC;AAED,IAAA,QACUA,GAAA,CAAC,SAAS,EAAA,EACnB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MACjBC,IAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACRA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACSA,IAAA,CAAC,OAAO,EAAA,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,aAC7ED,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACnBA,GAAA,CAAC,MAAM,EAAA,EACH,GAAG,EAAE,GAAG,EAAA,GACJ,KAAK,EACT,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,EAAE,CACT,mIAAmI,EACnI,SAAS,CACZ,EAAA,QAAA,EAEA,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IACpBC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,CACrDA,cAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,CAC9BD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,eAAA,EAAkB,QAAQ,CAAA,CAAE,EAAA,QAAA,EAC3C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAyB,KAAI;wDAC9D,QACIC,KAAC,KAAK,EAAA,EAEF,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAC/C,OAAO,EAAE,CAAC,KAAK,KAAI;gEACf,KAAK,CAAC,eAAe,EAAE;AACvB,gEAAA,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;4DAC/B,CAAC,EAAA,QAAA,EAAA,CAEDD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,EAAA,QAAA,EAAE,MAAM,EAAE,KAAK,EAAA,CAAO,EAC/CA,GAAA,CAAC,CAAC,IAAC,SAAS,EAAC,mCAAmC,EAAA,CAAG,CAAA,EAAA,EAR9C,CAAA,SAAA,EAAY,MAAM,CAAC,KAAK,CAAA,CAAE,CAS3B;AAEhB,oDAAA,CAAC,CAAC,EAAA,CACI,EACL,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,KAC3BA,GAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,SAAS,EAAA,QAAA,EAEpB,CAAA,CAAA,EAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAA,CAAE,EAAA,CACjC,CACX,IACC,EACNA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAC9CA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,+CAA+C,EAAA,CAAG,EAAA,CACvE,IACJ,KAENC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kDAAkD,aAC7DD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oCAAoC,YAAE,WAAW,IAAI,mBAAmB,EAAA,CAAQ,EAChGA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,+CAA+C,EAAA,CAAG,CAAA,EAAA,CACvE,CACT,GACI,EAAA,CACI,EACjBA,GAAA,CAAC,cAAc,IAAC,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,mCAAmC,CAAC,EAAE,KAAK,EAAC,OAAO,EAAC,eAAe,EAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAA,QAAA,EAC1IC,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACJD,GAAA,CAAC,YAAY,EAAA,EAAC,WAAW,EAAE,0BAA0B,EAAA,CAAI,EACzDC,KAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACRD,GAAA,CAAC,YAAY,8CAA2C,EACxDC,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACTA,KAAC,WAAW,EAAA,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAA,CAC/ED,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CACT,gFAAgF,EAChF,KAAK,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAC5B,sEAAE;sEACA,8BAA8B,CACvC,EAAA,QAAA,EAEDA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CAC/B,EACNA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,CAA+B,CAAA,EAAA,EAXlB,KAAK,CAYR,EACb,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;wDACpB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAuB,KAAK,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AAC9F,wDAAA,QACIC,IAAA,CAAC,WAAW,EAAA,EAA+B,QAAQ,EAAE,MAAM,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAA,CAC9GD,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,EAAE,CACT,gFAAgF,EAChF,UAAU,GAAG,oCAAoC,GAAG,8BAA8B,CACrF,EAAA,QAAA,EAEDA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,EAAA,CAC/B,EACNA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,MAAM,CAAC,KAAK,EAAA,CAAQ,CAAA,EAAA,EATb,CAAA,MAAA,EAAS,MAAM,CAAC,KAAK,CAAA,CAAE,CAU3B;AAEtB,oDAAA,CAAC,CAAC,CAAA,EAAA,CACS,CAAA,EAAA,CACL,CAAA,EAAA,CACR,GACG,CAAA,EAAA,CACX,EACxB,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEH,CAAC;AAGF,WAAW,CAAC,WAAW,GAAG,aAAa;;AC1LhC,MAAM,iBAAiB,GAAoB,CAAC,EAClD,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,GACR,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IACnF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;AACtD,IAAA,MAAM,wBAAwB,GAAG,MAAM,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;AAEvE,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,KAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAA,CAC/BD,GAAA,CAAC,SAAS,EAAA,EAAA,GACL,KAAK,EACT,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,EACxC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAA,CAC3C,EACFA,gBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAC,8CAA8C,EAAA,QAAA,EAC/G,YAAY,GAAGA,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,wBAAwB,EAAA,CAAG,GAAGA,GAAA,CAAC,GAAG,EAAA,EAAC,SAAS,EAAC,wBAAwB,EAAA,CAAG,EAAA,CAClG,IACJ,EAAA,CACO,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AClDO,MAAM,gBAAgB,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI;AAC1I,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAA4F,MACtHC,IAAA,CAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,gBAAgB,EAAA,EAAA,GACZ,KAAK,EACT,MAAM,EAAC,GAAG,EACV,SAAS,EAAE,CAAA,EAAG,SAAS,CAAA,CAAE,EACzB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAsC,KAAI;AACpD,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjB,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;AC7BA,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AAE9C,MAAM,cAAc,GAAoB,CAAC,EAC/C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AACnF,IAAA,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE1C,IAAA,MAAM,OAAO,GAAG,CAAC,GAAW,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3F,QACCA,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAA4F,KAAI;YAC1H,SAAS,CAAC,MAAK;gBACd,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACpC,YAAA,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEjB,YAAA,QACCC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,aAAa,EAAA,EAAA,GACT,KAAK,EACT,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,IAAI,kBAAkB,EAC9C,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,CAAsC,KAAI;AACpD,gCAAA,QAAQ,GAAG,CAAC,CAAC;AACb,gCAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACjC,CAAC,EACD,OAAO,EAAE,CAAC,CAAwC,KAAK,OAAO,GAAG,CAAC,CAAC,EAAA,CAClE,GACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf;QAEb,CAAC,EAAA,CACA;AAEJ;;AChDO,MAAM,cAAc,GAAoB,CAAC,EAC/C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,GACR,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AACnF,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EAEV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAA4F,MACtHC,IAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACRA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CACjE,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,IAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,UAAU,IACV,aAAa,EAAE,CAAC,KAAa,KAAI;AAChC,4BAAA,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC;AACxB,4BAAA,QAAQ,GAAG,KAAK,CAAC;AAClB,wBAAA,CAAC,EACD,YAAY,EAAE,KAAK,CAAC,KAAK,EACzB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,SAAS,EAAE,GAAG,SAAS,CAAA,CAAE,EAAA,QAAA,EAEzBA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAC1D,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAC3BC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,aAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CAC3CD,GAAA,CAAC,cAAc,IACd,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,EAAE,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAA,CAAE,EACtB,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAA,CACxB,EACFA,GAAA,CAAC,KAAK,EAAA,EAAC,OAAO,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAA,CAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAG,YAAY,GAAG,EAAE,EAAA,QAAA,EAChF,MAAM,CAAC,KAAK,EAAA,CACN,KATyC,CAAA,MAAA,EAAS,IAAI,CAAA,CAAA,EAAI,KAAK,EAAE,CAUpE,EACL,MAAM,CAAC,WAAW,KAClBA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAA,QAAA,EAAG,MAAM,CAAC,WAAW,EAAA,CAAO,CACvG,CAAA,EAAA,EAdkC,CAAA,MAAA,EAAS,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAetD,CACN,CAAC,EAAA,CACG,GACM,EAAA,CACA,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,IAzCI,KAAK,CA0CT;AAEJ;;AClEO,MAAM,UAAU,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAI;AAChJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAC5BC,KAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,IAAC,WAAW,EAAA,EAAA,QAAA,EACXC,KAACgB,QAAM,EAAA,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAAA,CACnFjB,IAAC,aAAa,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,EAAE,EAAE,SAAS,CAAC,EAAA,QAAA,EAC1FA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,gBAAgB,EAAC,WAAW,EAAE,WAAW,EAAA,CAAI,EAAA,CACrD,EAChBA,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAC,yBAAyB,EAAA,QAAA,EACjDA,IAAC,WAAW,EAAA,EAAA,QAAA,EACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MACnBA,GAAA,CAAC,UAAU,EAAA,EAAoB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAA,QAAA,EAChD,MAAM,CAAC,KAAK,EAAA,EADG,MAAM,CAAC,KAAK,CAEhB,CACb,CAAC,EAAA,CACW,GACC,CAAA,EAAA,CACR,EAAA,CACI,EACb,WAAW,CAAC,WAAW,CAAC,IACf,CACX,EAAA,CACA;AAEJ;;ACrDA,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAoB,KAAI;AACjE,IAAA,MAAM,WAAW,GAAG,CAAC,KAAa,KAAI;AACrC,QAAA,IAAI,KAAK,GAAG,YAAY,EAAE;AACzB,YAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oFAAoF,EAAA,QAAA,EAClGA,IAAC,KAAK,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,yBAAyB,EAAA,CAAG,EAAA,CAClD;QAER;QAEA,QACCA,aACC,SAAS,EAAE,8DACV,KAAK,KAAK,YAAY,GAAG,kCAAkC,GAAG,qBAC/D,CAAA,CAAE,EAAA,QAAA,EAED,KAAK,GAAG,CAAC,EAAA,CACL;AAER,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,MAC7BC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAAA,CAC7DA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAAA,CAC5D,WAAW,CAAC,KAAK,CAAC,EAClB,IAAI,CAAC,KAAK,CAAA,EAAA,CACN,EACL,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,KACxBD,aAAK,SAAS,EAAC,MAAM,EAAA,QAAA,EACpBA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EAAA,CACR,CACN,CAAA,EAAA,EATkE,IAAI,CAAC,EAAE,CAUrE,CACN,CAAC,EAAA,CACG;AAER;;MC3Ba,eAAe,GAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAI;AACtI,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,QACCA,GAAA,CAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAyD,MACxEC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,aAC3DD,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,MAAM,EAAA,EAAA,GACF,KAAK,EACT,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,eAAe,EAAE,CAAC,OAAgB,KAAI;AACrC,4BAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;4BACvB,IAAI,eAAe,EAAE;gCACpB,eAAe,CAAC,OAAO,CAAC;4BACzB;AACD,wBAAA,CAAC,EACD,QAAQ,EAAE,QAAQ,EAAA,CACjB,EAAA,CACW,EACdC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAAA,CACnD,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,EACxE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,IAC9B,EACL,WAAW,CAAC,WAAW,CAAC,IACf,CACX,EAAA,CACA;AAEJ;;AC3BO,MAAM,aAAa,GAAoB,CAAC,EAC9C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,GACR,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;IAEnF,QACCD,IAAC,SAAS,EAAA,EACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAA4F,MACtHC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,cACXA,GAAA,CAAC,SAAS,OACL,KAAK,EACT,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EACxB,OAAO,EAAE,CAAC,CAAwC,KAAI;4BACrD,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,CAAC,CAAC;4BACX;AACD,wBAAA,CAAC,EACD,GAAG,EAAE,QAAQ,GACZ,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;ACjDO,MAAM,YAAY,GAAoB,CAAC,EAC7C,OAAO,EACP,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACP,KAAI;AACJ,IAAA,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,cAAc;AAEnF,IAAA,QACCA,GAAA,CAAC,SAAS,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAA4F,MACtHC,IAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAC7BA,cAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAA,CAC5C,KAAK,IAAI,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACnE,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,CAC9B,EACND,GAAA,CAAC,WAAW,cACXA,GAAA,CAAC,QAAQ,OACJ,KAAK,EACT,SAAS,EAAC,6CAA6C,EACvD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC,YAAY,EAC5C,QAAQ,EAAE,CAAC,CAAyC,KAAI;AACvD,4BAAA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;4BACjB,IAAI,QAAQ,EAAE;gCACb,QAAQ,CAAC,CAAC,CAAC;4BACZ;AACD,wBAAA,CAAC,EACD,OAAO,EAAE,CAAC,CAA2C,KAAI;4BACxD,IAAI,OAAO,EAAE;gCACZ,OAAO,CAAC,CAAC,CAAC;4BACX;wBACD,CAAC,EAAA,CACA,EAAA,CACW,EACb,WAAW,CAAC,WAAW,CAAC,CAAA,EAAA,CACf,CACX,EAAA,CACA;AAEJ;;SCvDgB,eAAe,CAAC,EAAE,UAAU,EAAE,SAAS,EAAwB,EAAA;IAC9E,MAAM,UAAU,GAAG,MAAK;AACvB,QAAA,IAAI,CAAC,UAAU;YAAE;AAEjB,QAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACpB,YAAA,KAAK,CAAC;AACL,gBAAA,KAAK,EAAE,6BAA6B;AACpC,gBAAA,OAAO,EAAE,aAAa;AACtB,aAAA,CAAC;AACF,YAAA,OAAO,EAAE;QACV;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AAChE,QAAA,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,UAAU,CAAC,GAAG,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,EAAE,QAAQ,CAAC;AACrD,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;AACzB,QAAA,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,IAAI;AAE5B,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE;AAC/B,YAAA,QACCA,GAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,UAAU,EAAA,QAAA,EAAA,UAAA,EAAA,CAEtC;QAEX;AAEA,QAAA,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;AACjC,YAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,gBAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AACjB,gBAAA,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;AAClB,aAAA,CAAC;YAEF,MAAM,IAAI,GAAG,OAAO,CAAmC;AACtD,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC;AACvC,aAAA,CAAC;YAEF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI;AAE/C,YAAA,MAAM,QAAQ,GAAG,OAAO,MAAwC,KAAI;gBACnE,MAAM,OAAO,EAAE;AAEf,gBAAA,KAAK,CAAC;AACL,oBAAA,KAAK,EAAE,qBAAqB;AAC5B,oBAAA,OAAO,EAAE,aAAa;AACtB,iBAAA,CAAC;AACH,YAAA,CAAC;AAED,YAAA,MAAM,OAAO,GAAG,OAAO,MAAqD,KAAI;AAC/E,gBAAA,KAAK,CAAC;AACL,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,WAAW,EAAE,kCAAkC;AAC/C,oBAAA,OAAO,EAAE,aAAa;AACtB,iBAAA,CAAC;AACH,YAAA,CAAC;AAED,YAAA,QACCA,GAAA,CAAC,IAAI,EAAA,EAAA,GAAM,IAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,YACjEC,IAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,CACND,GAAA,CAAC,aAAa,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrBA,GAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,WAAW,yBAAkB,EAAA,CAC9B,EAChBC,IAAA,CAAC,aAAa,IAAC,SAAS,EAAA,IAAA,EAAC,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CAClEA,IAAA,CAAC,YAAY,eACZD,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAuB,EACnCA,IAAC,iBAAiB,EAAA,EAAA,CAAG,CAAA,EAAA,CACP,EACfC,cAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CACnCD,IAAC,cAAc,EAAA,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,8CAAoC,EAC1C,OAAO,EAAE;AACR,gDAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE;AACjC,gDAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE;6CAClC,EACD,SAAS,EAAC,qBAAqB,EAC/B,gBAAgB,EAAC,8CAA8C,EAAA,CAC9D,EAEFA,GAAA,CAAC,cAAc,EAAA,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,wDAA8C,EACpD,OAAO,EAAE;AACR,gDAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,gDAAA,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;6CAC7B,EACD,SAAS,EAAC,qBAAqB,EAC/B,gBAAgB,EAAC,8CAA8C,EAAA,CAC9D,CAAA,EAAA,CACG,EACNC,IAAA,CAAC,YAAY,IAAC,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAA,CAC7CD,GAAA,CAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAA,QAAA,EAAA,QAAA,EAAA,CAEhC,EACTA,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,MAAM,UAAU,EAAE,EAAA,QAAA,EAAA,UAAA,EAAA,CAE1D,CAAA,EAAA,CACK,CAAA,EAAA,CACA,CAAA,EAAA,CACR,EAAA,CACH;QAET;AAEA,QAAA,OAAO,IAAI;AACZ,IAAA,CAAC;AAED,IAAA,OAAO,UAAU,IAAI,YAAY,EAAE;AACpC;;ACzFM,SAAU,eAAe,CAAQ,EACtC,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,UAAU,GACmB,EAAA;IAC7B,MAAM,qBAAqB,GAAG,MAAK;QAClC,MAAM,eAAe,GAAkB,EAAE;AAEzC,QAAA,MAAM,oBAAoB,GAAG,CAAC,SAAiB,MAC9CA,GAAA,CAAC,cAAc,cACdA,GAAA,CAAC,cAAc,IAAC,OAAO,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,WAAW,KAAK,SAAS,EAAA,QAAA,EACvF,SAAS,GAAG,CAAC,EAAA,CACE,IAHG,SAAS,CAIb,CACjB;;QAGD,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;;AAG7C,QAAA,IAAI,WAAW,GAAG,CAAC,EAAE;YACpB,eAAe,CAAC,IAAI,CAACA,GAAA,CAAC,kBAAkB,EAAA,EAAA,EAAK,gBAAgB,CAAG,CAAC;QAClE;;QAGA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;YAChE,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC9C;;QAGA,IAAI,WAAW,KAAK,CAAC,IAAI,WAAW,KAAK,UAAU,GAAG,CAAC,EAAE;YACxD,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxD;;QAGA,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClF,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC9C;;AAGA,QAAA,IAAI,WAAW,GAAG,UAAU,GAAG,CAAC,EAAE;YACjC,eAAe,CAAC,IAAI,CAACA,GAAA,CAAC,kBAAkB,EAAA,EAAA,EAAK,cAAc,CAAG,CAAC;QAChE;;AAGA,QAAA,IAAI,UAAU,GAAG,CAAC,EAAE;YACnB,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC3D;AAEA,QAAA,OAAO,eAAe;AACvB,IAAA,CAAC;IAED,QACC,CAAC,cAAc,KACdC,iBAAQ,SAAS,EAAC,4CAA4C,EAAA,QAAA,EAAA,CAC7DA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,CAChDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAA,CAAA,wBAAA,EAEhDA,IAAA,CAAC,MAAM,EAAA,EACN,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,EACrC,aAAa,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACvD,QAAQ,EAAE,SAAS,IAAI,iBAAiB,EAAA,QAAA,EAAA,CAExCD,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EAC9BA,GAAA,CAAC,WAAW,EAAA,EAAC,WAAW,EAAC,EAAE,EAAC,SAAS,EAAC,4BAA4B,EAAA,CAAG,GACtD,EAChBA,GAAA,CAAC,aAAa,EAAA,EAAA,QAAA,EACbC,IAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACXD,GAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAC,IAAI,EAAA,QAAA,EAAA,IAAA,EAAA,CAAgB,EACtCA,GAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAC,IAAI,EAAA,QAAA,EAAA,IAAA,EAAA,CAAgB,EACtCA,GAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAC,KAAK,oBAAiB,CAAA,EAAA,CAC3B,EAAA,CACC,CAAA,EAAA,CACR,CAAA,EAAA,CACJ,EAENA,GAAA,CAAC,eAAe,EAAA,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAA,CAAI,CAAA,EAAA,CAC7D,EAENC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACvCD,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EACE,CAAC,SAAS,KACVA,IAAC,KAAK,EAAA,EAAC,OAAO,EAAC,WAAW,EAAA,QAAA,EAAE,SAAS,KAAK,CAAC,GAAG,aAAa,GAAG,SAAS,KAAK,CAAC,GAAG,QAAQ,GAAG,CAAA,EAAG,SAAS,CAAA,MAAA,CAAQ,GAAS,CACxH,EAAA,CACI,EACNA,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EACCA,GAAA,CAAC,UAAU,EAAA,EAAA,QAAA,EACVC,IAAA,CAAC,iBAAiB,EAAA,EAAA,QAAA,EAAA,CACjBD,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EACdA,GAAA,CAAC,kBAAkB,EAAA,EAAC,OAAO,EAAE,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,iBAAiB,EAAA,CAAI,EAAA,CAClG,EAChB,qBAAqB,EAAE,EACxBA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EACdA,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,iBAAiB,EAAA,CAAI,EAAA,CACtF,CAAA,EAAA,CACE,EAAA,CACR,EAAA,CACR,CAAA,EAAA,CACD,CAAA,EAAA,CACE,CACT;AAEH;;ACtIM,SAAU,eAAe,CAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,uBAAuB,EAA+B,EAAA;AACpH,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,EAAE;AAC5C,IAAA,QACCA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACV,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,MAC7BC,IAAA,CAAC,QAAQ,EAAA,EAAsB,SAAS,EAAC,uEAAuE,EAAA,QAAA,EAAA,CAC9G,uBAAuB,KACvBD,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,cAAc,YAClCA,GAAA,CAAC,QAAQ,EAAA,EACR,OAAO,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,KAAK,CAAC,yBAAyB,EAAE,IAAI,eAAe,CAAC,EACnG,eAAe,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,GACnE,EAAA,CACS,CACZ,EACA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAC/BA,GAAA,CAAC,SAAS,EAAA,EAET,SAAS,EAAE,EAAE,CACZ,4BAA4B,EAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,GAAG,oBAAoB,GAAG,EAAE,EACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,GAAG,EAAE,CACnD,EAAA,QAAA,EAEA,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,IACrCC,IAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,aACvG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAC/D,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,IACrCD,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,cAAc,GAAG,IAChC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,IACzCA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,cAAc,EAAA,CAAG,KAErCA,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,cAAc,GAAG,CACxC,CAAA,EAAA,CACO,KAET,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAC/D,EAAA,EApBI,MAAM,CAAC,EAAE,CAqBH,CACZ,CAAC,EACD,aAAa,IAAIA,GAAA,CAAC,SAAS,KAAG,CAAA,EAAA,EAlCjB,WAAW,CAAC,EAAE,CAmClB,CACX,CAAC,EAAA,CACW;AAEhB;;ACxCM,SAAU,aAAa,CAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,uBAAuB,EAA6B,EAAA;IAChJ,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI;IAErC,MAAM,iBAAiB,GAAG,MAAK;QAC9B,MAAM,IAAI,GAAkB,EAAE;AAE9B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CACRC,IAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAA,CACP,uBAAuB,KACvBD,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,MAAM,EAAA,QAAA,EAC1BA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,aAAa,EAAA,CAAG,EAAA,CACzB,CACZ,EACA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MACnBA,GAAA,CAAC,SAAS,EAAA,EAAiB,SAAS,EAAC,MAAM,EAAA,QAAA,EAC1CA,GAAA,CAAC,QAAQ,IAAC,SAAS,EAAC,aAAa,EAAA,CAAG,EAAA,EADrB,MAAM,CAAC,EAAE,CAEb,CACZ,CAAC,CAAA,EAAA,EAVY,CAAA,YAAA,EAAe,CAAC,CAAA,CAAE,CAWtB,CACX;QACF;AAEA,QAAA,OAAO,IAAI;AACZ,IAAA,CAAC;IAED,MAAM,UAAU,GAAG,MAAK;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MACnBC,IAAA,CAAC,QAAQ,kBAA0B,GAAG,CAAC,aAAa,EAAE,IAAI,UAAU,EAAE,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,CACrF,uBAAuB,KACvBD,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,MAAM,YAC1BA,GAAA,CAAC,QAAQ,EAAA,EAAC,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,EAAA,YAAA,EAAa,YAAY,EAAA,CAAG,GAChH,CACZ,EACA,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAC/BA,GAAA,CAAC,SAAS,EAAA,EAAe,SAAS,EAAC,MAAM,EAAA,QAAA,EACvC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAA,EAD3C,IAAI,CAAC,EAAE,CAEX,CACZ,CAAC,EACD,UAAU,KACVA,GAAA,CAAC,SAAS,EAAA,EACT,SAAS,EAAC,uFAAuF,EAAA,QAAA,EAGjGA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qHAAqH,EAAA,QAAA,EAClI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAC7BC,IAAA,CAAC,MAAM,EAAA,EAEN,OAAO,EAAG,MAAM,CAAC,OAAkF,IAAI,SAAS,EAChH,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAC5E,OAAO,EAAE,MAAM,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,EAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAA,QAAA,EAAA,CAEjD,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,CAAA,EAAA,EAPR,CAAA,WAAA,EAAc,KAAK,EAAE,CAQlB,CACT,CAAC,EAAA,CACG,EAAA,EAfD,CAAA,QAAA,EAAW,GAAG,CAAC,EAAE,CAAA,CAAE,CAgBb,CACZ,CAAA,EAAA,EA/Ba,GAAG,CAAC,EAAE,CAgCV,CACX,CAAC;AACH,IAAA,CAAC;IAED,MAAM,eAAe,GAAG,MAAK;AAC5B,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;QACrD,QACCD,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EACRA,GAAA,CAAC,SAAS,EAAA,EAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAC3D,aAAa,GAAG,aAAa,GAAG,iBAAiB,EAAA,CACvC,EAAA,CACF;AAEb,IAAA,CAAC;IAED,OAAO,SAAS,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,GAAG,eAAe,EAAE;AACxF;;ACvCM,SAAU,SAAS,CAAQ,EAChC,OAAO,EACP,IAAI,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,WAAW,GACY,EAAA;IACvB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC;AACxD,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAkB;AAC7D,QAAA,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,QAAQ,IAAI,EAAE;AACxB,KAAA,CAAC;AACF,IAAA,MAAM,uBAAuB,GAAG,iBAAiB,KAAK,SAAS;IAC/D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC/C;AACC,UAAE,MAAM,CAAC,WAAW,CAClB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAW,KAAI;AAC/D,YAAA,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;AAC1B,QAAA,CAAC,CAAC;UAEF,EAAE,CACL;AACD,IAAA,MAAM,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC;AAC3D,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAiB,IAAI,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtD,IAAA,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM;IAEpC,MAAM,KAAK,GAAG,aAAa,CAAC;AAC3B,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,IAAI,EAAE,IAAI;QACV,OAAO;QACP,qBAAqB,EAAE,qBAAqB,EAAE;AAC9C,QAAA,kBAAkB,EAAE,aAAa;QACjC,eAAe,EAAE,eAAe,EAAE;AAClC,QAAA,eAAe,EAAE,UAAU;QAC3B,iBAAiB,EAAE,iBAAiB,EAAE;QACtC,mBAAmB,EAAE,mBAAmB,EAAE;AAC1C,QAAA,oBAAoB,EAAE,CAAC,YAAY,KAAI;YACtC,eAAe,CAAC,YAAY,CAAC;QAC9B,CAAC;AACD,QAAA,uBAAuB,EAAE,uBAAuB;AAChD,QAAA,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE;QAC5C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrD,KAAA,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,SAAS;IACzD,MAAM,YAAY,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI;AACrD,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAM,GAAG,CAAC,QAAkC,CAAC,EAAE,CAAC;IAEzF,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE;YAClD,aAAa,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC/C;AACD,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEV,SAAS,CAAC,MAAK;AACd,QAAA,YAAY,EAAE;AAEd,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC/C,QAAA,OAAO,MAAK;AACX,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;AACnD,QAAA,CAAC;IACF,CAAC,EAAE,EAAE,CAAC;IAEN,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,WAAW;AAAE,YAAA,WAAW,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;AACvD,IAAA,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAEhB,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC;QACnE,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AACxD,YAAA,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAChD;AACD,IAAA,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,MAAK;AACzB,QAAA,IAAI,iBAAiB,CAAC,OAAO,EAAE;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,IAAI,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC;YAEzH,cAAc,CAAC,CAAA,EAAG,SAAS,IAAI,qBAAqB,IAAI,CAAC,CAAC,CAAA,EAAA,CAAI,CAAC;QAChE;AACD,IAAA,CAAC;AAED,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAA4C,KAAI;AAC3E,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK;AAEvC,QAAA,IAAI,eAAe,CAAC,OAAO,EAAE;AAC5B,YAAA,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC;QACtC;AAEA,QAAA,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;AACzC,YAAA,SAAS,GAAG,KAAK,CAAC;YAClB,UAAU,CAAC,CAAC,CAAC;QACd,CAAC,EAAE,GAAG,CAAC;AACR,IAAA,CAAC;AAED,IAAA,MAAM,cAAc,GAAG,CAAC,KAAa,KAAI;AACxC,QAAA,eAAe,GAAG,KAAK,CAAC;QACxB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD,IAAA,CAAC;AAED,IAAA,MAAM,UAAU,GAAG,CAAC,KAAa,KAAI;AACpC,QAAA,IAAI,KAAK,KAAK,WAAW,EAAE;YAC1B,aAAa,CAAC,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACnD;AACD,IAAA,CAAC;AAED,IAAA,QACCC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sBAAsB,EAAA,QAAA,EAAA,CACnC,CAAC,CAAC,eAAe,IAAI,cAAc,IAAI,aAAa,IAAI,OAAO,MAC/DA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAAA,CAC7DA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACxC,CAAC,eAAe,KAChBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oMAAoM,EAAA,QAAA,EAAA,CAClND,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+EAA+E,EAAA,QAAA,EAC7FA,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,6CAA6C,EAAA,CAAG,EAAA,CACvE,EAENA,eACC,WAAW,EAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,KAAK,KAAI;4CAClB,kBAAkB,CAAC,KAAK,CAAC;wCAC1B,CAAC,EACD,SAAS,EAAC,iKAAiK,GAC1K,CAAA,EAAA,CACG,CACN,EACA,cAAc,KACdC,KAAC,KAAK,EAAA,EAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,CAAC,aAAa,EAAA,QAAA,EAAA,CACjFD,GAAA,CAAC,YAAY,EAAA,EAAC,OAAO,kBACpBC,IAAA,CAAC,MAAM,EAAA,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,QAAQ,EAAA,QAAA,EAAA,CACxCD,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,SAAS,EAAA,CAAG,cACvC,cAAc,CAAC,YAAY,GAAG,CAAC,KAC/BA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kIAAkI,EAAA,QAAA,EAC/I,cAAc,CAAC,YAAY,GACvB,CACN,CAAA,EAAA,CACO,EAAA,CACK,EACfC,IAAA,CAAC,YAAY,eACZA,IAAA,CAAC,WAAW,eACXD,GAAA,CAAC,UAAU,0BAAqB,EAChCA,GAAA,CAAC,gBAAgB,EAAA,EAAA,CAAG,CAAA,EAAA,CACP,EACdA,aAAK,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAE,cAAc,CAAC,MAAM,EAAA,CAAO,CAAA,EAAA,CACnD,CAAA,EAAA,CACR,CACR,CAAA,EAAA,CACI,EACL,aAAa,EACdA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,YACzC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAC3BA,uBACCC,IAAA,CAAC,MAAM,EAAA,EACN,OAAO,EAAE,MAAM,MAAM,CAAC,OAAO,GAAG,WAAW,EAAE,YAAY,CAAC,EAC1D,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,kBAAkB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,CAAC,EACvG,OAAO,EAAG,MAAM,CAAC,OAAkF,IAAI,SAAS,EAChH,QAAQ,EAAE,MAAM,CAAC,QAAQ,aAEzBD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAE,MAAM,CAAC,IAAI,EAAA,CAAO,EAClD,MAAM,CAAC,KAAK,CAAA,EAAA,CACL,EAAA,EATA,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAU3B,CACN,CAAC,EAAA,CACG,CAAA,EAAA,CACD,CACN,EAEDC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,uCAAA,EAA0C,SAAS,CAAA,CAAE,EAAA,QAAA,EAAA,CACpED,aAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAE,KAAK,IAAIA,aAAK,SAAS,EAAC,aAAa,EAAA,QAAA,EAAE,KAAK,GAAO,EAAA,CAAO,EAC9GA,GAAA,CAAA,KAAA,EAAA,EACC,EAAE,EAAC,YAAY,EACf,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,WAAW,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EACtE,SAAS,EAAC,0EAA0E,EAAA,QAAA,EAEpFC,KAAC,KAAK,EAAA,EAAA,QAAA,EAAA,CACLD,IAAC,eAAe,EAAA,EACf,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAClD,uBAAuB,EAAE,uBAAuB,GAC/C,EACFA,GAAA,CAAC,SAAS,EAAA,EAAC,SAAS,EAAC,eAAe,EAAA,QAAA,EACnCA,GAAA,CAAC,aAAa,EAAA,EACb,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,uBAAuB,EAAA,CAC/C,EAAA,CACS,CAAA,EAAA,CACL,EAAA,CACH,CAAA,EAAA,CACD,EAENA,GAAA,CAAC,eAAe,IACf,cAAc,EAAE,cAAc,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,EAC3F,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAC/E,UAAU,EAAE,UAAU,EAAA,CACrB,CAAA,EAAA,CACG;AAER;;ACjRA,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAA4B,KAAI;AAClE,IAAA,QACCC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACCF,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,YAAE,IAAI,CAAC,QAAQ,EAAA,CAAO,EAChEC,cAAK,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAA,CAC3DD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,wBAAwB,YAAE,IAAI,CAAC,KAAK,EAAA,CAAQ,EAC5DA,cAAM,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAQ,IACpE,EACL,IAAI,CAAC,SAAS,CAAA,EAAA,CACb;AAEL;;ACVA,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAuB,KAAI;AACzF,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;IAEjC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAC1BA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,sFAAsF,YAC5HA,GAAA,CAAC,mBAAmB,EAAA,EACnB,IAAI,EAAE;gBACL,QAAQ,EAAEA,aAAK,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAAE,YAAY,EAAE,IAAI,EAAA,CAAO;AAClH,gBAAA,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;AAChC,gBAAA,QAAQ,EAAE,YAAY,EAAE,QAAQ,IAAI,EAAE;AACtC,aAAA,EAAA,CACA,EAAA,CACiB,KAEpBA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,IAAC,eAAe,EAAA,EAAA,QAAA,EACfC,IAAA,CAAC,YAAY,eACZD,GAAA,CAAC,mBAAmB,EAAA,EAAC,OAAO,kBAC3BA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,sFAAsF,EAAA,QAAA,EAC5HA,GAAA,CAAC,mBAAmB,EAAA,EACnB,IAAI,EAAE;oCACL,QAAQ,GACPA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAAE,YAAY,EAAE,IAAI,EAAA,CAAO,CACxG;AACD,oCAAA,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;AAChC,oCAAA,QAAQ,EAAE,YAAY,EAAE,QAAQ,IAAI,EAAE;AACtC,oCAAA,SAAS,EAAEA,GAAA,CAAC,cAAc,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI;AACvC,iCAAA,EAAA,CACA,EAAA,CACiB,EAAA,CACC,EACtBA,GAAA,CAAC,mBAAmB,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,EAAA,QAAA,EACpH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MACnBA,GAAA,CAAC,gBAAgB,EAAA,EAAyC,OAAO,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,SAAS,EAAC,WAAW,EAAA,QAAA,EACvHA,GAAA,CAAC,mBAAmB,EAAA,EACnB,IAAI,EAAE;oCACL,QAAQ,EAAEA,aAAK,SAAS,EAAC,8DAA8D,EAAA,QAAA,EAAE,MAAM,CAAC,IAAI,EAAA,CAAO;oCAC3G,KAAK,EAAE,MAAM,CAAC,KAAK;oCACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,SAAS,EAAE,YAAY,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,GAAGA,GAAA,CAAC,KAAK,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI,GAAG,IAAI;AAC5E,iCAAA,EAAA,CACA,EAAA,EARoB,CAAA,gBAAA,EAAmB,MAAM,CAAC,KAAK,CAAA,CAAE,CASrC,CACnB,CAAC,EAAA,CACmB,CAAA,EAAA,CACR,EAAA,CACE,EAAA,CACL,CACd;AACF;;ACnDA,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAoB,KAAI;AAC5E,IAAA,QACCA,GAAA,CAAC,iBAAiB,EAAA,EACjB,OAAO,EAAA,IAAA,EACP,SAAS,EAAE,EAAE,CACZ,6IAA6I,EAC7I,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,GAAG,EAAE,CAC7D,EACD,OAAO,EAAE,IAAI,CAAC,KAAK,EACnB,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAA,QAAA,EAExDC,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACCD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wCAAwC,EAAA,QAAA,EAAE,IAAI,CAAC,IAAI,EAAA,CAAO,EACzEA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,CAAC,KAAK,EAAA,CAAQ,CAAA,EAAA,CACpB,EAAA,CACa;AAEtB;;ACjBA,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAoB,KAAI;IAC1E,QACCA,IAAC,eAAe,EAAA,EAAA,QAAA,EACfA,IAAC,aAAa,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAA,CAAI,EAAA,CAC5D;AAEpB;;ACPA,MAAM,SAAS,GAAG,CAAC,EAAC,KAAK,EAAiB,KAAI;AAC7C,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ;IAE3C,QACCA,IAAC,YAAY,EAAA,EAAC,SAAS,EAAC,KAAK,YAC5BA,GAAA,CAAC,mBAAmB,cACnBA,GAAA,CAAC,WAAW,cACV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACnB,oBAAA,QACCA,GAAA,CAAC,WAAW,EAAA,EAEX,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA,EAH7B,CAAA,kBAAA,EAAqB,IAAI,CAAC,IAAI,CAAA,CAAE,CAIpC;AAEJ,gBAAA,CAAC,CAAC,EAAA,CACW,EAAA,CACO,EAAA,CACR;AAEjB;;ACpBA,MAAM,qBAAqB,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAA8B,KAAI;IAC9F,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;IAE5C,MAAM,MAAM,GAAG,MAAc;QAC5B,OAAO,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;AACnD,IAAA,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAK;AAChC,QAAA,IAAI,CAAC,IAAI;AAAE,YAAA,aAAa,EAAE;AAC3B,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,IAAC,WAAW,EAAA,EAAkB,OAAO,EAAA,IAAA,EAAC,WAAW,EAAE,MAAM,EAAE,EAAA,QAAA,EAC1DC,KAAC,eAAe,EAAA,EAAA,QAAA,EAAA,CACfD,GAAA,CAAC,kBAAkB,IAAC,OAAO,EAAA,IAAA,EAAC,SAAS,EAAC,mBAAmB,EAAA,QAAA,EACxDC,IAAA,CAAC,iBAAiB,EAAA,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAE,MAAM,mBAAmB,EAAE,EAAA,QAAA,EAAA,CACtG,IAAI,CAAC,IAAI,EACVD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,CAAC,KAAK,EAAA,CAAQ,EACzBA,GAAA,CAAC,YAAY,IAAC,SAAS,EAAC,yFAAyF,EAAA,CAAG,IACjG,EAAA,CACA,EACrBA,GAAA,CAAC,kBAAkB,cAClBA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EACb,IAAI,CAAC;AACL,kCAAE,GAAG,CAAC,CAAC,OAAO,MACbA,GAAA,CAAC,kBAAkB,cAClBA,GAAA,CAAC,oBAAoB,EAAA,EAAC,OAAO,QAAC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA,eAAA,EAAiB,OAAO,CAAC,QAAQ,EAAA,QAAA,EAClGA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,EAAE,CACZ,oDAAoD,EACpD,aAAa,KAAK,OAAO,CAAC,IAAI,GAAG,mBAAmB,GAAG,EAAE,CACzD,EAAA,QAAA,EAEDA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,OAAO,CAAC,KAAK,EAAA,CAAQ,EAAA,CACvB,EAAA,CACgB,IAVC,OAAO,CAAC,KAAK,CAWjB,CACrB,CAAC,EAAA,CACa,EAAA,CACG,CAAA,EAAA,CACJ,IA5BD,IAAI,CAAC,KAAK,CA6Bd,EAAA,CACD;AAEhB;;AC5CA,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAA2B,KAAI;IAC9F,QACCA,IAAC,eAAe,EAAA,EAAA,QAAA,EACfC,KAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACZD,IAAC,mBAAmB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC3BA,GAAA,CAAC,iBAAiB,EAAA,EACjB,OAAO,QACP,SAAS,EAAE,EAAE,CACZ,6IAA6I,EAC7I,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,GAAG,EAAE,CAC7D,EACD,OAAO,EAAE,IAAI,CAAC,KAAK,EAAA,QAAA,EAEnBC,yBACE,IAAI,CAAC,IAAI,EACVD,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,CAAC,KAAK,GAAQ,EACxBA,GAAA,CAAC,YAAY,EAAA,EAAC,SAAS,EAAC,SAAS,EAAA,CAAG,IAChC,EAAA,CACa,EAAA,CACC,EACtBA,GAAA,CAAC,mBAAmB,IAAC,SAAS,EAAE,kBAAkB,IAAI,IAAI,GAAG,CAAA,UAAA,CAAY,EAAE,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,UAAU,EAAE,CAAC,EAAA,QAAA,EACjH,IAAI,CAAC;AACL,0BAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,MACpBC,KAAC,gBAAgB,EAAA,EAEhB,SAAS,EAAE,EAAE,CACZ,wEAAwE,EACxE,aAAa,KAAK,OAAO,CAAC,IAAI,GAAG,mBAAmB,GAAG,EAAE,CACzD,EACD,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAA,QAAA,EAAA,CAE1BD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,YAAE,OAAO,CAAC,KAAK,EAAA,CAAO,EAC5DA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAE,OAAO,CAAC,WAAW,GAAO,CAAA,EAAA,EATrE,CAAA,EAAG,KAAK,CAAA,CAAE,CAUG,CACnB,CAAC,GACkB,CAAA,EAAA,CACR,EAAA,CACE;AAEpB;;ACrDO,MAAM,kBAAkB,GAAG;AACjC,IAAA,WAAW,EAAE,aAAa;;AAE1B,IAAA,QAAQ,EAAE,UAAU;;;ACSrB,MAAM,OAAO,GAAG,CAAC,EAAC,KAAK,EAAe,KAAI;AACzC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ;AAE3C,IAAA,QACCA,GAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EACZA,GAAA,CAAC,mBAAmB,EAAA,EAAA,QAAA,EACnBA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACV,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACnB,oBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;wBACrB,IAAI,IAAI,CAAC,WAAW,KAAK,kBAAkB,CAAC,WAAW,IAAI,QAAQ,EAAE;AACpE,4BAAA,QACCA,GAAA,CAAC,qBAAqB,EAAA,EAErB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAA,EAH5B,CAAA,4BAAA,EAA+B,IAAI,CAAC,IAAI,CAAA,CAAE,CAI9C;wBAEJ;;wBAGA,IAAI,IAAI,CAAC,WAAW,KAAK,kBAAkB,CAAC,QAAQ,EAAE;AACrD,4BAAA,QACCA,GAAA,CAAC,kBAAkB,EAAA,EAElB,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EACjC,IAAI,EAAE,CAAC,EAAA,EAJF,CAAA,yBAAA,EAA4B,IAAI,CAAC,IAAI,CAAA,CAAE,CAK3C;wBAEJ;oBACD;AACA,oBAAA,QACCA,GAAA,CAAC,WAAW,EAAA,EAEX,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,iBAAiB,EAChC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA,EAH7B,CAAA,kBAAA,EAAqB,IAAI,CAAC,IAAI,CAAA,CAAE,CAIpC;AAEJ,gBAAA,CAAC,CAAC,EAAA,CACW,EAAA,CACO,EAAA,CACR;AAEjB;;AC/CA,MAAM,OAAO,GAAG,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAe,KAAI;IACrF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACvD,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;IAEjC,MAAM,YAAY,GAAG,MAAK;QACzB,eAAe,CAAC,IAAI,CAAC;QACrB,UAAU,CAAC,MAAK;AACf,YAAA,cAAc,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC;AACT,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EACXA,GAAA,CAAC,eAAe,EAAA,EAAA,QAAA,EACfC,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACZD,GAAA,CAAC,mBAAmB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC3BA,GAAA,CAAC,iBAAiB,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,sFAAsF,EAAA,QAAA,EAC5HA,GAAA,CAAC,mBAAmB,EAAA,EACnB,IAAI,EAAE;AACL,oCAAA,QAAQ,GACPC,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAAA,CAC/CD,GAAA,CAAC,WAAW,EAAA,EAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAA,CAAI,EACjDA,IAAC,cAAc,EAAA,EAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAE,YAAY,EAAA,CAAkB,IAC/F,CACT;oCACD,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ;oCAC5C,QAAQ,EAAE,YAAY,GAAG,EAAE,GAAG,SAAS;AACvC,oCAAA,SAAS,EAAE,YAAY,IACtBA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,2CAA2C,EAAA,CAAG,KAEhFA,IAAC,MAAM,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,yBAAyB,GAAG,CACxD;AACD,iCAAA,EAAA,CACA,EAAA,CACiB,EAAA,CACC,EACtBC,IAAA,CAAC,mBAAmB,EAAA,EAAC,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,UAAU,EAAE,CAAC,EAAA,QAAA,EAAA,CACnHD,IAAC,iBAAiB,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC7CC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uDAAuD,EAAA,QAAA,EAAA,CACrEA,IAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CACrCD,GAAA,CAAC,WAAW,EAAA,EAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAA,CAAI,EACjDA,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAE,YAAY,EAAA,CAAkB,CAAA,EAAA,CAC/F,EACTC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAA,CAC3DD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,wBAAwB,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAQ,EAC1DA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAE,SAAS,GAAQ,CAAA,EAAA,CAChD,CAAA,EAAA,CACD,EAAA,CACa,EACpBA,GAAA,CAAC,gBAAgB,EAAA,EAAC,SAAS,EAAC,gCAAgC,EAAC,OAAO,EAAE,MAAM,YAAY,EAAE,EAAA,QAAA,EACzFC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uDAAuD,EAAA,QAAA,EAAA,CACrED,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAEA,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,EAAA,CAAO,EAAA,SAAA,CAAA,EAAA,CAEjF,EAAA,CACY,CAAA,EAAA,CACE,CAAA,EAAA,CACR,EAAA,CACE,EAAA,CACL;AAEhB;;ACjEA,MAAM,MAAM,GAAG,CAAC,EACf,YAAY,EACZ,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,GACsG,KAAI;AAClH,IAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,EAAE;AACxC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtD,SAAS,CAAC,MAAK;AACd,QAAA,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE;AACzF,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,IAAA,MAAM,SAAS,GAAG,CAAC,IAAY,KAAI;QAClC,QAAQ,CAAC,IAAI,CAAC;AACf,IAAA,CAAC;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,KAAa,KAAI;QACjC,IAAI,IAAI,GAAG,EAAE;AAEb,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;AAChC,YAAA,IAAI,IAAI,CAAA,CAAA,EAAI,YAAY,CAAC,CAAC,CAAC,EAAE;QAC9B;AAEA,QAAA,OAAO,IAAI;AACZ,IAAA,CAAC;AAED,IAAA,MAAM,cAAc,GAAG,CAAC,KAAa,KAAI;AACxC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1D,IAAA,CAAC;AAED,IAAA,MAAM,cAAc,GAAG,CAAC,KAAa,KAAI;AACxC,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AACnG,IAAA,CAAC;AAED,IAAA,MAAM,SAAS,GAAG,CAAC,IAAY,KAAI;AAClC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE;AACZ,YAAA,OAAO,IAAI;QACZ;QAEA,OAAO,MAAM,EAAE,KAAK;AACrB,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,KAAa,KAAI;AAClC,QAAA,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;AACzC,QAAA,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;QAEzC,IAAI,WAAW,EAAE;YAChB,OAAO,WAAW,CAAC,KAAK;QACzB;QAEA,OAAO,WAAW,EAAE,KAAK;AAC1B,IAAA,CAAC;AAED,IAAA,MAAM,oBAAoB,GAAG,CAAC,KAAa,KAAI;QAC9C,OAAOA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAkB;AAC1D,IAAA,CAAC;AAED,IAAA,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,KAAa,KAAI;AAC5D,QAAA,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;QAEzC,OAAO,WAAW,EAAE,WAAW,IAC9B,oBAAoB,CAAC,KAAK,CAAC,KAE3BA,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAClF,KAAK,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAA,CAChC,CACjB;AACF,IAAA,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAK;QAClC,MAAM,eAAe,GAAkB,EAAE;QAEzC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAChC,YAAA,eAAe,CAAC,IAAI,CACnBA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EACb,IAAI,KAAK,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAA,EADhE,CAAA,gBAAA,EAAmB,KAAK,CAAA,CAAE,CAE9B,CACjB;AACD,YAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACtB,gBAAA,eAAe,CAAC,IAAI,CAACA,GAAA,CAAC,mBAAmB,EAAA,EAAuC,SAAS,EAAC,UAAU,IAArD,CAAA,qBAAA,EAAwB,KAAK,CAAA,CAAE,CAAyB,CAAC;YACzG;AACD,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,eAAe;AACvB,IAAA,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAK;AAC/B,QAAA,MAAM,WAAW,GAAG,sBAAsB,EAAE;QAC5C,MAAM,aAAa,GAAG,iBAAiB,EAAE,gBAAgB,IAAI,kBAAkB,CAAC,gBAAgB;QAChG,MAAM,YAAY,GAAG,CAAC,KAAa,KAAiC,KAAK,IAAI,WAAW;AACxF,QAAA,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,MAAM;AAClG,QAAA,OAAO,YAAY,CAAC,GAAG,CAAC;AACzB,IAAA,CAAC;AAED,IAAA,QACCC,IAAA,CAAA,QAAA,EAAA,EAAQ,SAAS,EAAC,mDAAmD,EAAA,QAAA,EAAA,CACpEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oDAAoD,EAAA,QAAA,EAAA,CAClEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oCAAoC,EAAA,QAAA,EAAA,CAClDD,GAAA,CAAC,cAAc,EAAA,EAAC,SAAS,EAAC,KAAK,GAAG,EAClCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,KAAK,EAAA,QAAA,EACnBA,GAAA,CAAC,UAAU,cACVA,GAAA,CAAC,cAAc,EAAA,EAAA,QAAA,EAAE,qBAAqB,EAAE,EAAA,CAAkB,EAAA,CAC9C,EAAA,CACR,IACD,EAENA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,IAC9C,EACLA,GAAA,CAAC,UAAU,EAAA,EAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAA,CAAI,CAAA,EAAA,CACxE;AAEX;;AC3GA,MAAM,cAAc,GAAkC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAI;IACxI,MAAM,UAAU,GAAG,MAAK;AACvB,QAAA,IAAI,YAAY,IAAI,KAAK,EAAE;AAC1B,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA,EAAG,KAAK,CAAA,EAAG,MAAM,IAAI,EAAE,CAAA,CAAE,CAAC;AACxD,YAAA,KAAK,CAAC;AACL,gBAAA,KAAK,EAAE,CAAA,CAAA,EAAI,KAAK,GAAG,MAAM,IAAI,EAAE,CAAA,2CAAA,CAA6C;AAC5E,gBAAA,OAAO,EAAE,SAAS;AAClB,aAAA,CAAC;QACH;AACD,IAAA,CAAC;AAED,IAAA,QACCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAA,QAAA,EAC1CA,GAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,EAAE,CACZ,8BAA8B,EAC9B,YAAY,GAAG,gEAAgE,GAAG,KAAK,CACvF,EAAA,QAAA,EAEDC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,UAAU,aACxBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+CAA+C,EAAA,QAAA,EAAA,CAC7DD,eAAO,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAE,KAAK,GAAS,EACvD,QAAQ,IAAIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,GAAA,EAAA,CAAQ,IACtD,EACNA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,YAC5C,SAAS,GAAGA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,uBAAuB,EAAA,CAAG,GAAGA,aAAK,SAAS,EAAC,wBAAwB,EAAA,QAAA,EAAE,KAAK,GAAO,EAAA,CAC9G,EACL,MAAM,KACNA,aAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAC5C,SAAS,GAAGA,GAAA,CAAC,QAAQ,IAAC,SAAS,EAAC,uBAAuB,EAAA,CAAG,GAAGA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wBAAwB,YAAE,MAAM,EAAA,CAAO,GAC/G,CACN,EACDA,aACC,SAAS,EAAE,EAAE,CACZ,6EAA6E,EAC7E,YAAY,IAAI,yBAAyB,CACzC,EAAA,QAAA,EAEDA,IAAC,eAAe,EAAA,EAAA,QAAA,EACfC,KAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACPD,IAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACtBA,GAAA,CAAC,MAAM,EAAA,EACN,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,YAAY,IAAI,gBAAgB,CAAC,EAC3D,OAAO,EAAE,UAAU,EAAA,QAAA,EAEnBA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,GACV,EAAA,CACO,EACjBA,IAAC,cAAc,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAwB,IAC9B,EAAA,CACO,EAAA,CACb,IACD,EAAA,CACD,EAAA,CACD;AAER;;ACzEA,MAAM,QAAQ,GAAG,MAAK;IACrB,QACCA,aAAK,SAAS,EAAC,8GAA8G,EAAA,QAAA,EAC5HC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2DAA2D,aACzEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAA,CACjDD,aAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,KAAA,EAAA,CAAU,EAClDA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,wBAAwB,8CAA0B,CAAA,EAAA,CAC5D,EACNA,aAAK,SAAS,EAAC,sDAAsD,EAAA,QAAA,EAAA,6HAAA,EAAA,CAE/D,EACNA,aAAK,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAC1CC,IAAA,CAAC,MAAM,EAAA,EACN,OAAO,EAAE,MAAK;AACb,4BAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG;AAC3B,wBAAA,CAAC,EACD,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAA,CAE1BD,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,EAAA,qBAAA,CAAA,EAAA,CAEL,EAAA,CACJ,CAAA,EAAA,CACD,EAAA,CACD;AAER;;AC5BM,SAAU,QAAQ,CAAC,GAAW,EAAA;IACnC,MAAM,WAAW,GAAG,wEAAwE;AAC5F,IAAA,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B;;ACHA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,MAAM,GAAG,GAAG,GAAG,EAAE;AAChC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ;;AAE7B,EAAE,IAAY,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,CAAC;;AAEzD,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AAC7C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU;;AAEzB,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;AAC/C,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7B,IAAI;AACJ,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAC3B,EAAE;;AAEF,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG;AAClC,EAAE,CAAC,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACnD,EAAE;AACF;;;;;;;","x_google_ignoreList":[26,27,28,29,30,31,32,33,34,35,106]}
|