shadboard 0.0.6 → 0.0.8

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/use-mobile.ts","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/input.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/sidebar.tsx","../src/components/themed-layout/header/index.tsx","../src/components/themed-layout/title/index.tsx","../src/components/ui/collapsible.tsx","../src/components/themed-layout/sider/nav-main.tsx","../src/components/ui/avatar.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/themed-layout/sider/nav-user.tsx","../src/components/themed-layout/sider/index.tsx","../src/components/ui/theme-provider.tsx","../src/contexts/themed-layout-context/index.tsx","../src/components/themed-layout/index.tsx","../../../node_modules/.pnpm/@refinedev+ui-types@2.0.1_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19.2.1__@_bktr4bku2v5d5gvnmfyaharmpy/node_modules/@refinedev/ui-types/src/ids.tsx","../../../node_modules/.pnpm/@refinedev+ui-types@2.0.1_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19.2.1__@_bktr4bku2v5d5gvnmfyaharmpy/node_modules/@refinedev/ui-types/src/classNames.ts","../src/components/crud/list/index.tsx","../src/components/crud/create/index.tsx","../src/components/buttons/create/index.tsx","../src/components/buttons/edit/index.tsx","../src/components/ui/popover.tsx","../src/components/buttons/delete/index.tsx","../src/components/buttons/refresh/index.tsx","../src/components/buttons/show/index.tsx","../src/components/buttons/list/index.tsx","../src/components/buttons/export/index.tsx","../src/components/buttons/save/index.tsx","../src/components/buttons/clone/index.tsx","../src/components/buttons/import/index.tsx","../src/components/ui/text.tsx","../src/components/fields/text/index.tsx","../src/components/fields/boolean/index.tsx","../src/components/fields/number/index.tsx","../src/components/pages/error/index.tsx","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isDateObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getEventValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getNodeParentName.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isPlainObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isWeb.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/cloneObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isKey.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isUndefined.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/compact.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/stringToPath.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/get.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isBoolean.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/set.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/constants.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useFormContext.tsx","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getProxyFormState.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useIsomorphicLayoutEffect.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isString.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isPrimitive.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/deepEqual.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/appendErrors.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/createSubject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/extractFormValues.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isEmptyObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isFileInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isFunction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isHTMLElement.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRadioInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/live.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/unset.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/objectHasFunction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getDirtyFields.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getRadioValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getFieldValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getResolverOptions.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRegex.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getRuleValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValidationModes.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/hasPromiseValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/hasValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/isWatched.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/iterateFieldsByAction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/shouldSubscribeByName.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/skipValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValidateError.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/validateField.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/createFormControl.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useForm.ts","../src/components/ui/label.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/card.tsx","../src/components/pages/auth/components/login/index.tsx","../src/components/pages/auth/index.tsx","../src/components/ui/breadcrumb.tsx","../src/components/breadcrumb/index.tsx","../src/components/undoable-notification/index.tsx","../src/components/auto-save-indicator/index.tsx","../src/providers/notification-provider.tsx","../src/index.ts"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","useState","useEffect","mql","onChange","cn","inputs","twMerge","clsx","buttonVariants","cva","Button","className","variant","size","asChild","props","jsx","Slot","Input","type","Separator","orientation","decorative","lr","Sheet","X","SheetPortal","SheetOverlay","SheetContent","children","side","jsxs","XIcon","SheetHeader","SheetTitle","SheetDescription","TooltipProvider","delayDuration","ue","Tooltip","TooltipTrigger","TooltipContent","sideOffset","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","oe","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","style","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","Sidebar","collapsible","SidebarTrigger","onClick","PanelLeftIcon","SidebarInset","SidebarHeader","SidebarFooter","SidebarContent","SidebarGroup","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","tooltip","Comp","button","SidebarMenuSub","ThemedHeader","sticky","user","useGetIdentity","Fragment","ThemedTitle","collapsed","iconFromProps","textFromProps","defaultIcon","defaultText","useRefineOptions","icon","text","Link","useLink","Collapsible","Ee","CollapsibleTrigger","CollapsibleContent","TreeViewItem","item","selectedKey","defaultOpenKeys","activeItemDisabled","label","route","name","isSelected","isParent","isOpen","setIsOpen","CanAccess","ListIcon","ChevronRight","child","NavMain","meta","menuItems","useMenu","CirclePlus","Mail","Avatar","Oe","AvatarImage","AvatarFallback","DropdownMenu","I","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","inset","DropdownMenuLabel","DropdownMenuSeparator","NavUser","Dot","UserCircle","CreditCard","Bell","LogOut","data","ThemedSider","TitleFromProps","render","siderItemsAreCollapsed","rest","RenderToTitle","ThemeProvider","NextThemesProvider","ThemedLayoutContextProvider","ThemedLayout","Sider","Header","Title","Footer","OffLayoutArea","initialSiderCollapsed","onSiderCollapsed","RefineButtonTestIds","RefinePageHeaderClassNames","RefineButtonClassNames","List","canCreate","createButtonPropsFromProps","resourceFromProps","wrapperProps","contentProps","headerProps","headerButtonProps","headerButtonsFromProps","breadcrumbFromProps","title","translate","useTranslate","globalBreadcrumb","useRefineContext","getUserFriendlyName","useUserFriendlyName","resource","identifier","useResourceParams","isCreateButtonVisible","breadcrumb","createButtonProps","defaultHeaderButtons","CreateButton","headerButtons","renderTitle","Breadcrumb","Create","saveButtonPropsFromProps","isLoading","footerButtonsFromProps","footerButtonProps","goBackFromProps","back","useBack","action","saveButtonProps","defaultFooterButtons","SaveButton","buttonBack","ArrowLeft","footerButtons","Loader2","resourceNameFromProps","hideText","accessControl","hidden","disabled","LinkComponent","to","useCreateButton","isDisabled","e","PlusSquare","EditButton","recordItemId","useEditButton","FolderDown","Popover","Pe","PopoverTrigger","PopoverContent","align","DeleteButton","onSuccess","mutationModeProp","successNotification","errorNotification","invalidates","dataProviderName","confirmTitle","confirmOkText","confirmCancelText","onConfirm","loading","defaultConfirmTitle","defaultConfirmOkLabel","defaultCancelLabel","useDeleteButton","Trash","RefreshButton","onRefresh","useRefreshButton","RefreshCcw","ShowButton","useShowButton","Eye","ListButton","useListButton","ExportButton","useExportButton","FolderUp","useSaveButton","Save","CloneButton","useCloneButton","Copy","ImportButton","inputProps","useImportButton","textVariants","Text","eo","ref","TextField","BooleanField","valueLabelTrue","valueLabelFalse","trueIcon","falseIcon","svgIconProps","Check","Minus","toLocaleStringSupportsOptions","NumberField","locale","options","number","ErrorComponent","errorMessage","setErrorMessage","showTip","setShowTip","go","useGo","isCheckBoxInput","element","isDateObject","isNullOrUndefined","isObjectType","isObject","getEventValue","getNodeParentName","isNameInFieldArray","names","isPlainObject","tempObject","prototypeCopy","isWeb","cloneObject","copy","isArray","isFileListInstance","key","isKey","isUndefined","val","compact","stringToPath","input","get","object","path","defaultValue","result","isBoolean","set","index","tempPath","length","lastIndex","newValue","objValue","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","React","FormProvider","getProxyFormState","formState","control","localProxyFormState","isRoot","_key","useIsomorphicLayoutEffect","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","isPrimitive","deepEqual","object1","object2","_internal_visited","keys1","keys2","val1","val2","appendErrors","validateAllFieldCriteria","errors","message","convertToArrayPayload","createSubject","_observers","observer","o","extractFormValues","fieldsState","values","fieldState","fieldValue","nestedFieldsState","isEmptyObject","isFileInput","isFunction","isHTMLElement","owner","isMultipleSelect","isRadioInput","isRadioOrCheckbox","live","baseGet","updatePath","isEmptyArray","obj","unset","paths","childObject","objectHasFunction","isTraversable","markFieldsDirty","fields","getDirtyFields","dirtyFieldsFromValues","formValue","defaultResult","validResult","getCheckboxValue","option","getFieldValueAs","valueAsNumber","valueAsDate","setValueAs","defaultReturn","getRadioValue","previous","getFieldValue","_f","isCheckBox","getResolverOptions","fieldsNames","_fields","criteriaMode","shouldUseNativeValidation","field","isRegex","getRuleValue","rule","getValidationModes","mode","ASYNC_FUNCTION","hasPromiseValidation","fieldReference","validateFunction","hasValidation","isWatched","isBlurEvent","watchName","iterateFieldsByAction","abortEarly","currentField","schemaErrorLookup","error","foundError","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","shouldSubscribeByName","signalName","exact","currentName","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","updateFieldArrayRootError","fieldArrayErrors","getValidateError","getValueAndMessage","validationData","validateField","disabledFieldNames","isFieldArray","refs","required","maxLength","minLength","min","max","pattern","validate","mount","inputValue","inputRef","setCustomValidity","isRadio","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","time","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","defaultOptions","createFormControl","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","timer","_proxySubscribeFormState","_subjects","shouldDisplayAllAssociatedErrors","debounce","callback","wait","_setValid","shouldUpdateValid","isValid","_runSchema","executeBuiltInValidation","_updateIsValidating","isValidating","_setFieldArray","method","args","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","_setErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","isFieldArrayRoot","isPromiseFunction","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","optionRef","checkboxRef","radioRef","trigger","setValues","fieldKey","setValue","cloneValue","target","isFieldValueUpdated","_updateIsFieldValueUpdated","validationModeBeforeSubmit","validationModeAfterSubmit","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","config","getFieldState","clearErrors","inputName","setError","currentError","currentRef","restOfErrorTree","watch","payload","_subscribe","_setFormState","subscribe","_setDisabledField","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","_disableForm","handleSubmit","onValid","onInvalid","onValidError","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","fieldsToCheck","form","reset","setFocus","methods","useForm","_formControl","_values","formControl","sub","isDirty","_a","Label","Bo","Checkbox","bt","CheckIcon","Card","CardHeader","CardTitle","CardContent","LoginPage","providers","registerLink","forgotPasswordLink","rememberMe","renderContent","formProps","hideForm","mutationVariables","onSubmit","useFormProps","login","useLogin","renderProviders","provider","PageTitle","content","AuthPage","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","breadcrumbProps","showHome","hideIcons","minItems","breadcrumbs","useBreadcrumb","resources","rootRouteResource","matchResourceFromRoute","Home","href","UndoableNotification","notificationKey","cancelMutation","undoableTimeout","toast","RotateCcwSquare","AutoSaveIndicator","status","success","Message","CheckCircle","FileExclamationPoint","idle","AutoSaveIndicatorCore","translationKey","defaultMessage","useNotificationProvider","description","greet","opts"],"mappings":"4gDAEA,IAAMA,EAAAA,CAAoB,GAAA,CAEnB,SAASC,EAAAA,EAAc,CAC5B,GAAM,CAACC,CAAAA,CAAUC,CAAW,CAAA,CAAIC,WAAAA,CAA8B,MAAS,CAAA,CAEvE,OAAAC,aAAU,IAAM,CACd,IAAMC,CAAAA,CAAM,MAAA,CAAO,WAAW,CAAA,YAAA,EAAeN,EAAAA,CAAoB,CAAC,CAAA,GAAA,CAAK,CAAA,CACjEO,CAAAA,CAAW,IAAM,CACrBJ,CAAAA,CAAY,OAAO,UAAA,CAAaH,EAAiB,EACnD,CAAA,CACA,OAAAM,EAAI,gBAAA,CAAiB,QAAA,CAAUC,CAAQ,CAAA,CACvCJ,CAAAA,CAAY,OAAO,UAAA,CAAaH,EAAiB,EAC1C,IAAMM,CAAAA,CAAI,mBAAA,CAAoB,QAAA,CAAUC,CAAQ,CACzD,EAAG,EAAE,EAEE,CAAC,CAACL,CACX,CCfO,SAASM,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCAA,IAAMG,EAAAA,CAAiBC,0BAAAA,CACrB,8bACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,wDAAA,CACT,WAAA,CACE,mJAAA,CACF,QACE,uIAAA,CACF,SAAA,CACE,+DACF,KAAA,CACE,sEAAA,CACF,KAAM,iDACR,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,+BAAA,CACT,GAAI,+CAAA,CACJ,EAAA,CAAI,uCACJ,IAAA,CAAM,QAAA,CACN,UAAW,QAAA,CACX,SAAA,CAAW,SACb,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,KAAM,SACR,CACF,CACF,CAAA,CAOA,SAASC,EAAO,CACd,SAAA,CAAAC,EACA,OAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,OAAA,CAAAC,EAAU,KAAA,CACV,GAAGC,CACL,CAAA,CAAgB,CAGd,OACEC,eAHWF,CAAAA,CAAUG,cAAAA,CAAO,SAG3B,CACC,WAAA,CAAU,SACV,SAAA,CAAWb,CAAAA,CAAGI,EAAAA,CAAe,CAAE,OAAA,CAAAI,CAAAA,CAAS,KAAAC,CAAAA,CAAM,SAAA,CAAAF,CAAU,CAAC,CAAC,EACzD,GAAGI,CAAAA,CACN,CAEJ,CCtDA,SAASG,EAAAA,CAAM,CAAE,SAAA,CAAAP,CAAAA,CAAW,KAAAQ,CAAAA,CAAM,GAAGJ,CAAM,CAAA,CAAkC,CAC3E,OACEC,cAAAA,CAAC,OAAA,CAAA,CACC,KAAMG,CAAAA,CACN,WAAA,CAAU,QACV,SAAA,CAAWf,CAAAA,CACT,4bAAA,CACA,+EAAA,CACA,wGAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CCXA,SAASK,GAAU,CACjB,SAAA,CAAAT,EACA,WAAA,CAAAU,CAAAA,CAAc,aACd,UAAA,CAAAC,CAAAA,CAAa,IAAA,CACb,GAAGP,CACL,CAAA,CAAyD,CACvD,OACEC,cAAAA,CAAoBO,mBAAnB,CACC,WAAA,CAAU,YACV,UAAA,CAAYD,CAAAA,CACZ,YAAaD,CAAAA,CACb,SAAA,CAAWjB,EACT,gKAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CCjBA,SAASS,EAAAA,CAAM,CAAE,GAAGT,CAAM,CAAA,CAAqD,CAC7E,OAAOC,cAAAA,CAAgBS,kBAAf,CAAoB,WAAA,CAAU,QAAS,GAAGV,CAAAA,CAAO,CAC3D,CAcA,SAASW,EAAAA,CAAY,CACnB,GAAGX,CACL,EAAuD,CACrD,OAAOC,eAAgBS,YAAA,CAAA,MAAA,CAAf,CAAsB,YAAU,cAAA,CAAgB,GAAGV,EAAO,CACpE,CAEA,SAASY,EAAAA,CAAa,CACpB,UAAAhB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAwD,CACtD,OACEC,eAAgBS,YAAA,CAAA,OAAA,CAAf,CACC,YAAU,eAAA,CACV,SAAA,CAAWrB,EACT,wJAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASa,EAAAA,CAAa,CACpB,SAAA,CAAAjB,CAAAA,CACA,SAAAkB,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,OAAA,CACP,GAAGf,CACL,EAEG,CACD,OACEgB,gBAACL,EAAAA,CAAA,CACC,UAAAV,cAAAA,CAACW,EAAAA,CAAA,EAAa,CAAA,CACdI,eAAAA,CAAgBN,qBAAf,CACC,WAAA,CAAU,gBACV,SAAA,CAAWrB,CAAAA,CACT,6MACA0B,CAAAA,GAAS,OAAA,EACP,kIAAA,CACFA,CAAAA,GAAS,MAAA,EACP,+HAAA,CACFA,IAAS,KAAA,EACP,0GAAA,CACFA,IAAS,QAAA,EACP,mHAAA,CACFnB,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAA,CAAAc,CAAAA,CACDE,eAAAA,CAAgBN,mBAAf,CAAqB,SAAA,CAAU,6OAC9B,QAAA,CAAA,CAAAT,cAAAA,CAACgB,kBAAA,CAAM,SAAA,CAAU,QAAA,CAAS,CAAA,CAC1BhB,cAAAA,CAAC,MAAA,CAAA,CAAK,UAAU,SAAA,CAAU,QAAA,CAAA,OAAA,CAAK,GACjC,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,SAASiB,GAAY,CAAE,SAAA,CAAAtB,EAAW,GAAGI,CAAM,EAAgC,CACzE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,cAAA,CACV,SAAA,CAAWZ,CAAAA,CAAG,2BAAA,CAA6BO,CAAS,CAAA,CACnD,GAAGI,EACN,CAEJ,CAYA,SAASmB,EAAAA,CAAW,CAClB,UAAAvB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAsD,CACpD,OACEC,cAAAA,CAAgBS,YAAA,CAAA,KAAA,CAAf,CACC,WAAA,CAAU,aAAA,CACV,SAAA,CAAWrB,CAAAA,CAAG,+BAAA,CAAiCO,CAAS,EACvD,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASoB,GAAiB,CACxB,SAAA,CAAAxB,EACA,GAAGI,CACL,EAA4D,CAC1D,OACEC,eAAgBS,YAAA,CAAA,WAAA,CAAf,CACC,YAAU,mBAAA,CACV,SAAA,CAAWrB,CAAAA,CAAG,+BAAA,CAAiCO,CAAS,CAAA,CACvD,GAAGI,CAAAA,CACN,CAEJ,CCxHA,SAASqB,GAAgB,CACvB,aAAA,CAAAC,EAAgB,CAAA,CAChB,GAAGtB,CACL,CAAA,CAA2D,CACzD,OACEC,cAAAA,CAAkBsB,aAAA,CAAA,QAAA,CAAjB,CACC,YAAU,kBAAA,CACV,aAAA,CAAeD,EACd,GAAGtB,CAAAA,CACN,CAEJ,CAEA,SAASwB,GAAQ,CACf,GAAGxB,CACL,CAAA,CAAuD,CACrD,OACEC,cAAAA,CAACoB,EAAAA,CAAA,CACC,QAAA,CAAApB,cAAAA,CAAkBsB,aAAA,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGvB,CAAAA,CAAO,CAAA,CACxD,CAEJ,CAEA,SAASyB,GAAe,CACtB,GAAGzB,CACL,CAAA,CAA0D,CACxD,OAAOC,eAAkBsB,aAAA,CAAA,OAAA,CAAjB,CAAyB,YAAU,iBAAA,CAAmB,GAAGvB,EAAO,CAC1E,CAEA,SAAS0B,EAAAA,CAAe,CACtB,SAAA,CAAA9B,EACA,UAAA,CAAA+B,CAAAA,CAAa,EACb,QAAA,CAAAb,CAAAA,CACA,GAAGd,CACL,CAAA,CAA0D,CACxD,OACEC,cAAAA,CAAkBsB,qBAAjB,CACC,QAAA,CAAAP,gBAAkBO,aAAA,CAAA,OAAA,CAAjB,CACC,YAAU,iBAAA,CACV,UAAA,CAAYI,CAAAA,CACZ,SAAA,CAAWtC,CAAAA,CACT,maAAA,CACAO,CACF,CAAA,CACC,GAAGI,EAEH,QAAA,CAAA,CAAAc,CAAAA,CACDb,eAAkBsB,aAAA,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAU,oGAAA,CAAqG,CAAA,CAAA,CACzI,CAAA,CACF,CAEJ,CC/BA,IAAMK,EAAAA,CAAsB,eAAA,CACtBC,EAAAA,CAAyB,IAAA,CAAU,EAAA,CAAK,EACxCC,EAAAA,CAAgB,OAAA,CAChBC,GAAuB,OAAA,CACvBC,EAAAA,CAAqB,OACrBC,EAAAA,CAA4B,GAAA,CAY5BC,GAAuBC,aAAA,CAAA,aAAA,CAA0C,IAAI,EAE3E,SAASC,EAAAA,EAAa,CACpB,IAAMC,CAAAA,CAAgBF,yBAAWD,EAAc,CAAA,CAC/C,GAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,mDAAmD,EAGrE,OAAOA,CACT,CAEA,SAASC,EAAAA,CAAgB,CACvB,WAAA,CAAAC,CAAAA,CAAc,IAAA,CACd,KAAMC,CAAAA,CACN,YAAA,CAAcC,EACd,SAAA,CAAA7C,CAAAA,CACA,MAAA8C,CAAAA,CACA,QAAA,CAAA5B,CAAAA,CACA,GAAGd,CACL,CAAA,CAIG,CACD,IAAMjB,CAAAA,CAAWD,IAAY,CACvB,CAAC6D,EAAYC,CAAa,CAAA,CAAUT,uBAAS,KAAK,CAAA,CAIlD,CAACU,CAAAA,CAAOC,CAAQ,EAAUX,aAAA,CAAA,QAAA,CAASI,CAAW,EAC9CQ,CAAAA,CAAOP,CAAAA,EAAYK,CAAAA,CACnBG,CAAAA,CAAgBb,aAAA,CAAA,WAAA,CACnBc,CAAAA,EAAmD,CAClD,IAAMC,CAAAA,CAAY,OAAOD,CAAAA,EAAU,UAAA,CAAaA,EAAMF,CAAI,CAAA,CAAIE,CAAAA,CAC1DR,CAAAA,CACFA,CAAAA,CAAYS,CAAS,EAErBJ,CAAAA,CAASI,CAAS,EAIpB,QAAA,CAAS,MAAA,CAAS,GAAGtB,EAAmB,CAAA,CAAA,EAAIsB,CAAS,CAAA,kBAAA,EAAqBrB,EAAsB,CAAA,EAClG,EACA,CAACY,CAAAA,CAAaM,CAAI,CACpB,CAAA,CAGMI,EAAsBhB,aAAA,CAAA,WAAA,CAAY,IAC/BpD,EAAW6D,CAAAA,CAAeG,CAAAA,EAAS,CAACA,CAAI,CAAA,CAAIC,EAASD,CAAAA,EAAS,CAACA,CAAI,CAAA,CACzE,CAAChE,CAAAA,CAAUiE,CAAAA,CAASJ,CAAa,CAAC,EAG/BT,aAAA,CAAA,SAAA,CAAU,IAAM,CACpB,IAAMiB,CAAAA,CAAiBC,GAAyB,CAE5CA,CAAAA,CAAM,GAAA,GAAQpB,EAAAA,GACboB,CAAAA,CAAM,OAAA,EAAWA,EAAM,OAAA,CAAA,GAExBA,CAAAA,CAAM,gBAAe,CACrBF,CAAAA,IAEJ,CAAA,CAEA,OAAA,MAAA,CAAO,gBAAA,CAAiB,SAAA,CAAWC,CAAa,CAAA,CACzC,IAAM,MAAA,CAAO,mBAAA,CAAoB,UAAWA,CAAa,CAClE,EAAG,CAACD,CAAa,CAAC,CAAA,CAIlB,IAAMG,EAAQP,CAAAA,CAAO,UAAA,CAAa,YAE5BQ,CAAAA,CAAqBpB,aAAA,CAAA,OAAA,CACzB,KAAO,CACL,KAAA,CAAAmB,CAAAA,CACA,IAAA,CAAAP,CAAAA,CACA,OAAA,CAAAC,EACA,QAAA,CAAAjE,CAAAA,CACA,WAAA4D,CAAAA,CACA,aAAA,CAAAC,EACA,aAAA,CAAAO,CACF,CAAA,CAAA,CACA,CAACG,CAAAA,CAAOP,CAAAA,CAAMC,EAASjE,CAAAA,CAAU4D,CAAAA,CAAYC,EAAeO,CAAa,CAC3E,EAEA,OACElD,cAAAA,CAACiC,EAAAA,CAAe,QAAA,CAAf,CAAwB,KAAA,CAAOqB,EAC9B,QAAA,CAAAtD,cAAAA,CAACoB,GAAA,CAAgB,aAAA,CAAe,EAC9B,QAAA,CAAApB,cAAAA,CAAC,OACC,WAAA,CAAU,iBAAA,CACV,MACE,CACE,iBAAA,CAAmB6B,GACnB,sBAAA,CAAwBE,EAAAA,CACxB,GAAGU,CACL,CAAA,CAEF,SAAA,CAAWrD,CAAAA,CACT,iFAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CAEH,SAAAc,CAAAA,CACH,CAAA,CACF,EACF,CAEJ,CAEA,SAAS0C,EAAAA,CAAQ,CACf,KAAAzC,CAAAA,CAAO,MAAA,CACP,QAAAlB,CAAAA,CAAU,SAAA,CACV,YAAA4D,CAAAA,CAAc,WAAA,CACd,SAAA,CAAA7D,CAAAA,CACA,QAAA,CAAAkB,CAAAA,CACA,GAAGd,CACL,CAAA,CAIG,CACD,GAAM,CAAE,SAAAjB,CAAAA,CAAU,KAAA,CAAAuE,EAAO,UAAA,CAAAX,CAAAA,CAAY,cAAAC,CAAc,CAAA,CAAIR,IAAW,CAElE,OAAIqB,IAAgB,MAAA,CAEhBxD,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,SAAA,CACV,SAAA,CAAWZ,EACT,6EAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CAEH,SAAAc,CAAAA,CACH,CAAA,CAIA/B,CAAAA,CAEAkB,cAAAA,CAACQ,EAAAA,CAAA,CAAM,KAAMkC,CAAAA,CAAY,YAAA,CAAcC,EAAgB,GAAG5C,CAAAA,CACxD,SAAAgB,eAAAA,CAACH,EAAAA,CAAA,CACC,cAAA,CAAa,SAAA,CACb,WAAA,CAAU,UACV,aAAA,CAAY,MAAA,CACZ,UAAU,8EAAA,CACV,KAAA,CACE,CACE,iBAAA,CAAmBkB,EACrB,EAEF,IAAA,CAAMhB,CAAAA,CAEN,UAAAC,eAAAA,CAACE,EAAAA,CAAA,CAAY,SAAA,CAAU,SAAA,CACrB,UAAAjB,cAAAA,CAACkB,EAAAA,CAAA,CAAW,QAAA,CAAA,SAAA,CAAO,CAAA,CACnBlB,cAAAA,CAACmB,GAAA,CAAiB,QAAA,CAAA,8BAAA,CAA4B,GAChD,CAAA,CACAnB,cAAAA,CAAC,OAAI,SAAA,CAAU,6BAAA,CAA+B,QAAA,CAAAa,CAAAA,CAAS,CAAA,CAAA,CACzD,CAAA,CACF,EAKFE,eAAAA,CAAC,KAAA,CAAA,CACC,UAAU,oDAAA,CACV,YAAA,CAAYsC,EACZ,kBAAA,CAAkBA,CAAAA,GAAU,WAAA,CAAcG,CAAAA,CAAc,EAAA,CACxD,cAAA,CAAc5D,EACd,WAAA,CAAWkB,CAAAA,CACX,YAAU,SAAA,CAGV,QAAA,CAAA,CAAAd,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,cACV,SAAA,CAAWZ,CAAAA,CACT,0FACA,wCAAA,CACA,oCAAA,CACAQ,IAAY,UAAA,EAAcA,CAAAA,GAAY,QAClC,kFAAA,CACA,wDACN,CAAA,CACF,CAAA,CACAI,cAAAA,CAAC,KAAA,CAAA,CACC,YAAU,mBAAA,CACV,SAAA,CAAWZ,EACT,sHAAA,CACA0B,CAAAA,GAAS,OACL,gFAAA,CACA,kFAAA,CAEJlB,CAAAA,GAAY,UAAA,EAAcA,CAAAA,GAAY,OAAA,CAClC,2FACA,yHAAA,CACJD,CACF,EACC,GAAGI,CAAAA,CAEJ,SAAAC,cAAAA,CAAC,KAAA,CAAA,CACC,cAAA,CAAa,SAAA,CACb,WAAA,CAAU,eAAA,CACV,UAAU,kNAAA,CAET,QAAA,CAAAa,EACH,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,SAAS4C,GAAe,CACtB,SAAA,CAAA9D,EACA,OAAA,CAAA+D,CAAAA,CACA,GAAG3D,CACL,CAAA,CAAwC,CACtC,GAAM,CAAE,aAAA,CAAAmD,CAAc,CAAA,CAAIf,EAAAA,GAE1B,OACEpB,eAAAA,CAACrB,EAAA,CACC,cAAA,CAAa,UACb,WAAA,CAAU,iBAAA,CACV,QAAQ,OAAA,CACR,IAAA,CAAK,OACL,SAAA,CAAWN,CAAAA,CAAG,SAAUO,CAAS,CAAA,CACjC,QAAUyD,CAAAA,EAAU,CAClBM,CAAAA,GAAUN,CAAK,CAAA,CACfF,CAAAA,GACF,CAAA,CACC,GAAGnD,EAEJ,QAAA,CAAA,CAAAC,cAAAA,CAAC2D,0BAAA,EAAc,CAAA,CACf3D,eAAC,MAAA,CAAA,CAAK,SAAA,CAAU,UAAU,QAAA,CAAA,gBAAA,CAAc,CAAA,CAAA,CAC1C,CAEJ,CA2BA,SAAS4D,GAAa,CAAE,SAAA,CAAAjE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAiC,CAC3E,OACEC,cAAAA,CAAC,QACC,WAAA,CAAU,eAAA,CACV,UAAWZ,CAAAA,CACT,oDAAA,CACA,iNAAA,CACAO,CACF,CAAA,CACC,GAAGI,EACN,CAEJ,CAgBA,SAAS8D,EAAAA,CAAc,CAAE,UAAAlE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC3E,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,iBACV,cAAA,CAAa,QAAA,CACb,UAAWZ,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,EACN,CAEJ,CAEA,SAAS+D,EAAAA,CAAc,CAAE,UAAAnE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC3E,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,iBACV,cAAA,CAAa,QAAA,CACb,UAAWZ,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,CAAAA,CACN,CAEJ,CAgBA,SAASgE,GAAe,CAAE,SAAA,CAAApE,EAAW,GAAGI,CAAM,CAAA,CAAgC,CAC5E,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,iBAAA,CACV,eAAa,SAAA,CACb,SAAA,CAAWZ,EACT,gGAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASiE,GAAa,CAAE,SAAA,CAAArE,EAAW,GAAGI,CAAM,CAAA,CAAgC,CAC1E,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,eAAA,CACV,eAAa,OAAA,CACb,SAAA,CAAWZ,EAAG,2CAAA,CAA6CO,CAAS,CAAA,CACnE,GAAGI,CAAAA,CACN,CAEJ,CA8CA,SAASkE,EAAAA,CAAoB,CAC3B,SAAA,CAAAtE,CAAAA,CACA,GAAGI,CACL,CAAA,CAAgC,CAC9B,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,YAAU,uBAAA,CACV,cAAA,CAAa,gBACb,SAAA,CAAWZ,CAAAA,CAAG,iBAAkBO,CAAS,CAAA,CACxC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASmE,EAAAA,CAAY,CAAE,SAAA,CAAAvE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CACxE,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,YAAU,cAAA,CACV,cAAA,CAAa,OACb,SAAA,CAAWZ,CAAAA,CAAG,qCAAsCO,CAAS,CAAA,CAC5D,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASoE,EAAAA,CAAgB,CAAE,SAAA,CAAAxE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC5E,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,YAAU,mBAAA,CACV,cAAA,CAAa,YACb,SAAA,CAAWZ,CAAAA,CAAG,2BAA4BO,CAAS,CAAA,CAClD,GAAGI,CAAAA,CACN,CAEJ,CAEA,IAAMqE,EAAAA,CAA4B3E,2BAChC,mzBAAA,CACA,CACE,SAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,8DAAA,CACT,OAAA,CACE,8KACJ,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,aAAA,CACT,GAAI,aAAA,CACJ,EAAA,CAAI,iDACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,KAAM,SACR,CACF,CACF,CAAA,CAEA,SAAS4E,EAAAA,CAAkB,CACzB,OAAA,CAAAvE,CAAAA,CAAU,MACV,QAAA,CAAAwE,CAAAA,CAAW,MACX,OAAA,CAAA1E,CAAAA,CAAU,UACV,IAAA,CAAAC,CAAAA,CAAO,UACP,OAAA,CAAA0E,CAAAA,CACA,UAAA5E,CAAAA,CACA,GAAGI,CACL,CAAA,CAIoD,CAClD,IAAMyE,CAAAA,CAAO1E,CAAAA,CAAUG,cAAAA,CAAO,QAAA,CACxB,CAAE,QAAA,CAAAnB,EAAU,KAAA,CAAAuE,CAAM,EAAIlB,EAAAA,EAAW,CAEjCsC,EACJzE,cAAAA,CAACwE,CAAAA,CAAA,CACC,WAAA,CAAU,qBAAA,CACV,cAAA,CAAa,cACb,WAAA,CAAW3E,CAAAA,CACX,cAAayE,CAAAA,CACb,SAAA,CAAWlF,EAAGgF,EAAAA,CAA0B,CAAE,OAAA,CAAAxE,CAAAA,CAAS,IAAA,CAAAC,CAAK,CAAC,CAAA,CAAGF,CAAS,EACpE,GAAGI,CAAAA,CACN,EAGF,OAAKwE,CAAAA,EAID,OAAOA,CAAAA,EAAY,QAAA,GACrBA,EAAU,CACR,QAAA,CAAUA,CACZ,CAAA,CAAA,CAIAxD,eAAAA,CAACQ,GAAA,CACC,QAAA,CAAA,CAAAvB,cAAAA,CAACwB,EAAAA,CAAA,CAAe,OAAA,CAAO,KAAE,QAAA,CAAAiD,CAAAA,CAAO,EAChCzE,cAAAA,CAACyB,EAAAA,CAAA,CACC,IAAA,CAAK,OAAA,CACL,KAAA,CAAM,QAAA,CACN,MAAA,CAAQ4B,CAAAA,GAAU,aAAevE,CAAAA,CAChC,GAAGyF,EACN,CAAA,CAAA,CACF,CAAA,EAlBOE,CAoBX,CA8FA,SAASC,EAAAA,CAAe,CAAE,SAAA,CAAA/E,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,cAAAA,CAAC,MACC,WAAA,CAAU,kBAAA,CACV,eAAa,UAAA,CACb,SAAA,CAAWZ,EACT,gGAAA,CACA,sCAAA,CACAO,CACF,CAAA,CACC,GAAGI,EACN,CAEJ,CCroBO,IAAM4E,EAAAA,CAAe,CAAC,CAAE,MAAA,CAAAC,CAAO,IAAqC,CACzE,GAAM,CAAE,IAAA,CAAMC,CAAK,EAAIC,mBAAAA,EAAe,CAEtC,OACE9E,cAAAA,CAAA+E,mBAAAA,CAAA,CACE,SAAA/E,cAAAA,CAAC,QAAA,CAAA,CAAO,UAAU,2KAAA,CAChB,QAAA,CAAAe,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,uDACb,QAAA,CAAA,CAAAf,cAAAA,CAACyD,GAAA,CAAe,SAAA,CAAU,QAAQ,CAAA,CAClCzD,cAAAA,CAACI,GAAA,CACC,WAAA,CAAY,UAAA,CACZ,SAAA,CAAU,sCAAA,CACZ,CAAA,CACAJ,eAAC,IAAA,CAAA,CAAG,SAAA,CAAU,wBAAwB,QAAA,CAAA,WAAA,CAAS,CAAA,CAC/CA,eAAC,KAAA,CAAA,CAAI,SAAA,CAAU,iCAAA,CACb,QAAA,CAAAA,cAAAA,CAACN,CAAAA,CAAA,CACC,OAAA,CAAQ,OAAA,CACR,QAAO,IAAA,CACP,IAAA,CAAK,KACL,SAAA,CAAU,gBAAA,CAEV,QAAA,CAAAM,cAAAA,CAAC,GAAA,CAAA,CACC,IAAA,CAAK,6EACL,GAAA,CAAI,qBAAA,CACJ,OAAO,QAAA,CACP,SAAA,CAAU,uBACX,QAAA,CAAA,QAAA,CAED,CAAA,CACF,EACF,CAAA,CAAA,CACF,CAAA,CACF,EA4BF,CAEJ,CAAA,CC9DO,IAAMgF,GAAc,CAAC,CAC1B,UAAAC,CAAAA,CACA,IAAA,CAAMC,CAAAA,CACN,IAAA,CAAMC,CACR,CAAA,GAAoC,CAClC,GAAM,CAAE,MAAO,CAAE,IAAA,CAAMC,EAAa,IAAA,CAAMC,CAAY,CAAA,CAAI,EAAG,CAAA,CAC3DC,uBAAiB,CACbC,CAAAA,CACJ,OAAOL,CAAAA,CAAkB,GAAA,CAAcE,EAAcF,CAAAA,CACjDM,CAAAA,CACJ,OAAOL,CAAAA,CAAkB,GAAA,CAAcE,EAAcF,CAAAA,CACjDM,CAAAA,CAAOC,cAAQ,CAEf,CAAE,MAAArC,CAAAA,CAAO,QAAA,CAAAvE,CAAS,CAAA,CAAIqD,EAAAA,EAAW,CAEvC,OACEpB,eAAAA,CAAC0E,CAAAA,CAAA,CACC,EAAA,CAAG,GAAA,CACH,UAAU,qFAAA,CAEV,QAAA,CAAA,CAAAzF,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sCAAA,CAAwC,SAAAuF,CAAAA,CAAK,CAAA,CAAA,CAC1DzG,GAAa,CAACmG,CAAAA,EAAa5B,IAAU,UAAA,GACrCrD,cAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,yBAAA,CAA2B,QAAA,CAAAwF,EAAK,CAAA,CAAA,CAElD,CAEJ,ECzBA,SAASG,EAAAA,CAAY,CACnB,GAAG5F,CACL,CAAA,CAA2D,CACzD,OAAOC,cAAAA,CAAsB4F,mBAArB,CAA0B,WAAA,CAAU,cAAe,GAAG7F,CAAAA,CAAO,CACvE,CAEA,SAAS8F,EAAAA,CAAmB,CAC1B,GAAG9F,CACL,EAAyE,CACvE,OACEC,eAAsB4F,aAAA,CAAA,kBAAA,CAArB,CACC,YAAU,qBAAA,CACT,GAAG7F,EACN,CAEJ,CAEA,SAAS+F,EAAAA,CAAmB,CAC1B,UAAAnG,CAAAA,CACA,QAAA,CAAAkB,EACA,GAAGd,CACL,CAAA,CAAyE,CACvE,OACEC,cAAAA,CAAsB4F,iCAArB,CACC,WAAA,CAAU,sBACV,SAAA,CAAWxG,CAAAA,CACT,uHACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAAc,CAAAA,CACH,CAEJ,CCFA,SAASkF,GAAa,CACpB,IAAA,CAAAC,EACA,WAAA,CAAAC,CAAAA,CACA,gBAAAC,CAAAA,CACA,IAAA,CAAAT,EACA,kBAAA,CAAAU,CAAAA,CAAqB,KACvB,CAAA,CAAsB,CACpB,GAAM,CAAE,KAAA,CAAAC,EAAO,KAAA,CAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAAA,CAAM,IAAA,CAAAf,CAAAA,CAAM,SAAA1E,CAAS,CAAA,CAAImF,EACzCO,CAAAA,CAAaP,CAAAA,CAAK,MAAQC,CAAAA,CAC1BO,CAAAA,CAAW3F,CAAAA,EAAYA,CAAAA,CAAS,MAAA,CAAS,CAAA,CACzCyB,EAAc4D,CAAAA,CAAgB,QAAA,CAASF,EAAK,GAAA,EAAO,EAAE,EACrD,CAACS,CAAAA,CAAQC,CAAS,CAAA,CAAI1H,WAAAA,CAASsD,CAAW,EAEhD,OAAKkE,CAAAA,CA0BHxG,eAAC2G,cAAAA,CAAA,CAEC,SAAUL,CAAAA,CACV,MAAA,CAAO,OACP,MAAA,CAAQ,CAAE,SAAUN,CAAK,CAAA,CAEzB,SAAAhG,cAAAA,CAAC2F,EAAAA,CAAA,CACC,IAAA,CAAMc,CAAAA,CACN,YAAA,CAAcC,CAAAA,CACd,SAAA,CAAU,mBAAA,CAEV,SAAA3F,eAAAA,CAACoD,EAAAA,CAAA,CACC,QAAA,CAAA,CAAAnE,cAAAA,CAAC6F,GAAA,CAAmB,OAAA,CAAO,IAAA,CACzB,QAAA,CAAA9E,eAAAA,CAACsD,EAAAA,CAAA,CAAkB,OAAA,CAAS+B,CAAAA,CAAO,SAAUG,CAAAA,CAC1C,QAAA,CAAA,CAAAhB,GAAQvF,cAAAA,CAAC4G,oBAAAA,CAAA,CAAS,SAAA,CAAU,SAAA,CAAU,CAAA,CACvC5G,eAAC,MAAA,CAAA,CAAM,QAAA,CAAAoG,EAAM,CAAA,CACbpG,cAAAA,CAAC6G,yBAAA,CACC,SAAA,CAAWzH,EACT,mDAAA,CACAqH,CAAAA,EAAU,WACZ,CAAA,CACF,CAAA,CAAA,CACF,EACF,CAAA,CACAzG,cAAAA,CAAC8F,GAAA,CACC,QAAA,CAAA9F,cAAAA,CAAC0E,EAAAA,CAAA,CACE,QAAA,CAAA7D,EAAS,GAAA,CAAKiG,CAAAA,EACb9G,eAAC+F,EAAAA,CAAA,CAEC,KAAMe,CAAAA,CACN,WAAA,CAAab,EACb,eAAA,CAAiBC,CAAAA,CACjB,KAAMT,CAAAA,CACN,kBAAA,CAAoBU,GALfW,CAAAA,CAAM,GAMb,CACD,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAtCKd,CAAAA,CAAK,GAuCZ,CAAA,CAhEEhG,cAAAA,CAAC2G,eAAA,CAEC,QAAA,CAAUL,EACV,MAAA,CAAO,MAAA,CACP,OAAQ,CAAE,QAAA,CAAUN,CAAK,CAAA,CAEzB,QAAA,CAAAhG,eAACmE,EAAAA,CAAA,CACC,SAAAnE,cAAAA,CAACqE,EAAAA,CAAA,CACC,OAAA,CAAS,CAACkC,CAAAA,EAAc,CAACJ,CAAAA,CACzB,OAAA,CAASC,EACT,QAAA,CAAUG,CAAAA,CACV,SAAUA,CAAAA,EAAcJ,CAAAA,CAExB,QAAA,CAAApF,eAAAA,CAAC0E,CAAAA,CAAA,CAAK,GAAIY,CAAAA,CACP,QAAA,CAAA,CAAAd,GAAQvF,cAAAA,CAAC4G,oBAAAA,CAAA,CAAS,SAAA,CAAU,SAAA,CAAU,CAAA,CACvC5G,cAAAA,CAAC,MAAA,CAAA,CAAM,QAAA,CAAAoG,EAAM,CAAA,CAAA,CACf,CAAA,CACF,EACF,CAAA,CAAA,CAjBKJ,CAAAA,CAAK,GAkBZ,CA+CN,CAEO,SAASe,EAAAA,CAAQ,CAAE,KAAAC,CAAAA,CAAM,kBAAA,CAAAb,EAAqB,KAAM,CAAA,CAAiB,CAC1E,IAAMV,CAAAA,CAAOC,YAAAA,EAAQ,CACf,CAAE,SAAA,CAAAuB,EAAW,WAAA,CAAAhB,CAAAA,CAAa,gBAAAC,CAAgB,CAAA,CAAIgB,aAAQ,CAAE,IAAA,CAAAF,CAAK,CAAC,CAAA,CAEpE,OACEhH,eAACgE,EAAAA,CAAA,CACC,SAAAjD,eAAAA,CAACkD,EAAAA,CAAA,CAAoB,SAAA,CAAU,qBAAA,CAC7B,QAAA,CAAA,CAAAjE,cAAAA,CAACkE,EAAAA,CAAA,CACC,SAAAnD,eAAAA,CAACoD,EAAAA,CAAA,CAAgB,SAAA,CAAU,yBAAA,CACzB,UAAApD,eAAAA,CAACsD,EAAAA,CAAA,CACC,OAAA,CAAQ,cAAA,CACR,UAAU,2KAAA,CAEV,QAAA,CAAA,CAAArE,eAACmH,sBAAAA,CAAA,EAAW,EACZnH,cAAAA,CAAC,MAAA,CAAA,CAAK,QAAA,CAAA,cAAA,CAAY,CAAA,CAAA,CACpB,CAAA,CACAe,eAAAA,CAACrB,EAAA,CACC,IAAA,CAAK,OACL,SAAA,CAAU,gDAAA,CACV,QAAQ,SAAA,CAER,QAAA,CAAA,CAAAM,cAAAA,CAACoH,gBAAAA,CAAA,EAAK,CAAA,CACNpH,eAAC,MAAA,CAAA,CAAK,SAAA,CAAU,UAAU,QAAA,CAAA,OAAA,CAAK,CAAA,CAAA,CACjC,GACF,CAAA,CACF,CAAA,CACAA,cAAAA,CAACkE,EAAAA,CAAA,CACE,QAAA,CAAA+C,EAAU,GAAA,CAAKjB,CAAAA,EACdhG,eAAC+F,EAAAA,CAAA,CAEC,KAAMC,CAAAA,CACN,WAAA,CAAaC,EACb,eAAA,CAAiBC,CAAAA,CACjB,KAAMT,CAAAA,CACN,kBAAA,CAAoBU,GALfH,CAAAA,CAAK,GAMZ,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,CC5JA,SAASqB,GAAO,CACd,SAAA,CAAA1H,EACA,GAAGI,CACL,EAAsD,CACpD,OACEC,eAAiBsH,aAAA,CAAA,IAAA,CAAhB,CACC,YAAU,QAAA,CACV,SAAA,CAAWlI,CAAAA,CACT,4DAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASwH,EAAAA,CAAY,CACnB,SAAA,CAAA5H,CAAAA,CACA,GAAGI,CACL,CAAA,CAAuD,CACrD,OACEC,cAAAA,CAAiBsH,oBAAhB,CACC,WAAA,CAAU,eACV,SAAA,CAAWlI,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,EACN,CAEJ,CAEA,SAASyH,EAAAA,CAAe,CACtB,UAAA7H,CAAAA,CACA,GAAGI,CACL,CAAA,CAA0D,CACxD,OACEC,eAAiBsH,aAAA,CAAA,QAAA,CAAhB,CACC,YAAU,iBAAA,CACV,SAAA,CAAWlI,EACT,kEAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCzCA,SAAS0H,EAAAA,CAAa,CACpB,GAAG1H,CACL,CAAA,CAA4D,CAC1D,OAAOC,cAAAA,CAAuB0H,kBAAtB,CAA2B,WAAA,CAAU,gBAAiB,GAAG3H,CAAAA,CAAO,CAC1E,CAUA,SAAS4H,EAAAA,CAAoB,CAC3B,GAAG5H,CACL,EAA+D,CAC7D,OACEC,eAAuB0H,YAAA,CAAA,OAAA,CAAtB,CACC,YAAU,uBAAA,CACT,GAAG3H,EACN,CAEJ,CAEA,SAAS6H,EAAAA,CAAoB,CAC3B,UAAAjI,CAAAA,CACA,UAAA,CAAA+B,EAAa,CAAA,CACb,GAAG3B,CACL,CAAA,CAA+D,CAC7D,OACEC,eAAuB0H,YAAA,CAAA,MAAA,CAAtB,CACC,SAAA1H,cAAAA,CAAuB0H,YAAA,CAAA,OAAA,CAAtB,CACC,WAAA,CAAU,uBAAA,CACV,UAAA,CAAYhG,CAAAA,CACZ,SAAA,CAAWtC,CAAAA,CACT,yjBACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAAA,CACF,CAEJ,CAEA,SAAS8H,EAAAA,CAAkB,CACzB,GAAG9H,CACL,EAA6D,CAC3D,OACEC,eAAuB0H,YAAA,CAAA,KAAA,CAAtB,CAA4B,YAAU,qBAAA,CAAuB,GAAG3H,EAAO,CAE5E,CAEA,SAAS+H,EAAAA,CAAiB,CACxB,UAAAnI,CAAAA,CACA,KAAA,CAAAoI,EACA,OAAA,CAAAnI,CAAAA,CAAU,SAAA,CACV,GAAGG,CACL,CAAA,CAGG,CACD,OACEC,cAAAA,CAAuB0H,kBAAtB,CACC,WAAA,CAAU,qBACV,YAAA,CAAYK,CAAAA,CACZ,cAAA,CAAcnI,CAAAA,CACd,SAAA,CAAWR,CAAAA,CACT,8mBACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CA+DA,SAASiI,EAAAA,CAAkB,CACzB,SAAA,CAAArI,CAAAA,CACA,KAAA,CAAAoI,EACA,GAAGhI,CACL,EAEG,CACD,OACEC,eAAuB0H,YAAA,CAAA,KAAA,CAAtB,CACC,YAAU,qBAAA,CACV,YAAA,CAAYK,EACZ,SAAA,CAAW3I,CAAAA,CACT,oDACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASkI,EAAAA,CAAsB,CAC7B,UAAAtI,CAAAA,CACA,GAAGI,CACL,CAAA,CAAiE,CAC/D,OACEC,cAAAA,CAAuB0H,YAAA,CAAA,SAAA,CAAtB,CACC,WAAA,CAAU,yBAAA,CACV,SAAA,CAAWtI,EAAG,2BAAA,CAA6BO,CAAS,EACnD,GAAGI,CAAAA,CACN,CAEJ,CC7JO,SAASmI,EAAAA,CAAQ,CACtB,IAAA,CAAArD,CACF,EAMG,CACD,GAAM,CAAE,QAAA,CAAA/F,CAAS,EAAIqD,EAAAA,EAAW,CAEhC,OACEnC,cAAAA,CAACkE,EAAAA,CAAA,CACC,QAAA,CAAAlE,cAAAA,CAACmE,EAAAA,CAAA,CACC,QAAA,CAAApD,eAAAA,CAAC0G,GAAA,CACC,QAAA,CAAA,CAAAzH,eAAC2H,EAAAA,CAAA,CAAoB,QAAO,IAAA,CAC1B,QAAA,CAAA5G,eAAAA,CAACsD,EAAAA,CAAA,CACC,IAAA,CAAK,KACL,SAAA,CAAU,sFAAA,CAEV,UAAAtD,eAAAA,CAACsG,EAAAA,CAAA,CAAO,SAAA,CAAU,8BAAA,CAChB,QAAA,CAAA,CAAArH,cAAAA,CAACuH,EAAAA,CAAA,CAAY,IAAK1C,CAAAA,CAAK,MAAA,CAAQ,IAAKA,CAAAA,CAAK,IAAA,CAAM,EAC/C7E,cAAAA,CAACwH,EAAAA,CAAA,CAAe,SAAA,CAAU,YAAA,CAAa,cAAE,CAAA,CAAA,CAC3C,CAAA,CACAzG,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,8CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAA6E,EAAK,IAAA,CAAK,CAAA,CAClD7E,eAAC,MAAA,CAAA,CAAK,SAAA,CAAU,yCACb,QAAA,CAAA6E,CAAAA,CAAK,KAAA,CACR,CAAA,CAAA,CACF,CAAA,CACA7E,cAAAA,CAACmI,gBAAA,CAAI,SAAA,CAAU,iBAAiB,CAAA,CAAA,CAClC,CAAA,CACF,EACApH,eAAAA,CAAC6G,EAAAA,CAAA,CACC,SAAA,CAAU,6DAAA,CACV,IAAA,CAAM9I,EAAW,QAAA,CAAW,OAAA,CAC5B,MAAM,KAAA,CACN,UAAA,CAAY,EAEZ,QAAA,CAAA,CAAAkB,cAAAA,CAACgI,GAAA,CAAkB,SAAA,CAAU,kBAC3B,QAAA,CAAAjH,eAAAA,CAAC,OAAI,SAAA,CAAU,uDAAA,CACb,UAAAA,eAAAA,CAACsG,EAAAA,CAAA,CAAO,SAAA,CAAU,oBAAA,CAChB,QAAA,CAAA,CAAArH,eAACuH,EAAAA,CAAA,CAAY,IAAK1C,CAAAA,CAAK,MAAA,CAAQ,IAAKA,CAAAA,CAAK,IAAA,CAAM,EAC/C7E,cAAAA,CAACwH,EAAAA,CAAA,CAAe,SAAA,CAAU,YAAA,CAAa,cAAE,CAAA,CAAA,CAC3C,CAAA,CACAzG,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6CAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CAAK,UAAU,sBAAA,CAAwB,QAAA,CAAA6E,EAAK,IAAA,CAAK,CAAA,CAClD7E,eAAC,MAAA,CAAA,CAAK,SAAA,CAAU,yCACb,QAAA,CAAA6E,CAAAA,CAAK,MACR,CAAA,CAAA,CACF,CAAA,CAAA,CACF,EACF,CAAA,CACA7E,cAAAA,CAACiI,GAAA,EAAsB,CAAA,CACvBlH,eAAAA,CAAC8G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9G,gBAAC+G,EAAAA,CAAA,CACC,UAAA9H,cAAAA,CAACoI,sBAAAA,CAAA,EAAW,CAAA,CAAE,SAAA,CAAA,CAEhB,CAAA,CACArH,eAAAA,CAAC+G,EAAAA,CAAA,CACC,UAAA9H,cAAAA,CAACqI,sBAAAA,CAAA,EAAW,CAAA,CAAE,SAAA,CAAA,CAEhB,EACAtH,eAAAA,CAAC+G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9H,cAAAA,CAACsI,gBAAAA,CAAA,EAAK,CAAA,CAAE,eAAA,CAAA,CAEV,GACF,CAAA,CACAtI,cAAAA,CAACiI,GAAA,EAAsB,CAAA,CACvBlH,gBAAC+G,EAAAA,CAAA,CACC,UAAA9H,cAAAA,CAACuI,kBAAAA,CAAA,EAAO,CAAA,CAAE,SAAA,CAAA,CAEZ,GACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAEJ,CChFA,IAAMC,GAAO,CACX,IAAA,CAAM,CACJ,IAAA,CAAM,QAAA,CACN,KAAA,CAAO,gBACP,MAAA,CAAQ,qBACV,CACF,CAAA,CAKO,SAASC,GAAY,CAC1B,KAAA,CAAOC,CAAAA,CACP,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3B,EACA,kBAAA,CAAAb,CAAAA,CAAqB,MACrB,sBAAA,CAAAyC,CAAAA,CAAyB,KACzB,GAAGC,CACL,EAAqB,CACnB,IAAMC,EAAgBJ,CAAAA,EAAkB1D,EAAAA,CAClC,CAAE,KAAA,CAAA3B,CAAM,EAAIlB,EAAAA,EAAW,CAG7B,OACEpB,eAAAA,CAACwC,EAAAA,CAAA,CAAQ,YAAY,MAAA,CAAQ,GAAGsF,EAC9B,QAAA,CAAA,CAAA7I,cAAAA,CAAC6D,GAAA,CACC,QAAA,CAAA7D,cAAAA,CAACkE,EAAAA,CAAA,CACC,QAAA,CAAAlE,eAACmE,EAAAA,CAAA,CACC,SAAAnE,cAAAA,CAACqE,EAAAA,CAAA,CACC,OAAA,CAAO,IAAA,CACP,SAAA,CAAU,wCAAA,CAEV,QAAA,CAAArE,cAAAA,CAAC8I,EAAA,CAAc,SAAA,CAXPzF,IAAU,WAAA,CAWqB,CAAA,CACzC,EACF,CAAA,CACF,CAAA,CACF,EACArD,cAAAA,CAAC+D,EAAAA,CAAA,CACC,QAAA,CAAA/D,cAAAA,CAAC+G,GAAA,CAAQ,IAAA,CAAMC,EAAM,kBAAA,CAAoBb,CAAAA,CAAoB,CAAA,CAC/D,CAAA,CACAnG,cAAAA,CAAC8D,EAAAA,CAAA,CACC,QAAA,CAAA9D,cAAAA,CAACkI,GAAA,CAAQ,IAAA,CAAMM,GAAK,IAAA,CAAM,CAAA,CAC5B,CAAA,CAAA,CACF,CAEJ,CCzDO,SAASO,EAAAA,CAAc,CAC5B,QAAA,CAAAlI,CAAAA,CACA,GAAGd,CACL,EAAoD,CAClD,OAAOC,eAACgJ,wBAAAA,CAAA,CAAoB,GAAGjJ,CAAAA,CAAQ,QAAA,CAAAc,EAAS,CAClD,KCNaoI,EAAAA,CAA8B,CAAC,CAC1C,QAAA,CAAApI,CAAAA,CACA,GAAGgI,CACL,CAAA,GAEI7I,cAAAA,CAAC+I,GAAA,CACC,SAAA,CAAU,aACV,YAAA,CAAa,QAAA,CACb,aAAY,IAAA,CACZ,yBAAA,CAAyB,IAAA,CACxB,GAAGF,CAAAA,CAEH,QAAA,CAAAhI,EACH,ECXG,IAAMqI,EAAAA,CAAe,CAAC,CAC3B,KAAA,CAAAC,CAAAA,CACA,OAAAC,CAAAA,CACA,KAAA,CAAAC,EACA,MAAA,CAAAC,CAAAA,CACA,cAAAC,CAAAA,CACA,QAAA,CAAA1I,EACA,qBAAA,CAAA2I,CAAAA,CACA,iBAAAC,CACF,CAAA,GAKIzJ,eAACiJ,EAAAA,CAAA,CACC,SAAAlI,eAAAA,CAACsB,EAAAA,CAAA,CACC,WAAA,CACEmH,CAAAA,GAA0B,MAAA,CAAY,CAACA,CAAAA,CAAwB,IAAA,CAEjE,aACEC,CAAAA,CAAoB3G,CAAAA,EAAS2G,EAAiB,CAAC3G,CAAI,CAAA,CAAI,MAAA,CAEzD,KAAA,CACE,CACE,kBAAmB,2BAAA,CACnB,iBAAA,CAAmB,2BACrB,CAAA,CAGF,QAAA,CAAA,CAAA9C,eAnBgBmJ,CAAAA,EAASV,EAAAA,CAmBxB,CAAc,KAAA,CAAOY,CAAAA,CAAO,CAAA,CAC7BtI,gBAAC6C,EAAAA,CAAA,CACC,UAAA5D,cAAAA,CApBeoJ,CAAAA,EAAUzE,GAoBxB,EAAe,CAAA,CAChB3E,eAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sCAAuC,QAAA,CAAAa,CAAAA,CAAS,GACjE,CAAA,CAAA,CACF,CAAA,CACF,EC1CG,IAAM6I,CAAAA,CAAsB,CACjC,WAAA,CAAa,qBAAA,CACb,YAAA,CAAc,sBAAA,CACd,UAAA,CAAY,oBAAA,CACZ,WAAY,oBAAA,CACZ,YAAA,CAAc,uBACd,YAAA,CAAc,sBAAA,CACd,aAAc,sBAAA,CACd,UAAA,CAAY,oBAAA,CACZ,aAAA,CAAe,uBAAA,CACf,UAAA,CAAY,oBACd,CAAA,CCXaC,EAAAA,CAA6B,CACxC,KAAA,CAAO,yBAET,CAAA,CAEaC,EAAyB,CACpC,WAAA,CAAa,sBACb,YAAA,CAAc,sBAAA,CACd,WAAY,oBAAA,CACZ,UAAA,CAAY,qBACZ,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,WAAY,oBAAA,CACZ,aAAA,CAAe,wBACf,UAAA,CAAY,oBACd,MCHaC,EAAAA,CAAQ9J,CAAAA,EAAqB,CACxC,GAAM,CACJ,SAAA,CAAA+J,CAAAA,CACA,QAAA,CAAAjJ,CAAAA,CACA,kBAAmBkJ,CAAAA,CACnB,QAAA,CAAUC,EACV,YAAA,CAAAC,CAAAA,CACA,aAAAC,CAAAA,CACA,WAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,cAAeC,CAAAA,CACf,UAAA,CAAYC,EACZ,KAAA,CAAAC,CACF,EAAIxK,CAAAA,CACEyK,CAAAA,CAAYC,iBAAAA,EAAa,CACzB,CAAE,OAAA,CAAS,CAAE,UAAA,CAAYC,CAAiB,EAAI,EAAG,EAAIC,qBAAAA,EAAiB,CAEtEC,CAAAA,CAAsBC,wBAAAA,EAAoB,CAE1C,CAAE,SAAAC,CAAAA,CAAU,UAAA,CAAAC,CAAW,CAAA,CAAIC,sBAAAA,CAAkB,CACjD,QAAA,CAAUhB,CACZ,CAAC,CAAA,CAEKiB,CAAAA,CACJnB,CAAAA,GAAc,CAAC,CAACgB,CAAAA,EAAU,QAAUf,CAAAA,CAAAA,CAEhCmB,CAAAA,CACJ,OAAOZ,CAAAA,CAAwB,GAAA,CAC3BI,EACAJ,CAAAA,CAEAa,CAAAA,CAAmDF,EACrD,CACE,QAAA,CAAUF,EACV,GAAGhB,CACL,EACA,MAAA,CAEEqB,CAAAA,CAAuBH,CAAAA,CAC3BjL,cAAAA,CAACqL,EAAAA,CAAA,CAAc,GAAGF,CAAAA,CAAmB,CAAA,CACnC,KAEEG,CAAAA,CAAgBjB,CAAAA,CAClB,OAAOA,CAAAA,EAA2B,UAAA,CAChCA,CAAAA,CAAuB,CACrB,cAAA,CAAgBe,CAAAA,CAChB,kBAAAD,CACF,CAAC,EACDd,CAAAA,CACFe,CAAAA,CAEEG,GAAc,IACdhB,CAAAA,GAAU,KAAA,CAAc,IAAA,CAExBA,CAAAA,CACE,OAAOA,GAAU,QAAA,EAAY,OAAOA,GAAU,QAAA,CAE9CvK,cAAAA,CAAC,MACC,SAAA,CAAWZ,CAAAA,CACT,yBACAuK,EAAAA,CAA2B,KAC7B,EAEC,QAAA,CAAAY,CAAAA,CACH,EAIGA,CAAAA,CAIPvK,cAAAA,CAAC,MACC,SAAA,CAAWZ,CAAAA,CACT,wBAAA,CACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,SAAAa,CAAAA,CACC,CAAA,EAAGO,CAAU,CAAA,YAAA,CAAA,CACbH,CAAAA,CAAoBE,GAAU,IAAA,EAAM,KAAA,EAASC,CAAAA,CAAY,QAAQ,CACnE,CAAA,CACF,EAIJ,OACEhK,eAAAA,CAAC,OAAI,SAAA,CAAW3B,CAAAA,CAAG,oCAAoC,CAAA,CAAI,GAAG6K,CAAAA,CAC5D,QAAA,CAAA,CAAAlJ,eAAAA,CAAC,KAAA,CAAA,CACC,UAAW3B,CAAAA,CACT,uEACF,EACC,GAAG+K,CAAAA,CAEJ,UAAApJ,eAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,eAAA,CACZ,QAAA,CAAA,CAAA,OAAOmK,EAAe,GAAA,CACrBlL,cAAAA,CAAA+E,oBAAA,CAAG,QAAA,CAAAmG,EAAW,CAAA,CAEdlL,cAAAA,CAACwL,EAAAA,CAAA,EAAW,CAAA,CAEbD,EAAAA,IACH,CAAA,CACAvL,cAAAA,CAAC,OACC,SAAA,CAAWZ,CAAAA,CAAG,mDAAmD,CAAA,CAChE,GAAGgL,CAAAA,CAEH,QAAA,CAAAkB,CAAAA,CACH,CAAA,CAAA,CACF,EACAtL,cAAAA,CAAC,KAAA,CAAA,CAAK,GAAGkK,CAAAA,CAAe,QAAA,CAAArJ,EAAS,CAAA,CAAA,CACnC,CAEJ,ECzGO,IAAM4K,EAAAA,CAAU1L,GAAuB,CAC5C,GAAM,CACJ,QAAA,CAAAc,CAAAA,CACA,gBAAiB6K,CAAAA,CACjB,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAU3B,CAAAA,CACV,aAAA,CAAe4B,EACf,iBAAA,CAAAC,CAAAA,CACA,cAAexB,CAAAA,CACf,iBAAA,CAAAD,EACA,YAAA,CAAAH,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,OAAQ2B,CAAAA,CACR,UAAA,CAAYxB,EACZ,KAAA,CAAAC,CACF,EAAIxK,CAAAA,CACEyK,CAAAA,CAAYC,mBAAa,CACzB,CAAE,QAAS,CAAE,UAAA,CAAYC,CAAiB,CAAA,CAAI,EAAG,CAAA,CAAIC,qBAAAA,EAAiB,CAEtEoB,CAAAA,CAAOC,YAAAA,EAAQ,CACfpB,EAAsBC,wBAAAA,EAAoB,CAC1C,CAAE,QAAA,CAAAC,CAAAA,CAAU,OAAAmB,CAAAA,CAAQ,UAAA,CAAAlB,CAAW,CAAA,CAAIC,sBAAAA,EAAkB,CAErDE,GACJ,OAAOZ,CAAAA,CAAwB,IAC3BI,CAAAA,CACAJ,CAAAA,CAEA4B,EAAmC,CACvC,GAAIP,CAAAA,CAAY,CAAE,QAAA,CAAU,IAAK,EAAI,EAAC,CACtC,GAAGD,CACL,CAAA,CAEMS,GAAuBnM,cAAAA,CAACoM,EAAAA,CAAA,CAAY,GAAGF,CAAAA,CAAiB,EAExDG,CAAAA,CACJP,CAAAA,GAA8B,KAAQ,IAAA,CACpC9L,cAAAA,CAACN,EAAA,CACC,OAAA,CAAQ,OAAA,CACR,IAAA,CAAK,IAAA,CACL,OAAA,CACEuM,IAAW,MAAA,EAAU,OAAOA,EAAW,GAAA,CAAcF,CAAAA,CAAO,OAG7D,QAAA,CAAA,OAAOD,CAAAA,CAAoB,GAAA,CAC1BA,CAAAA,CAEA9L,cAAAA,CAACsM,qBAAAA,CAAA,CAAU,SAAA,CAAU,SAAA,CAAU,EAEnC,CAAA,CAGEhB,EAAAA,CAAgBjB,EAClB,OAAOA,CAAAA,EAA2B,UAAA,CAChCA,CAAAA,CAAuB,CACrB,cAAA,CAAgB,IAClB,CAAC,CAAA,CACDA,EACF,IAAA,CAEEkC,EAAAA,CAAgBX,EAClB,OAAOA,CAAAA,EAA2B,WAChCA,CAAAA,CAAuB,CACrB,eAAgBO,EAAAA,CAChB,eAAA,CAAAD,CACF,CAAC,CAAA,CACDN,EACFO,EAAAA,CAEEZ,CAAAA,CAAc,IACdhB,CAAAA,GAAU,KAAA,CAAc,IAAA,CAExBA,EACE,OAAOA,CAAAA,EAAU,UAAY,OAAOA,CAAAA,EAAU,SAE9CvK,cAAAA,CAAC,IAAA,CAAA,CACC,UAAWZ,CAAAA,CACT,wBAAA,CACAuK,GAA2B,KAC7B,CAAA,CAEC,SAAAY,CAAAA,CACH,CAAA,CAIGA,EAIPvK,cAAAA,CAAC,IAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,wBAAA,CACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,QAAA,CAAAa,EACC,CAAA,EAAGO,CAAU,iBACb,CAAA,OAAA,EAAUH,CAAAA,CACRE,GAAU,IAAA,EAAM,KAAA,EAASC,EACzB,UACF,CAAC,EACH,CAAA,CACF,CAAA,CAIJ,OACEhK,eAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW3B,CAAAA,CAAG,6CAA6C,CAAA,CAC1D,GAAG6K,CAAAA,CAEH,QAAA,CAAA,CAAA0B,GACC3L,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,6DAAA,CACb,QAAA,CAAAA,cAAAA,CAACwM,mBAAAA,CAAA,CAAQ,SAAA,CAAU,uBAAuB,CAAA,CAC5C,CAAA,CAEFzL,gBAAC,KAAA,CAAA,CACC,SAAA,CAAW3B,EACT,uEACF,CAAA,CACC,GAAG+K,CAAAA,CAEJ,QAAA,CAAA,CAAApJ,eAAAA,CAAC,OAAI,SAAA,CAAU,eAAA,CACZ,iBAAOmK,EAAAA,CAAe,GAAA,CACrBlL,eAAA+E,mBAAAA,CAAA,CAAG,SAAAmG,EAAAA,CAAW,CAAA,CAEdlL,eAACwL,EAAAA,CAAA,EAAW,EAEdzK,eAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,yBAAA,CACZ,QAAA,CAAA,CAAAsL,CAAAA,CACAd,CAAAA,EAAY,CAAA,CACf,CAAA,CAAA,CACF,EACAvL,cAAAA,CAAC,KAAA,CAAA,CACC,UAAWZ,CAAAA,CAAG,mDAAmD,EAChE,GAAGgL,CAAAA,CAEH,QAAA,CAAAkB,EAAAA,CACH,CAAA,CAAA,CACF,CAAA,CACAtL,eAAC,KAAA,CAAA,CAAI,SAAA,CAAWZ,EAAGuM,CAAAA,EAAa,YAAY,EAAI,GAAGzB,CAAAA,CAChD,QAAA,CAAArJ,CAAAA,CACH,CAAA,CACAb,cAAAA,CAAC,OAAI,SAAA,CAAWZ,CAAAA,CAAG,6BAA6B,CAAA,CAAI,GAAGyM,EACpD,QAAA,CAAAU,EAAAA,CACH,GACF,CAEJ,EC/JO,IAAMlB,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAUoB,EACV,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,EACA,QAAA,CAAAnG,CAAAA,CACA,QAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,SAAAC,CAAAA,CAAU,KAAA,CAAAzG,EAAO,KAAA,CAAAmE,CAAAA,CAAO,cAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAIC,oBAAAA,CAC5D,CACE,QAAA,CAAUP,CAAAA,CACV,KAAAzF,CAAAA,CACA,aAAA,CAAA2F,CACF,CACF,CAAA,CAEMM,CAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,OAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,EAAA,CACC,EAAA,CAAIC,EACJ,OAAA,CAAS,KAAA,CACT,QAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,EAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,gBAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,SAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,MAAO1C,CAAAA,CACP,aAAA,CAAab,EAAoB,YAAA,CACjC,SAAA,CAAWE,EAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACmN,sBAAAA,CAAA,EAAW,CAAA,CAAE,GAAA,CAAE,CAACT,CAAAA,GAAa7L,CAAAA,EAAYuF,IAC5C,CAAA,CACF,CAEJ,EChDO,IAAMgH,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAUX,EACV,YAAA,CAAAY,CAAAA,CACA,SAAAX,CAAAA,CAAW,KAAA,CACX,cAAAC,CAAAA,CACA,IAAA,CAAA3F,EACA,QAAA,CAAAnG,CAAAA,CACA,QAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,SAAAC,CAAAA,CAAU,KAAA,CAAAzG,EAAO,KAAA,CAAAmE,CAAAA,CAAO,cAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAIO,kBAAAA,CAAc,CAC1E,SAAUb,CAAAA,CACV,EAAA,CAAIY,EACJ,IAAA,CAAArG,CAAAA,CACA,cAAA2F,CACF,CAAC,CAAA,CAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,SAGpC,OAFiB+D,CAAAA,EAAU/D,EAAK,MAAA,CAEX,IAAA,CAGnB7I,eAAC8M,CAAAA,CAAA,CACC,GAAIC,CAAAA,CACJ,OAAA,CAAS,MACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,EAAE,cAAA,EAAe,CACjBxJ,EAAQwJ,CAAC,CAAA,EAEb,EAEA,QAAA,CAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,MAAO1C,CAAAA,CACP,aAAA,CAAab,EAAoB,UAAA,CACjC,SAAA,CAAWE,EAAuB,UAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACuN,sBAAAA,CAAA,EAAW,CAAA,CAAE,GAAA,CAAE,CAACb,CAAAA,GAAa7L,CAAAA,EAAYuF,IAC5C,CAAA,CACF,CAEJ,ECpDA,SAASoH,EAAAA,CAAQ,CACf,GAAGzN,CACL,CAAA,CAAuD,CACrD,OAAOC,cAAAA,CAAkByN,mBAAjB,CAAsB,WAAA,CAAU,UAAW,GAAG1N,CAAAA,CAAO,CAC/D,CAEA,SAAS2N,GAAe,CACtB,GAAG3N,CACL,CAAA,CAA0D,CACxD,OAAOC,cAAAA,CAAkByN,aAAA,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAG1N,CAAAA,CAAO,CAC1E,CAEA,SAAS4N,EAAAA,CAAe,CACtB,UAAAhO,CAAAA,CACA,KAAA,CAAAiO,EAAQ,QAAA,CACR,UAAA,CAAAlM,EAAa,CAAA,CACb,GAAG3B,CACL,CAAA,CAA0D,CACxD,OACEC,cAAAA,CAAkByN,aAAA,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAzN,cAAAA,CAAkByN,aAAA,CAAA,OAAA,CAAjB,CACC,WAAA,CAAU,iBAAA,CACV,MAAOG,CAAAA,CACP,UAAA,CAAYlM,EACZ,SAAA,CAAWtC,CAAAA,CACT,ieACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAAA,CACF,CAEJ,KC3Ba8N,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAUpB,CAAAA,CACV,aAAAY,CAAAA,CACA,SAAA,CAAAS,EACA,YAAA,CAAcC,CAAAA,CACd,SAAAlN,CAAAA,CACA,mBAAA,CAAAmN,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,QAAA,CAAAvB,EAAW,KAAA,CACX,aAAA,CAAAC,EACA,IAAA,CAAA3F,CAAAA,CACA,YAAAkH,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,GAAGzF,CACL,CAAA,GAAyB,CACvB,GAAM,CAAC/F,CAAAA,CAAMC,CAAO,CAAA,CAAI/D,WAAAA,CAAS,KAAK,CAAA,CAChC,CACJ,UAAAuP,CAAAA,CACA,KAAA,CAAAnI,EACA,KAAA,CAAAmE,CAAAA,CACA,SAAAsC,CAAAA,CACA,MAAA,CAAAD,GACA,OAAA,CAAA4B,CAAAA,CACA,aAAcC,EAAAA,CACd,cAAA,CAAgBC,EAChB,WAAA,CAAaC,EACf,CAAA,CAAIC,oBAAAA,CAAgB,CAClB,QAAA,CAAUnC,EACV,EAAA,CAAIY,CAAAA,CACJ,UAAAS,CAAAA,CACA,YAAA,CAAcC,EACd,mBAAA,CAAAC,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,aAAA,CAAAtB,CAAAA,CACA,KAAA3F,CAAAA,CACA,gBAAA,CAAAmH,EACA,WAAA,CAAAD,CACF,CAAC,CAAA,CAEKjB,EAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,IAAU/D,CAAAA,CAAK,MAAA,CAEX,KAGnB9H,eAAAA,CAACyM,EAAAA,CAAA,CAAQ,IAAA,CAAM1K,CAAAA,CAAM,aAAcC,CAAAA,CACjC,QAAA,CAAA,CAAA/C,eAAC0N,EAAAA,CAAA,CAAe,QAAO,IAAA,CACrB,QAAA,CAAA3M,gBAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,EAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,cAAab,CAAAA,CAAoB,YAAA,CACjC,UAAWE,CAAAA,CAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC6O,iBAAAA,CAAA,EAAM,CAAA,CAAE,IAAE,CAACnC,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CACvC,CAAA,CACF,EACArF,eAAAA,CAAC4M,EAAAA,CAAA,CACE,QAAA,CAAA,CAAAS,CAAAA,EAAgBK,EAAAA,CACjB1N,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,UACb,QAAA,CAAA,CAAAf,cAAAA,CAACN,EAAA,CAAO,OAAA,CAAS,IAAMqD,CAAAA,CAAQ,KAAK,EACjC,QAAA,CAAAuL,CAAAA,EAAqBK,GACxB,CAAA,CACA3O,cAAAA,CAACN,EAAA,CACC,OAAA,CAAS,IAAM,CACb6O,CAAAA,EAAU,CACVxL,EAAQ,KAAK,EACf,EAEC,QAAA,CAAAsL,CAAAA,EAAiBK,EACpB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,MChFaI,EAAAA,CAAgB,CAAC,CAC5B,QAAA,CAAUrC,CAAAA,CACV,aAAAY,CAAAA,CACA,QAAA,CAAAX,EAAW,KAAA,CACX,gBAAA,CAAAyB,EACA,QAAA,CAAAtN,CAAAA,CACA,GAAGgI,CACL,CAAA,GAA0B,CACxB,GAAM,CACJ,OAAA,CAASkG,CAAAA,CACT,KAAA,CAAA3I,CAAAA,CACA,QAAAoI,CACF,CAAA,CAAIQ,sBAAiB,CACnB,QAAA,CAAUvC,EACV,EAAA,CAAIY,CAAAA,CACJ,gBAAA,CAAAc,CACF,CAAC,CAAA,CAEKlB,EAAauB,CAAAA,EAAW3F,CAAAA,CAAK,SAEnC,OACE9H,eAAAA,CAACrB,EAAA,CACC,OAAA,CAASqP,CAAAA,CACT,QAAA,CAAU9B,CAAAA,CACV,aAAA,CAAavD,EAAoB,aAAA,CACjC,SAAA,CAAWE,EAAuB,aAAA,CACjC,GAAGf,EAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACiP,uBAAA,EAAW,CAAA,CAAE,IAAE,CAACvC,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAEJ,EC9BO,IAAM8I,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAUzC,EACV,YAAA,CAAAY,CAAAA,CACA,SAAAX,CAAAA,CAAW,KAAA,CACX,cAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,EACA,GAAGmF,CACL,IAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,SAAAC,CAAAA,CAAU,KAAA,CAAAzG,EAAO,KAAA,CAAAmE,CAAAA,CAAO,cAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAIoC,kBAAAA,CAAc,CAC1E,QAAA,CAAU1C,CAAAA,CACV,EAAA,CAAIY,EACJ,IAAA,CAAArG,CAAAA,CACA,cAAA2F,CACF,CAAC,EAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,EAAK,QAAA,CAGpC,OAFiB+D,GAAU/D,CAAAA,CAAK,MAAA,CAEX,KAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,GACF,MACF,CACIxJ,IACFwJ,CAAAA,CAAE,cAAA,GACFxJ,CAAAA,CAAQwJ,CAAC,GAEb,CAAA,CAEA,QAAA,CAAAnM,gBAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,cAAab,CAAAA,CAAoB,UAAA,CACjC,UAAWE,CAAAA,CAAuB,UAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACoP,eAAAA,CAAA,EAAI,CAAA,CAAE,IAAE,CAAC1C,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CACrC,CAAA,CACF,CAEJ,MChDaiJ,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAU5C,CAAAA,CACV,SAAAC,CAAAA,CAAW,KAAA,CACX,cAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,EACA,GAAGmF,CACL,IAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,MAAAmE,CAAAA,CAAO,aAAA,CAAAuC,EAAe,EAAA,CAAAC,CAAG,EAAIuC,kBAAAA,CAAc,CAC1E,QAAA,CAAU7C,CAAAA,CACV,IAAA,CAAAzF,CAAAA,CACA,cAAA2F,CACF,CAAC,EAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,EAAK,QAAA,CAGpC,OAFiB+D,GAAU/D,CAAAA,CAAK,MAAA,CAEX,KAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,QAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,GACF,MACF,CACIxJ,IACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,EAEA,QAAA,CAAAnM,eAAAA,CAACrB,EAAA,CACC,QAAA,CAAUuN,EACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,EAAuB,UAAA,CACjC,GAAGf,EAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC6J,iBAAA,EAAK,CAAA,CAAE,IAAE,CAAC6C,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CACtC,CAAA,CACF,CAEJ,MC/CamJ,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAA7C,CAAAA,CAAW,MACX,OAAA,CAAA8B,CAAAA,CAAU,MACV,QAAA,CAAA3N,CAAAA,CACA,GAAGgI,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,KAAA,CAAAzC,CAAM,CAAA,CAAIoJ,oBAAAA,GAEZvC,CAAAA,CAAauB,CAAAA,EAAW3F,EAAK,QAAA,CAEnC,OACE9H,gBAACrB,CAAAA,CAAA,CACC,SAAUuN,CAAAA,CACV,aAAA,CAAavD,EAAoB,YAAA,CACjC,SAAA,CAAWE,EAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACyP,oBAAAA,CAAA,EAAS,CAAA,CAAE,GAAA,CAAE,CAAC/C,CAAAA,GAAa7L,CAAAA,EAAYuF,IAC1C,CAEJ,ECpBO,IAAMgG,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAAM,CAAAA,CAAW,MACX,QAAA,CAAA7L,CAAAA,CACA,GAAGgI,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,MAAAzC,CAAM,CAAA,CAAIsJ,oBAAc,CAEhC,OACE3O,gBAACrB,CAAAA,CAAA,CACC,aAAA,CAAagK,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,EAAuB,UAAA,CACjC,GAAGf,EAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC2P,iBAAA,EAAK,CAAA,CAAE,GAAA,CAAE,CAACjD,CAAAA,GAAa7L,CAAAA,EAAYuF,IACtC,CAEJ,ECfO,IAAMwJ,EAAAA,CAAc,CAAC,CAC1B,QAAA,CAAUnD,EACV,YAAA,CAAAY,CAAAA,CACA,SAAAX,CAAAA,CAAW,KAAA,CACX,cAAAC,CAAAA,CACA,IAAA,CAAA3F,EACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,IAAwB,CACtB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,SAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,EAAe,EAAA,CAAAC,CAAG,EAAI8C,mBAAAA,CAAe,CAC3E,SAAUpD,CAAAA,CACV,EAAA,CAAIY,CAAAA,CACJ,IAAA,CAAArG,CAAAA,CACA,aAAA,CAAA2F,CACF,CAAC,CAAA,CAEKM,EAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,SAGpC,OAFiB+D,CAAAA,EAAU/D,EAAK,MAAA,CAEX,IAAA,CAGnB7I,eAAC8M,CAAAA,CAAA,CACC,GAAIC,CAAAA,CACJ,OAAA,CAAS,MACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,EAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,EAAE,cAAA,EAAe,CACjBxJ,EAAQwJ,CAAC,CAAA,EAEb,EAEA,QAAA,CAAAnM,eAAAA,CAACrB,EAAA,CACC,QAAA,CAAUuN,EACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,WAAA,CACjC,SAAA,CAAWE,EAAuB,WAAA,CACjC,GAAGf,EAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC8P,iBAAA,EAAK,CAAA,CAAE,IAAE,CAACpD,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CACtC,CAAA,CACF,CAEJ,MCjDa2J,EAAAA,CAAe,CAAC,CAC3B,UAAA,CAAAC,CAAAA,CACA,QAAA,CAAAtD,EAAW,KAAA,CACX,OAAA,CAAA8B,EAAU,KAAA,CACV,QAAA,CAAA3N,EACA,GAAGgI,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,MAAAzC,CAAM,CAAA,CAAI6J,sBAAgB,CAE5BhD,CAAAA,CAAauB,GAAW3F,CAAAA,CAAK,QAAA,CAEnC,OACE9H,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,cAAavD,CAAAA,CAAoB,YAAA,CACjC,UAAWE,CAAAA,CAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACmN,uBAAA,EAAW,CAAA,CAAE,IAAE,CAACT,CAAAA,GAAa7L,GAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAEJ,EC1BA,IAAM8J,EAAAA,CAAezQ,2BAAI,iBAAA,CAAmB,CAC1C,SAAU,CACR,IAAA,CAAM,CACJ,EAAA,CAAI,SAAA,CACJ,GAAI,WAAA,CACJ,EAAA,CAAI,SACN,CACF,CAAA,CACA,gBAAiB,CACf,IAAA,CAAM,IACR,CACF,CAAC,CAAA,CASY0Q,EAAAA,CAAaC,aAAA,CAAA,UAAA,CACxB,CAAC,CAAE,SAAA,CAAAzQ,CAAAA,CAAW,KAAAE,CAAAA,CAAM,OAAA,CAAAC,EAAS,GAAGC,CAAM,CAAA,CAAGsQ,CAAAA,GAGrCrQ,cAAAA,CAFWF,CAAAA,CAAUG,eAAO,MAAA,CAE3B,CACC,IAAKoQ,CAAAA,CACL,SAAA,CAAWjR,EAAG8Q,EAAAA,CAAa,CAAE,IAAA,CAAArQ,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CAC9C,GAAGI,EACN,CAGN,CAAA,CACAoQ,GAAK,WAAA,CAAc,MAAA,KClCNG,EAAAA,CAAY,CAAC,CAAE,KAAA,CAAAtN,CAAAA,CAAO,GAAG6F,CAAK,CAAA,GAClC7I,cAAAA,CAACmQ,EAAAA,CAAA,CAAM,GAAGtH,EAAO,QAAA,CAAA7F,CAAAA,CAAM,MCCnBuN,EAAAA,CAAe,CAAC,CAC3B,KAAA,CAAAvN,CAAAA,CACA,eAAAwN,CAAAA,CAAiB,MAAA,CACjB,eAAA,CAAAC,CAAAA,CAAkB,OAAA,CAClB,QAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,aAAAC,CAAAA,CACA,GAAG/H,CACL,CAAA,GAEI7I,cAAAA,CAACuB,GAAA,CAAS,GAAGsH,EACX,QAAA,CAAA7I,cAAAA,CAAC,QACE,QAAA,CAAAgD,CAAAA,CACI0N,GACC1Q,cAAAA,CAAC6Q,iBAAAA,CAAA,CACC,IAAA,CAAM,EAAA,CACL,GAAGD,EACJ,SAAA,CAAW,CAAA,UAAA,EAAaA,GAAc,SAAA,CAAY,CAAA,CAAA,EAAIA,EAAa,SAAS,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CACrF,CAAA,CAEDD,CAAAA,EACC3Q,eAAC8Q,iBAAAA,CAAA,CACC,KAAM,EAAA,CACL,GAAGF,EACJ,SAAA,CAAW,CAAA,UAAA,EAAaA,CAAAA,EAAc,SAAA,CAAY,CAAA,CAAA,EAAIA,CAAAA,CAAa,SAAS,CAAA,CAAA,CAAK,EAAE,GACrF,CAAA,CAER,CAAA,CACF,EC9BJ,SAASG,EAAAA,EAAgC,CACvC,OAAO,CAAC,EACN,OAAO,IAAA,EAAS,UAChB,IAAA,EACA,OAAO,IAAA,CAAK,YAAA,EAAiB,UAAA,CAEjC,KAEaC,EAAAA,CAAc,CAAC,CAC1B,KAAA,CAAAhO,CAAAA,CACA,OAAAiO,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGrI,CACL,CAAA,GAAwB,CACtB,IAAMsI,CAAAA,CAAS,OAAOnO,CAAK,CAAA,CAE3B,OACEhD,cAAAA,CAACmQ,EAAAA,CAAA,CAAM,GAAGtH,CAAAA,CACP,QAAA,CAAAkI,IAA8B,CAC3BI,CAAAA,CAAO,eAAeF,CAAAA,CAAQC,CAAO,EACrCC,CAAAA,CACN,CAEJ,ECrBO,IAAMC,EAAAA,CAAiB,IAAM,CAClC,GAAM,CAACC,CAAAA,CAAcC,CAAe,CAAA,CAAItS,YAAwB,IAAI,CAAA,CAC9D,CAACuS,CAAAA,CAASC,CAAU,EAAIxS,WAAAA,CAAS,KAAK,CAAA,CACtCwL,CAAAA,CAAYC,iBAAAA,EAAa,CACzBgH,EAAKC,UAAAA,EAAM,CACX,CAAE,MAAA,CAAAzF,CAAAA,CAAQ,SAAAnB,CAAS,CAAA,CAAIE,wBAAkB,CAE/C,OAAA/L,aAAU,IAAM,CACV6L,GAAYmB,CAAAA,EACdqF,CAAAA,CACE9G,EACE,kBAAA,CACA,CAAE,QAAA,CAAUM,CAAAA,CAAS,IAAA,CAAM,MAAA,CAAAmB,CAAO,CAAA,CAClC,CAAA,8BAAA,EAAiCA,CAAM,CAAA,iBAAA,EAAoBnB,CAAAA,CAAS,IAAI,CAAA,kCAAA,CAC1E,CACF,EAEJ,CAAA,CAAG,CAACA,EAAUmB,CAAAA,CAAQzB,CAAS,CAAC,CAAA,CAG9BzJ,eAAAA,CAAC,OACC,QAAA,CAAA,CAAAf,cAAAA,CAAC,IAAA,CAAA,CAAG,QAAA,CAAA,KAAA,CAAG,CAAA,CACPA,cAAAA,CAAC,KACE,QAAA,CAAAwK,CAAAA,CACC,kBACA,6CACF,CAAA,CACF,EACC6G,CAAAA,EAAgBrR,cAAAA,CAAC,KAAG,QAAA,CAAAqR,CAAAA,CAAa,EACjCvG,CAAAA,EAAYmB,CAAAA,EAAU,CAAC,QAAA,CAAU,MAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAASA,CAAM,CAAA,EAC/DlL,eAAAA,CAAC,KAAA,CAAA,CACC,UAAAf,cAAAA,CAAC,MAAA,CAAA,CACC,cAAY,yBAAA,CACZ,WAAA,CAAa,IAAMwR,CAAAA,CAAW,IAAI,CAAA,CAClC,UAAA,CAAY,IAAMA,CAAAA,CAAW,KAAK,CAAA,CACpC,CAAA,CACCD,GACCvR,cAAAA,CAAC,GAAA,CAAA,CACE,SAAAwK,CAAAA,CACC,mCAAA,CACA,CAAE,QAAA,CAAUM,CAAAA,CAAS,IAAA,CAAM,OAAAmB,CAAO,CAAA,CAClC,sCAAsCA,CAAM,CAAA,gBAAA,EAAmBnB,EAAS,IAAI,CAAA,WAAA,CAC9E,EACF,CAAA,CAAA,CAEJ,CAAA,CAEF9K,eAACN,CAAAA,CAAA,CACC,QAAS,IAAM,CACb+R,EAAG,CAAE,EAAA,CAAI,GAAI,CAAC,EAChB,CAAA,CAEC,SAAAjH,CAAAA,CAAU,sBAAA,CAAwB,WAAW,CAAA,CAChD,CAAA,CAAA,CACF,CAEJ,EC3DA,IAAAmH,EAAAA,CAAgBC,CAAAA,EACdA,EAAQ,IAAA,GAAS,UAAA,CCHnBC,EAAAA,CAAgB7O,CAAAA,EAAkCA,CAAAA,YAAiB,IAAA,CCAnE8O,GAAgB9O,CAAAA,EAA8CA,CAAAA,EAAS,KCG1D+O,EAAAA,CAAgB/O,CAAAA,EAC3B,OAAOA,CAAAA,EAAU,QAAA,CAEnBgP,EAAkChP,CAAAA,EAChC,CAAC8O,GAAkB9O,CAAK,CAAA,EACxB,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,EACpB+O,EAAAA,CAAa/O,CAAK,CAAA,EAClB,CAAC6O,EAAAA,CAAa7O,CAAK,CAAA,CCLrBiP,EAAAA,CAAgB7O,GACd4O,CAAAA,CAAS5O,CAAK,GAAMA,CAAAA,CAAgB,MAAA,CAChCuO,EAAAA,CAAiBvO,CAAAA,CAAgB,MAAM,CAAA,CACpCA,EAAgB,MAAA,CAAO,OAAA,CACvBA,EAAgB,MAAA,CAAO,KAAA,CAC1BA,ECVN8O,EAAAA,CAAgB5L,CAAAA,EACdA,CAAAA,CAAK,SAAA,CAAU,CAAA,CAAGA,CAAAA,CAAK,OAAO,aAAa,CAAC,GAAKA,CAAAA,CCGnD6L,EAAAA,CAAe,CAACC,CAAAA,CAA+B9L,CAAAA,GAC7C8L,EAAM,GAAA,CAAIF,EAAAA,CAAkB5L,CAAI,CAAC,CAAA,CCHnC+L,GAAgBC,CAAAA,EAAsB,CACpC,IAAMC,CAAAA,CACJD,CAAAA,CAAW,WAAA,EAAeA,CAAAA,CAAW,WAAA,CAAY,SAAA,CAEnD,OACEN,CAAAA,CAASO,CAAa,GAAKA,CAAAA,CAAc,cAAA,CAAe,eAAe,CAE3E,CAAA,CCTAC,GAAe,OAAO,MAAA,CAAW,KAC/B,OAAO,MAAA,CAAO,YAAgB,GAAA,EAC9B,OAAO,SAAa,GAAA,CCER,SAAUC,CAAAA,CAAejK,CAAAA,CAAO,CAC5C,IAAIkK,EACEC,CAAAA,CAAU,KAAA,CAAM,QAAQnK,CAAI,CAAA,CAC5BoK,EACJ,OAAO,QAAA,CAAa,IAAcpK,CAAAA,YAAgB,QAAA,CAAW,MAE/D,GAAIA,CAAAA,YAAgB,KAClBkK,CAAAA,CAAO,IAAI,KAAKlK,CAAI,CAAA,CAAA,KAAA,GAEpB,EAAEgK,EAAAA,GAAUhK,CAAAA,YAAgB,IAAA,EAAQoK,MACnCD,CAAAA,EAAWX,CAAAA,CAASxJ,CAAI,CAAA,CAAA,CAIzB,GAFAkK,EAAOC,CAAAA,CAAU,EAAA,CAAK,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,eAAenK,CAAI,CAAC,EAE3D,CAACmK,CAAAA,EAAW,CAACN,EAAAA,CAAc7J,CAAI,CAAA,CACjCkK,CAAAA,CAAOlK,CAAAA,CAAAA,KAEP,IAAA,IAAWqK,KAAOrK,CAAAA,CACZA,CAAAA,CAAK,eAAeqK,CAAG,CAAA,GACzBH,EAAKG,CAAG,CAAA,CAAIJ,EAAYjK,CAAAA,CAAKqK,CAAG,CAAC,CAAA,CAAA,CAAA,KAKvC,OAAOrK,EAGT,OAAOkK,CACT,CChCA,IAAAI,EAAAA,CAAgB9P,CAAAA,EAAkB,OAAA,CAAQ,IAAA,CAAKA,CAAK,ECApD+P,CAAAA,CAAgBC,CAAAA,EAAmCA,IAAQ,MAAA,CCA3DC,EAAAA,CAAwBjQ,GACtB,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,OAAO,CAAA,CAAI,GCCjDkQ,EAAAA,CAAgBC,CAAAA,EACdF,GAAQE,CAAAA,CAAM,OAAA,CAAQ,WAAA,CAAa,EAAE,CAAA,CAAE,KAAA,CAAM,OAAO,CAAC,CAAA,CCGvDC,EAAe,CACbC,CAAAA,CACAC,EACAC,CAAAA,GACO,CACP,GAAI,CAACD,CAAAA,EAAQ,CAACtB,CAAAA,CAASqB,CAAM,EAC3B,OAAOE,CAAAA,CAGT,IAAMC,CAAAA,CAAAA,CAAUV,EAAAA,CAAMQ,CAAI,CAAA,CAAI,CAACA,CAAI,EAAIJ,EAAAA,CAAaI,CAAI,GAAG,MAAA,CACzD,CAACE,EAAQX,CAAAA,GACPf,EAAAA,CAAkB0B,CAAM,CAAA,CAAIA,CAAAA,CAASA,CAAAA,CAAOX,CAAuB,CAAA,CACrEQ,CAAM,EAGR,OAAON,CAAAA,CAAYS,CAAM,CAAA,EAAKA,CAAAA,GAAWH,CAAAA,CACrCN,CAAAA,CAAYM,CAAAA,CAAOC,CAAe,CAAC,CAAA,CACjCC,CAAAA,CACAF,EAAOC,CAAe,CAAA,CACxBE,CACN,CAAA,CC1BAC,EAAAA,CAAgBzQ,GAAqC,OAAOA,CAAAA,EAAU,UCMtE0Q,CAAAA,CAAe,CACbL,EACAC,CAAAA,CACAtQ,CAAAA,GACE,CACF,IAAI2Q,CAAAA,CAAQ,EAAA,CACNC,CAAAA,CAAWd,EAAAA,CAAMQ,CAAI,EAAI,CAACA,CAAI,EAAIJ,EAAAA,CAAaI,CAAI,EACnDO,CAAAA,CAASD,CAAAA,CAAS,OAClBE,CAAAA,CAAYD,CAAAA,CAAS,EAE3B,KAAO,EAAEF,EAAQE,CAAAA,EAAQ,CACvB,IAAMhB,CAAAA,CAAMe,CAAAA,CAASD,CAAK,CAAA,CACtBI,CAAAA,CAAW/Q,CAAAA,CAEf,GAAI2Q,CAAAA,GAAUG,CAAAA,CAAW,CACvB,IAAME,CAAAA,CAAWX,EAAOR,CAAG,CAAA,CAC3BkB,EACE/B,CAAAA,CAASgC,CAAQ,GAAK,KAAA,CAAM,OAAA,CAAQA,CAAQ,CAAA,CACxCA,CAAAA,CACC,MAAM,CAACJ,CAAAA,CAASD,CAAAA,CAAQ,CAAC,CAAC,CAAA,CAEzB,EAAA,CADA,GAEV,CAEA,GAAId,IAAQ,WAAA,EAAeA,CAAAA,GAAQ,aAAA,EAAiBA,CAAAA,GAAQ,WAAA,CAC1D,OAGFQ,EAAOR,CAAG,CAAA,CAAIkB,EACdV,CAAAA,CAASA,CAAAA,CAAOR,CAAG,EACrB,CACF,CAAA,CCrCaoB,EAAAA,CAAS,CACpB,IAAA,CAAM,OACN,SAAA,CAAW,UACH,CAAA,CAGGC,EAAAA,CAAkB,CAC7B,MAAA,CAAQ,QAAA,CACR,SAAU,UAAA,CACV,QAAA,CAAU,WACV,SAAA,CAAW,WAAA,CACX,IAAK,KAAA,CAAA,CAGMC,EAAAA,CAAyB,CACpC,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,KAAA,CACL,SAAA,CAAW,WAAA,CACX,UAAW,WAAA,CACX,OAAA,CAAS,UACT,QAAA,CAAU,UAAA,CACV,SAAU,UAAA,CAAA,CCjBNC,EAAAA,CAAkBC,qBAAAA,CAAM,aAAA,CAAoC,IAAI,CAAA,CACtED,GAAgB,WAAA,CAAc,iBAAA,CAyEvB,IAAME,EAAAA,CAKXvU,CAAAA,EACE,CACF,GAAM,CAAE,QAAA,CAAAc,CAAAA,CAAU,GAAG2H,CAAI,EAAKzI,CAAAA,CAC9B,OACEsU,sBAAA,aAAA,CAACD,EAAAA,CAAgB,SAAQ,CAAC,KAAA,CAAO5L,CAAgC,CAAA,CAC9D3H,CAAQ,CAGf,CAAA,CCxFA0T,EAAAA,CAAe,CAKbC,CAAAA,CACAC,CAAAA,CACAC,EACAC,CAAAA,CAAS,IAAA,GACP,CACF,IAAMnB,CAAAA,CAAS,CACb,cAAeiB,CAAAA,CAAQ,cAAA,CAAA,CAGzB,QAAW5B,CAAAA,IAAO2B,CAAAA,CAChB,OAAO,cAAA,CAAehB,CAAAA,CAAQX,CAAAA,CAAK,CACjC,GAAA,CAAK,IAAK,CACR,IAAM+B,CAAAA,CAAO/B,EAEb,OAAI4B,CAAAA,CAAQ,gBAAgBG,CAAI,CAAA,GAAMV,EAAAA,CAAgB,GAAA,GACpDO,CAAAA,CAAQ,eAAA,CAAgBG,CAAI,CAAA,CAAI,CAACD,GAAUT,EAAAA,CAAgB,GAAA,CAAA,CAItDM,CAAAA,CAAUI,CAAI,CACvB,CACD,CAAA,CAAA,CAGH,OAAOpB,CACT,CAAA,CC/BaqB,EAAAA,CACX,OAAO,MAAA,CAAW,GAAA,CAAcR,qBAAAA,CAAM,gBAAkBA,qBAAAA,CAAM,SAAA,CCHhE,IAAAS,EAAAA,CAAgB9R,CAAAA,EAAoC,OAAOA,CAAAA,EAAU,QAAA,CCIrE+R,EAAAA,CAAe,CACb3C,CAAAA,CACA4C,CAAAA,CACAC,EACAC,CAAAA,CACA3B,CAAAA,GAEIuB,GAAS1C,CAAK,CAAA,EAChB8C,GAAYF,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI5C,CAAK,CAAA,CAC3BgB,CAAAA,CAAI6B,EAAY7C,CAAAA,CAAOmB,CAAY,GAGxC,KAAA,CAAM,OAAA,CAAQnB,CAAK,CAAA,CACdA,CAAAA,CAAM,IACV+C,CAAAA,GACCD,CAAAA,EAAYF,EAAO,KAAA,CAAM,GAAA,CAAIG,CAAS,CAAA,CACtC/B,CAAAA,CAAI6B,EAAYE,CAAS,CAAA,CAC1B,CAAA,EAILD,CAAAA,GAAaF,CAAAA,CAAO,QAAA,CAAW,MAExBC,CAAAA,CAAAA,CCtBTG,EAAAA,CAAgBpS,GACd8O,EAAAA,CAAkB9O,CAAK,GAAK,CAAC+O,EAAAA,CAAa/O,CAAK,CAAA,CCFnC,SAAUqS,EAAAA,CACtBC,EACAC,CAAAA,CACAC,CAAAA,CAAoB,IAAI,OAAA,CAAS,CAEjC,GAAIJ,EAAAA,CAAYE,CAAO,CAAA,EAAKF,EAAAA,CAAYG,CAAO,CAAA,CAC7C,OAAO,MAAA,CAAO,EAAA,CAAGD,EAASC,CAAO,CAAA,CAGnC,GAAI1D,EAAAA,CAAayD,CAAO,GAAKzD,EAAAA,CAAa0D,CAAO,EAC/C,OAAOD,CAAAA,CAAQ,SAAO,GAAOC,CAAAA,CAAQ,SAAO,CAG9C,IAAME,CAAAA,CAAQ,MAAA,CAAO,IAAA,CAAKH,CAAO,EAC3BI,CAAAA,CAAQ,MAAA,CAAO,KAAKH,CAAO,CAAA,CAEjC,GAAIE,CAAAA,CAAM,MAAA,GAAWC,CAAAA,CAAM,MAAA,CACzB,OAAO,MAAA,CAGT,GAAIF,CAAAA,CAAkB,GAAA,CAAIF,CAAO,CAAA,EAAKE,CAAAA,CAAkB,IAAID,CAAO,CAAA,CACjE,OAAO,KAAA,CAETC,CAAAA,CAAkB,GAAA,CAAIF,CAAO,CAAA,CAC7BE,CAAAA,CAAkB,IAAID,CAAO,CAAA,CAE7B,QAAW1C,CAAAA,IAAO4C,CAAAA,CAAO,CACvB,IAAME,CAAAA,CAAOL,EAAQzC,CAAG,CAAA,CAExB,GAAI,CAAC6C,CAAAA,CAAM,SAAS7C,CAAG,CAAA,CACrB,OAAO,MAAA,CAGT,GAAIA,CAAAA,GAAQ,MAAO,CACjB,IAAM+C,EAAOL,CAAAA,CAAQ1C,CAAG,EAExB,GACGhB,EAAAA,CAAa8D,CAAI,CAAA,EAAK9D,EAAAA,CAAa+D,CAAI,GACvC5D,CAAAA,CAAS2D,CAAI,GAAK3D,CAAAA,CAAS4D,CAAI,GAC/B,KAAA,CAAM,OAAA,CAAQD,CAAI,CAAA,EAAK,KAAA,CAAM,OAAA,CAAQC,CAAI,CAAA,CACtC,CAACP,GAAUM,CAAAA,CAAMC,CAAAA,CAAMJ,CAAiB,CAAA,CACxC,CAAC,OAAO,EAAA,CAAGG,CAAAA,CAAMC,CAAI,CAAA,CAEzB,OAAO,MAEX,CACF,CAEA,OAAO,KACT,CC/CA,IAAAC,EAAAA,CAAe,CACbvP,CAAAA,CACAwP,EACAC,CAAAA,CACA5V,CAAAA,CACA6V,IAEAF,CAAAA,CACI,CACE,GAAGC,CAAAA,CAAOzP,CAAI,EACd,KAAA,CAAO,CACL,GAAIyP,CAAAA,CAAOzP,CAAI,GAAKyP,CAAAA,CAAOzP,CAAI,EAAG,KAAA,CAAQyP,CAAAA,CAAOzP,CAAI,CAAA,CAAG,KAAA,CAAQ,GAChE,CAACnG,CAAI,EAAG6V,CAAAA,EAAW,IACpB,CACF,CAAA,CACD,GCrBNC,EAAAA,CAAmBjT,CAAAA,EAAc,MAAM,OAAA,CAAQA,CAAK,EAAIA,CAAAA,CAAQ,CAACA,CAAK,CAAA,CCgBtEkT,EAAAA,CAAe,IAAoB,CACjC,IAAIC,CAAAA,CAA4B,EAAA,CAqBhC,OAAO,CACL,IAAI,SAAA,EAAS,CACX,OAAOA,CACT,CAAA,CACA,IAAA,CAvBYnT,CAAAA,EAAY,CACxB,QAAWoT,CAAAA,IAAYD,CAAAA,CACrBC,EAAS,IAAA,EAAQA,CAAAA,CAAS,KAAKpT,CAAK,EAExC,CAAA,CAoBE,SAAA,CAlBiBoT,CAAAA,GACjBD,CAAAA,CAAW,KAAKC,CAAQ,CAAA,CACjB,CACL,WAAA,CAAa,IAAK,CAChBD,CAAAA,CAAaA,CAAAA,CAAW,OAAQE,CAAAA,EAAMA,CAAAA,GAAMD,CAAQ,EACtD,CAAA,CAAA,CAAA,CAcF,YAVkB,IAAK,CACvBD,EAAa,GACf,CAAA,CAUF,CAAA,CC5Cc,SAAUG,EAAAA,CAGtBC,EAAgBtB,CAAAA,CAAa,CAC7B,IAAMuB,CAAAA,CAAkC,GAExC,IAAA,IAAW3D,CAAAA,IAAO0D,CAAAA,CAChB,GAAIA,CAAAA,CAAY,cAAA,CAAe1D,CAAG,CAAA,CAAG,CACnC,IAAM4D,CAAAA,CAAaF,CAAAA,CAAY1D,CAAG,CAAA,CAC5B6D,CAAAA,CAAazB,CAAAA,CAAWpC,CAAG,CAAA,CAEjC,GAAI4D,GAAczE,CAAAA,CAASyE,CAAU,GAAKC,CAAAA,CAAY,CACpD,IAAMC,CAAAA,CAAoBL,EAAAA,CACxBG,EACAC,CAAe,CAAA,CAGb1E,EAAS2E,CAAiB,CAAA,GAC5BH,EAAO3D,CAAG,CAAA,CAAI8D,GAElB,CAAA,KAAWJ,CAAAA,CAAY1D,CAAG,CAAA,GACxB2D,CAAAA,CAAO3D,CAAG,EAAI6D,CAAAA,EAElB,CAGF,OAAOF,CACT,CCzBA,IAAAI,CAAAA,CAAgB5T,CAAAA,EACdgP,CAAAA,CAAShP,CAAK,CAAA,EAAK,CAAC,OAAO,IAAA,CAAKA,CAAK,EAAE,MAAA,CCHzC6T,EAAAA,CAAgBjF,GACdA,CAAAA,CAAQ,IAAA,GAAS,MAAA,CCHnBkF,EAAAA,CAAgB9T,CAAAA,EACd,OAAOA,GAAU,UAAA,CCCnB+T,EAAAA,CAAgB/T,GAAwC,CACtD,GAAI,CAACwP,EAAAA,CACH,OAAO,OAGT,IAAMwE,CAAAA,CAAQhU,EAAUA,CAAAA,CAAsB,aAAA,CAA6B,EAC3E,OACEA,CAAAA,YACCgU,GAASA,CAAAA,CAAM,WAAA,CAAcA,CAAAA,CAAM,WAAA,CAAY,WAAA,CAAc,WAAA,CAElE,ECVAC,EAAAA,CAAgBrF,CAAAA,EACdA,EAAQ,IAAA,GAAS,iBAAA,CCDnBsF,GAAgBtF,CAAAA,EACdA,CAAAA,CAAQ,IAAA,GAAS,OAAA,CCEnBuF,EAAAA,CAAgB9G,CAAAA,EACd6G,GAAa7G,CAAG,CAAA,EAAKsB,GAAgBtB,CAAG,CAAA,CCF1C+G,GAAgB/G,CAAAA,EAAa0G,EAAAA,CAAc1G,CAAG,CAAA,EAAKA,CAAAA,CAAI,WAAA,CCEvD,SAASgH,EAAAA,CAAQhE,CAAAA,CAAaiE,EAA+B,CAC3D,IAAMzD,EAASyD,CAAAA,CAAW,KAAA,CAAM,EAAG,EAAE,CAAA,CAAE,OACnC3D,CAAAA,CAAQ,CAAA,CAEZ,KAAOA,CAAAA,CAAQE,CAAAA,EACbR,EAASN,CAAAA,CAAYM,CAAM,CAAA,CAAIM,CAAAA,EAAAA,CAAUN,CAAAA,CAAOiE,CAAAA,CAAW3D,GAAO,CAAC,CAAA,CAGrE,OAAON,CACT,CAEA,SAASkE,EAAAA,CAAaC,CAAAA,CAAc,CAClC,IAAA,IAAW3E,CAAAA,IAAO2E,CAAAA,CAChB,GAAIA,CAAAA,CAAI,cAAA,CAAe3E,CAAG,CAAA,EAAK,CAACE,EAAYyE,CAAAA,CAAI3E,CAAG,CAAC,CAAA,CAClD,OAAO,MAAA,CAGX,OAAO,KACT,CAEc,SAAU4E,CAAAA,CAAMpE,CAAAA,CAAaC,EAAkC,CAC3E,IAAMoE,EAAQ,KAAA,CAAM,OAAA,CAAQpE,CAAI,CAAA,CAC5BA,CAAAA,CACAR,GAAMQ,CAAI,CAAA,CACR,CAACA,CAAI,CAAA,CACLJ,EAAAA,CAAaI,CAAI,CAAA,CAEjBqE,CAAAA,CAAcD,EAAM,MAAA,GAAW,CAAA,CAAIrE,EAASgE,EAAAA,CAAQhE,CAAAA,CAAQqE,CAAK,CAAA,CAEjE/D,CAAAA,CAAQ+D,CAAAA,CAAM,MAAA,CAAS,CAAA,CACvB7E,CAAAA,CAAM6E,EAAM/D,CAAK,CAAA,CAEvB,OAAIgE,CAAAA,EACF,OAAOA,EAAY9E,CAAG,CAAA,CAItBc,CAAAA,GAAU,CAAA,GACR3B,CAAAA,CAAS2F,CAAW,GAAKf,CAAAA,CAAce,CAAW,GACjD,KAAA,CAAM,OAAA,CAAQA,CAAW,CAAA,EAAKJ,EAAAA,CAAaI,CAAW,CAAA,CAAA,EAEzDF,CAAAA,CAAMpE,EAAQqE,CAAAA,CAAM,KAAA,CAAM,EAAG,EAAE,CAAC,EAG3BrE,CACT,CCjDA,IAAAuE,EAAAA,CAAmBpP,CAAAA,EAAoB,CACrC,QAAWqK,CAAAA,IAAOrK,CAAAA,CAChB,GAAIsO,EAAAA,CAAWtO,CAAAA,CAAKqK,CAAG,CAAC,CAAA,CACtB,OAAO,KAAA,CAGX,OAAO,MACT,ECFA,SAASgF,EAAAA,CAAc7U,EAAU,CAC/B,OAAO,MAAM,OAAA,CAAQA,CAAK,CAAA,EAAMgP,CAAAA,CAAShP,CAAK,CAAA,EAAK,CAAC4U,EAAAA,CAAkB5U,CAAK,CAC7E,CAEA,SAAS8U,GAAmBtP,CAAAA,CAASuP,CAAAA,CAA8B,EAAA,CAAE,CACnE,QAAWlF,CAAAA,IAAOrK,CAAAA,CAAM,CACtB,IAAMxF,CAAAA,CAAQwF,EAAKqK,CAAG,CAAA,CAElBgF,EAAAA,CAAc7U,CAAK,CAAA,EACrB+U,CAAAA,CAAOlF,CAAG,CAAA,CAAI,KAAA,CAAM,QAAQ7P,CAAK,CAAA,CAAI,EAAA,CAAK,GAC1C8U,EAAAA,CAAgB9U,CAAAA,CAAO+U,EAAOlF,CAAG,CAAC,GACxBE,CAAAA,CAAY/P,CAAK,IAC3B+U,CAAAA,CAAOlF,CAAG,CAAA,CAAI,IAAA,EAElB,CAEA,OAAOkF,CACT,CAEc,SAAUC,GACtBxP,CAAAA,CACAyM,CAAAA,CACAgD,EAGC,CAEIA,CAAAA,GACHA,EAAwBH,EAAAA,CAAgB7C,CAAU,GAGpD,IAAA,IAAWpC,CAAAA,IAAOrK,EAAM,CACtB,IAAMxF,EAAQwF,CAAAA,CAAKqK,CAAG,CAAA,CAEtB,GAAIgF,EAAAA,CAAc7U,CAAK,EACjB+P,CAAAA,CAAYkC,CAAU,GAAKG,EAAAA,CAAY6C,CAAAA,CAAsBpF,CAAG,CAAC,CAAA,CACnEoF,CAAAA,CAAsBpF,CAAG,CAAA,CAAIiF,EAAAA,CAC3B9U,EACA,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAI,GAAK,EAAE,CAAA,CAGhCgV,EAAAA,CACEhV,CAAAA,CACA8O,EAAAA,CAAkBmD,CAAU,CAAA,CAAI,GAAKA,CAAAA,CAAWpC,CAAG,EACnDoF,CAAAA,CAAsBpF,CAAG,CAAC,CAAA,CAAA,KAGzB,CACL,IAAMqF,CAAAA,CAAYjD,CAAAA,CAAWpC,CAAG,CAAA,CAChCoF,CAAAA,CAAsBpF,CAAG,CAAA,CAAI,CAACwC,EAAAA,CAAUrS,CAAAA,CAAOkV,CAAS,EAC1D,CACF,CAEA,OAAOD,CACT,CCtDA,IAAME,GAAqC,CACzC,KAAA,CAAO,KAAA,CACP,OAAA,CAAS,KAAA,CAAA,CAGLC,EAAAA,CAAc,CAAE,KAAA,CAAO,IAAA,CAAM,QAAS,IAAI,CAAA,CAEhDC,GAAgBnH,CAAAA,EAAqD,CACnE,GAAI,KAAA,CAAM,OAAA,CAAQA,CAAO,EAAG,CAC1B,GAAIA,EAAQ,MAAA,CAAS,CAAA,CAAG,CACtB,IAAMsF,CAAAA,CAAStF,EACZ,MAAA,CAAQoH,CAAAA,EAAWA,GAAUA,CAAAA,CAAO,OAAA,EAAW,CAACA,CAAAA,CAAO,QAAQ,EAC/D,GAAA,CAAKA,CAAAA,EAAWA,CAAAA,CAAO,KAAK,CAAA,CAC/B,OAAO,CAAE,KAAA,CAAO9B,CAAAA,CAAQ,QAAS,CAAC,CAACA,EAAO,MAAM,CAClD,CAEA,OAAOtF,CAAAA,CAAQ,CAAC,EAAE,OAAA,EAAW,CAACA,EAAQ,CAAC,CAAA,CAAE,SAErCA,CAAAA,CAAQ,CAAC,CAAA,CAAE,UAAA,EAAc,CAAC6B,CAAAA,CAAY7B,EAAQ,CAAC,CAAA,CAAE,WAAW,KAAK,CAAA,CAC/D6B,EAAY7B,CAAAA,CAAQ,CAAC,EAAE,KAAK,CAAA,EAAKA,EAAQ,CAAC,CAAA,CAAE,QAAU,EAAA,CACpDkH,EAAAA,CACA,CAAE,KAAA,CAAOlH,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAAO,OAAA,CAAS,IAAI,CAAA,CAC1CkH,EAAAA,CACFD,EACN,CAEA,OAAOA,EACT,CAAA,CC9BAI,EAAAA,CAAe,CACbvV,CAAAA,CACA,CAAE,aAAA,CAAAwV,EAAe,WAAA,CAAAC,CAAAA,CAAa,WAAAC,CAAU,CAAA,GAExC3F,EAAY/P,CAAK,CAAA,CACbA,CAAAA,CACAwV,CAAAA,CACExV,CAAAA,GAAU,EAAA,CACR,IACAA,CAAAA,EACE,CAACA,EAELyV,CAAAA,EAAe3D,EAAAA,CAAS9R,CAAK,CAAA,CAC3B,IAAI,KAAKA,CAAK,CAAA,CACd0V,EACEA,CAAAA,CAAW1V,CAAK,EAChBA,CAAAA,CCfN2V,EAAAA,CAAkC,CACtC,OAAA,CAAS,KAAA,CACT,KAAA,CAAO,IAAA,CAAA,CAGTC,EAAAA,CAAgB1H,CAAAA,EACd,MAAM,OAAA,CAAQA,CAAO,EACjBA,CAAAA,CAAQ,MAAA,CACN,CAAC2H,CAAAA,CAAUP,CAAAA,GACTA,CAAAA,EAAUA,CAAAA,CAAO,OAAA,EAAW,CAACA,EAAO,QAAA,CAChC,CACE,QAAS,IAAA,CACT,KAAA,CAAOA,EAAO,KACf,CAAA,CACDO,CAAAA,CACNF,EAAa,CAAA,CAEfA,EAAAA,CCXQ,SAAUG,EAAAA,CAAcC,CAAAA,CAAe,CACnD,IAAM1I,CAAAA,CAAM0I,EAAG,GAAA,CAEf,OAAIlC,GAAYxG,CAAG,CAAA,CACVA,EAAI,KAAA,CAGT6G,EAAAA,CAAa7G,CAAG,CAAA,CACXuI,EAAAA,CAAcG,EAAG,IAAI,CAAA,CAAE,KAAA,CAG5B9B,EAAAA,CAAiB5G,CAAG,CAAA,CACf,CAAC,GAAGA,CAAAA,CAAI,eAAe,CAAA,CAAE,GAAA,CAAI,CAAC,CAAE,KAAA,CAAArN,CAAK,CAAA,GAAOA,CAAK,CAAA,CAGtDgW,GAAW3I,CAAG,CAAA,CACTgI,GAAiBU,CAAAA,CAAG,IAAI,EAAE,KAAA,CAG5BR,EAAAA,CAAgBxF,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,CAAA,CAAI0I,EAAG,GAAA,CAAI,KAAA,CAAQ1I,EAAI,KAAA,CAAO0I,CAAE,CAC9E,CCpBA,IAAAE,GAAe,CACbC,CAAAA,CACAC,EACAC,CAAAA,CACAC,CAAAA,GACE,CACF,IAAMtB,CAAAA,CAAiD,EAAA,CAEvD,IAAA,IAAWzR,CAAAA,IAAQ4S,CAAAA,CAAa,CAC9B,IAAMI,EAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEtCgT,CAAAA,EAAS5F,EAAIqE,CAAAA,CAAQzR,CAAAA,CAAMgT,CAAAA,CAAM,EAAE,EACrC,CAEA,OAAO,CACL,YAAA,CAAAF,EACA,KAAA,CAAO,CAAC,GAAGF,CAAW,CAAA,CACtB,MAAA,CAAAnB,CAAAA,CACA,yBAAA,CAAAsB,CAAAA,CAEJ,EC/BAE,EAAAA,CAAgBvW,CAAAA,EAAoCA,aAAiB,MAAA,CCSrEwW,EAAAA,CACEC,GAEA1G,CAAAA,CAAY0G,CAAI,EACZA,CAAAA,CACAF,EAAAA,CAAQE,CAAI,CAAA,CACVA,CAAAA,CAAK,OACLzH,CAAAA,CAASyH,CAAI,EACXF,EAAAA,CAAQE,CAAAA,CAAK,KAAK,CAAA,CAChBA,CAAAA,CAAK,KAAA,CAAM,OACXA,CAAAA,CAAK,KAAA,CACPA,ECjBVC,EAAAA,CAAgBC,CAAAA,GAAsC,CACpD,UAAA,CAAY,CAACA,GAAQA,CAAAA,GAASzF,EAAAA,CAAgB,SAC9C,QAAA,CAAUyF,CAAAA,GAASzF,GAAgB,MAAA,CACnC,UAAA,CAAYyF,IAASzF,EAAAA,CAAgB,QAAA,CACrC,OAAA,CAASyF,CAAAA,GAASzF,EAAAA,CAAgB,GAAA,CAClC,UAAWyF,CAAAA,GAASzF,EAAAA,CAAgB,SACrC,CAAA,CAAA,CCLK0F,EAAAA,CAAiB,gBAEvBC,EAAAA,CAAgBC,CAAAA,EACd,CAAC,CAACA,CAAAA,EACF,CAAC,CAACA,CAAAA,CAAe,UACjB,CAAC,EACEhD,GAAWgD,CAAAA,CAAe,QAAQ,CAAA,EACjCA,CAAAA,CAAe,QAAA,CAAS,WAAA,CAAY,OAASF,EAAAA,EAC9C5H,CAAAA,CAAS8H,EAAe,QAAQ,CAAA,EAC/B,OAAO,MAAA,CAAOA,CAAAA,CAAe,QAAQ,CAAA,CAAE,IAAA,CACpCC,CAAAA,EACCA,EAAiB,WAAA,CAAY,IAAA,GAASH,EAAc,CAAA,CAAA,CCb9DI,EAAAA,CAAgB9I,GACdA,CAAAA,CAAQ,KAAA,GACPA,CAAAA,CAAQ,QAAA,EACPA,CAAAA,CAAQ,GAAA,EACRA,EAAQ,GAAA,EACRA,CAAAA,CAAQ,WACRA,CAAAA,CAAQ,SAAA,EACRA,EAAQ,OAAA,EACRA,CAAAA,CAAQ,UCRZ+I,EAAAA,CAAe,CACb3T,EACA0O,CAAAA,CACAkF,CAAAA,GAEA,CAACA,CAAAA,GACAlF,CAAAA,CAAO,UACNA,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,EACrB,CAAC,GAAG0O,CAAAA,CAAO,KAAK,EAAE,IAAA,CACfmF,CAAAA,EACC7T,EAAK,UAAA,CAAW6T,CAAS,CAAA,EACzB,QAAA,CAAS,IAAA,CAAK7T,CAAAA,CAAK,MAAM6T,CAAAA,CAAU,MAAM,CAAC,CAAC,CAAA,CAAA,CCT7CC,GAAwB,CAC5BrC,CAAAA,CACA9L,CAAAA,CACAiN,CAAAA,CACAmB,CAAAA,GACE,CACF,QAAWxH,CAAAA,IAAOqG,CAAAA,EAAe,OAAO,IAAA,CAAKnB,CAAM,EAAG,CACpD,IAAMuB,EAAQlG,CAAAA,CAAI2E,CAAAA,CAAQlF,CAAG,CAAA,CAE7B,GAAIyG,EAAO,CACT,GAAM,CAAE,EAAA,CAAAP,CAAAA,CAAI,GAAGuB,CAAY,CAAA,CAAKhB,CAAAA,CAEhC,GAAIP,CAAAA,CAAI,CACN,GAAIA,CAAAA,CAAG,IAAA,EAAQA,EAAG,IAAA,CAAK,CAAC,CAAA,EAAK9M,CAAAA,CAAO8M,CAAAA,CAAG,IAAA,CAAK,CAAC,CAAA,CAAGlG,CAAG,GAAK,CAACwH,CAAAA,CACvD,OAAO,KAAA,CACF,GAAItB,CAAAA,CAAG,GAAA,EAAO9M,CAAAA,CAAO8M,CAAAA,CAAG,IAAKA,CAAAA,CAAG,IAAI,GAAK,CAACsB,CAAAA,CAC/C,OAAO,KAAA,CAEP,GAAID,GAAsBE,CAAAA,CAAcrO,CAAM,EAC5C,KAGN,CAAA,KAAA,GAAW+F,EAASsI,CAAY,CAAA,EAC1BF,GAAsBE,CAAAA,CAA2BrO,CAAM,CAAA,CACzD,KAGN,CACF,CAEF,EC9Bc,SAAUsO,EAAAA,CACtBxE,EACAoD,CAAAA,CACA7S,CAAAA,CAAY,CAKZ,IAAMkU,CAAAA,CAAQpH,EAAI2C,CAAAA,CAAQzP,CAAI,EAE9B,GAAIkU,CAAAA,EAAS1H,GAAMxM,CAAI,CAAA,CACrB,OAAO,CACL,KAAA,CAAAkU,CAAAA,CACA,IAAA,CAAAlU,CAAAA,CAAAA,CAIJ,IAAM8L,EAAQ9L,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CAE5B,KAAO8L,EAAM,MAAA,EAAQ,CACnB,IAAM+C,CAAAA,CAAY/C,CAAAA,CAAM,KAAK,GAAG,CAAA,CAC1BkH,EAAQlG,CAAAA,CAAI+F,CAAAA,CAAShE,CAAS,CAAA,CAC9BsF,CAAAA,CAAarH,CAAAA,CAAI2C,CAAAA,CAAQZ,CAAS,CAAA,CAExC,GAAImE,CAAAA,EAAS,CAAC,MAAM,OAAA,CAAQA,CAAK,GAAKhT,CAAAA,GAAS6O,CAAAA,CAC7C,OAAO,CAAE,IAAA,CAAA7O,CAAI,EAGf,GAAImU,CAAAA,EAAcA,EAAW,IAAA,CAC3B,OAAO,CACL,IAAA,CAAMtF,CAAAA,CACN,KAAA,CAAOsF,CAAAA,CAAAA,CAIX,GAAIA,CAAAA,EAAcA,EAAW,IAAA,EAAQA,CAAAA,CAAW,KAAK,IAAA,CACnD,OAAO,CACL,IAAA,CAAM,CAAA,EAAGtF,CAAS,CAAA,KAAA,CAAA,CAClB,KAAA,CAAOsF,EAAW,IAAA,CAAA,CAItBrI,CAAAA,CAAM,MACR,CAEA,OAAO,CACL,IAAA,CAAA9L,CAAAA,CAEJ,CC3CA,IAAAoU,EAAAA,CAAe,CACbC,CAAAA,CAIAC,CAAAA,CACAC,EACAlG,CAAAA,GACE,CACFkG,EAAgBF,CAAa,CAAA,CAC7B,GAAM,CAAE,IAAA,CAAArU,CAAAA,CAAM,GAAGkO,CAAS,CAAA,CAAKmG,EAE/B,OACE/D,CAAAA,CAAcpC,CAAS,CAAA,EACvB,MAAA,CAAO,IAAA,CAAKA,CAAS,CAAA,CAAE,MAAA,EAAU,OAAO,IAAA,CAAKoG,CAAe,EAAE,MAAA,EAC9D,MAAA,CAAO,KAAKpG,CAAS,CAAA,CAAE,KACpB3B,CAAAA,EACC+H,CAAAA,CAAgB/H,CAA0B,CAAA,IACzC,CAAC8B,GAAUT,EAAAA,CAAgB,GAAA,CAAI,CAGxC,CAAA,CC5BA4G,EAAAA,CAAe,CACbxU,CAAAA,CACAyU,CAAAA,CACAC,CAAAA,GAEA,CAAC1U,CAAAA,EACD,CAACyU,GACDzU,CAAAA,GAASyU,CAAAA,EACT9E,GAAsB3P,CAAI,CAAA,CAAE,IAAA,CACzB2U,CAAAA,EACCA,CAAAA,GACCD,CAAAA,CACGC,IAAgBF,CAAAA,CAChBE,CAAAA,CAAY,WAAWF,CAAU,CAAA,EACjCA,EAAW,UAAA,CAAWE,CAAW,CAAA,CAAE,CAAA,CCd7CC,EAAAA,CAAe,CACbhB,EACAiB,CAAAA,CACAC,CAAAA,CACAC,EAIA1B,CAAAA,GAEIA,CAAAA,CAAK,QACA,KAAA,CACE,CAACyB,GAAezB,CAAAA,CAAK,SAAA,CACvB,EAAEwB,CAAAA,EAAajB,CAAAA,CAAAA,CAAAA,CACbkB,EAAcC,CAAAA,CAAe,QAAA,CAAW1B,EAAK,QAAA,EAC/C,CAACO,CAAAA,CAAAA,CACCkB,CAAAA,CAAcC,CAAAA,CAAe,UAAA,CAAa1B,EAAK,UAAA,EACjDO,CAAAA,CAEF,KCjBToB,EAAAA,CAAe,CAAIjL,EAAQ/J,CAAAA,GACzB,CAAC2M,GAAQG,CAAAA,CAAI/C,CAAAA,CAAK/J,CAAI,CAAC,CAAA,CAAE,QAAUmR,CAAAA,CAAMpH,CAAAA,CAAK/J,CAAI,CAAA,CCKpDiV,EAAAA,CAAe,CACbxF,CAAAA,CACAyE,CAAAA,CACAlU,CAAAA,GACkB,CAClB,IAAMkV,CAAAA,CAAmBvF,GAAsB7C,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,CAAC,CAAA,CAChE,OAAAoN,CAAAA,CAAI8H,CAAAA,CAAkB,OAAQhB,CAAAA,CAAMlU,CAAI,CAAC,CAAA,CACzCoN,CAAAA,CAAIqC,EAAQzP,CAAAA,CAAMkV,CAAgB,CAAA,CAC3BzF,CACT,CAAA,CCfc,SAAU0F,GACtBjI,CAAAA,CACAnD,CAAAA,CACAlQ,EAAO,UAAA,CAAU,CAEjB,GACE2U,EAAAA,CAAStB,CAAM,CAAA,EACd,KAAA,CAAM,OAAA,CAAQA,CAAM,GAAKA,CAAAA,CAAO,KAAA,CAAMsB,EAAQ,CAAA,EAC9CrB,EAAAA,CAAUD,CAAM,CAAA,EAAK,CAACA,CAAAA,CAEvB,OAAO,CACL,IAAA,CAAArT,EACA,OAAA,CAAS2U,EAAAA,CAAStB,CAAM,CAAA,CAAIA,CAAAA,CAAS,GACrC,GAAA,CAAAnD,CAAAA,CAGN,CChBA,IAAAqL,EAAAA,CAAgBC,GACd3J,CAAAA,CAAS2J,CAAc,GAAK,CAACpC,EAAAA,CAAQoC,CAAc,CAAA,CAC/CA,CAAAA,CACA,CACE,KAAA,CAAOA,CAAAA,CACP,OAAA,CAAS,ICuBjBC,EAAAA,CAAe,MACbtC,EACAuC,CAAAA,CACA5G,CAAAA,CACAa,EACAuD,CAAAA,CACAyC,CAAAA,GACgC,CAChC,GAAM,CACJ,GAAA,CAAAzL,EACA,IAAA,CAAA0L,CAAAA,CACA,SAAAC,CAAAA,CACA,SAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,QAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,IAAA,CAAAhW,CAAAA,CACA,cAAAkS,CAAAA,CACA,KAAA,CAAA+D,CAAK,CAAA,CACHjD,CAAAA,CAAM,GACJkD,CAAAA,CAA+BpJ,CAAAA,CAAI6B,EAAY3O,CAAI,CAAA,CACzD,GAAI,CAACiW,CAAAA,EAASV,CAAAA,CAAmB,GAAA,CAAIvV,CAAI,CAAA,CACvC,OAAO,EAAA,CAET,IAAMmW,CAAAA,CAA6BV,CAAAA,CAAOA,EAAK,CAAC,CAAA,CAAK1L,CAAAA,CAC/CqM,CAAAA,CAAqB1G,CAAAA,EAA8B,CACnDqD,GAA6BoD,CAAAA,CAAS,cAAA,GACxCA,EAAS,iBAAA,CAAkBhJ,EAAAA,CAAUuC,CAAO,CAAA,CAAI,EAAA,CAAKA,CAAAA,EAAW,EAAE,CAAA,CAClEyG,CAAAA,CAAS,gBAAc,EAE3B,CAAA,CACMjC,EAA6B,EAAA,CAC7BmC,GAAUzF,EAAAA,CAAa7G,CAAG,EAC1B2I,CAAAA,CAAarH,EAAAA,CAAgBtB,CAAG,CAAA,CAChC8G,EAAAA,CAAoBwF,IAAW3D,CAAAA,CAC/B4D,CAAAA,CAAAA,CACFpE,GAAiB3B,EAAAA,CAAYxG,CAAG,CAAA,GAChC0C,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,GACrB0C,CAAAA,CAAYyJ,CAAU,GACvBzF,EAAAA,CAAc1G,CAAG,GAAKA,CAAAA,CAAI,KAAA,GAAU,EAAA,EACrCmM,CAAAA,GAAe,EAAA,EACd,KAAA,CAAM,QAAQA,CAAU,CAAA,EAAK,CAACA,CAAAA,CAAW,MAAA,CACtCK,GAAoBhH,EAAAA,CAAa,IAAA,CACrC,IAAA,CACAvP,CAAAA,CACAwP,CAAAA,CACA0E,CAAK,EAEDsC,EAAAA,CAAmB,CACvBC,EACAC,CAAAA,CACAC,CAAAA,CACAC,EAAmB/I,EAAAA,CAAuB,SAAA,CAC1CgJ,GAAmBhJ,EAAAA,CAAuB,SAAA,GACxC,CACF,IAAM6B,EAAAA,CAAU+G,EAAYC,CAAAA,CAAmBC,CAAAA,CAC/CzC,EAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAMyW,CAAAA,CAAYG,CAAAA,CAAUC,GAC5B,OAAA,CAAAnH,EAAAA,CACA,IAAA3F,CAAAA,CACA,GAAGwM,GAAkBE,CAAAA,CAAYG,CAAAA,CAAUC,EAAAA,CAASnH,EAAO,CAAA,EAE/D,CAAA,CAEA,GACE8F,CAAAA,CACI,CAAC,MAAM,OAAA,CAAQU,CAAU,GAAK,CAACA,CAAAA,CAAW,MAAA,CAC1CR,CAAAA,GACE,CAAC7E,EAAAA,GAAsByF,GAAW9K,EAAAA,CAAkB0K,CAAU,IAC7D/I,EAAAA,CAAU+I,CAAU,GAAK,CAACA,CAAAA,EAC1BxD,GAAc,CAACX,EAAAA,CAAiB0D,CAAI,CAAA,CAAE,OAAA,EACtCY,IAAW,CAAC/D,EAAAA,CAAcmD,CAAI,CAAA,CAAE,OAAA,CAAA,CACvC,CACA,GAAM,CAAE,KAAA,CAAA/Y,EAAO,OAAA,CAAAgT,CAAO,EAAKlB,EAAAA,CAASkH,CAAQ,EACxC,CAAE,KAAA,CAAO,CAAC,CAACA,CAAAA,CAAU,OAAA,CAASA,CAAQ,CAAA,CACtCN,EAAAA,CAAmBM,CAAQ,CAAA,CAE/B,GAAIhZ,IACFwX,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAM6N,EAAAA,CAAuB,SAC7B,OAAA,CAAA6B,CAAAA,CACA,IAAKyG,CAAAA,CACL,GAAGI,GAAkB1I,EAAAA,CAAuB,QAAA,CAAU6B,CAAO,CAAA,CAAA,CAE3D,CAACF,GACH,OAAA4G,CAAAA,CAAkB1G,CAAO,CAAA,CAClBwE,CAGb,CAEA,GAAI,CAACoC,CAAAA,GAAY,CAAC9K,EAAAA,CAAkBqK,CAAG,GAAK,CAACrK,EAAAA,CAAkBsK,CAAG,CAAA,CAAA,CAAI,CACpE,IAAIW,CAAAA,CACAK,CAAAA,CACEC,CAAAA,CAAY3B,EAAAA,CAAmBU,CAAG,CAAA,CAClCkB,EAAY5B,EAAAA,CAAmBS,CAAG,EAExC,GAAI,CAACrK,GAAkB0K,CAAU,CAAA,EAAK,CAAC,KAAA,CAAMA,CAAoB,CAAA,CAAG,CAClE,IAAMe,EAAAA,CACHlN,EAAyB,aAAA,EACzBmM,CAAAA,EAAa,CAACA,CAAAA,CACZ1K,EAAAA,CAAkBuL,EAAU,KAAK,CAAA,GACpCN,EAAYQ,EAAAA,CAAcF,CAAAA,CAAU,OAEjCvL,EAAAA,CAAkBwL,CAAAA,CAAU,KAAK,CAAA,GACpCF,CAAAA,CAAYG,EAAAA,CAAcD,CAAAA,CAAU,KAAA,EAExC,CAAA,KAAO,CACL,IAAME,EAAAA,CACHnN,EAAyB,WAAA,EAAe,IAAI,KAAKmM,CAAoB,CAAA,CAClEiB,GAAqBC,EAAAA,EACzB,IAAI,KAAK,IAAI,IAAA,GAAO,YAAA,EAAY,CAAK,IAAMA,EAAI,CAAA,CAC3CC,EAAAA,CAAStN,CAAAA,CAAI,IAAA,EAAQ,MAAA,CACrBuN,GAASvN,CAAAA,CAAI,IAAA,EAAQ,OAEvByE,EAAAA,CAASuI,CAAAA,CAAU,KAAK,CAAA,EAAKb,CAAAA,GAC/BO,EAAYY,EAAAA,CACRF,EAAAA,CAAkBjB,CAAU,CAAA,CAAIiB,EAAAA,CAAkBJ,EAAU,KAAK,CAAA,CACjEO,GACEpB,CAAAA,CAAaa,CAAAA,CAAU,KAAA,CACvBG,EAAAA,CAAY,IAAI,IAAA,CAAKH,EAAU,KAAK,CAAA,CAAA,CAGxCvI,GAASwI,CAAAA,CAAU,KAAK,GAAKd,CAAAA,GAC/BY,CAAAA,CAAYO,EAAAA,CACRF,EAAAA,CAAkBjB,CAAU,CAAA,CAAIiB,GAAkBH,CAAAA,CAAU,KAAK,EACjEM,EAAAA,CACEpB,CAAAA,CAAac,EAAU,KAAA,CACvBE,EAAAA,CAAY,IAAI,IAAA,CAAKF,CAAAA,CAAU,KAAK,GAE9C,CAEA,GAAA,CAAIP,GAAaK,CAAAA,IACfN,EAAAA,CACE,CAAC,CAACC,CAAAA,CACFM,EAAU,OAAA,CACVC,CAAAA,CAAU,QACVnJ,EAAAA,CAAuB,GAAA,CACvBA,GAAuB,GAAG,CAAA,CAExB,CAAC2B,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBlC,CAAAA,CAAMlU,CAAI,CAAA,CAAG,OAAO,CAAA,CAC/BkU,CAGb,CAEA,GAAA,CACGyB,CAAAA,EAAaC,IACd,CAACU,CAAAA,GACA9H,EAAAA,CAAS0H,CAAU,CAAA,EAAMV,CAAAA,EAAgB,MAAM,OAAA,CAAQU,CAAU,GAClE,CACA,IAAMqB,EAAkBnC,EAAAA,CAAmBO,CAAS,CAAA,CAC9C6B,CAAAA,CAAkBpC,EAAAA,CAAmBQ,CAAS,EAC9Ca,CAAAA,CACJ,CAACjL,GAAkB+L,CAAAA,CAAgB,KAAK,GACxCrB,CAAAA,CAAW,MAAA,CAAS,CAACqB,CAAAA,CAAgB,KAAA,CACjCT,EACJ,CAACtL,EAAAA,CAAkBgM,EAAgB,KAAK,CAAA,EACxCtB,EAAW,MAAA,CAAS,CAACsB,CAAAA,CAAgB,KAAA,CAEvC,GAAA,CAAIf,CAAAA,EAAaK,KACfN,EAAAA,CACEC,CAAAA,CACAc,EAAgB,OAAA,CAChBC,CAAAA,CAAgB,OAAO,CAAA,CAErB,CAAChI,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBlC,CAAAA,CAAMlU,CAAI,CAAA,CAAG,OAAO,EAC/BkU,CAGb,CAEA,GAAI6B,CAAAA,EAAW,CAACO,CAAAA,EAAW9H,EAAAA,CAAS0H,CAAU,CAAA,CAAG,CAC/C,GAAM,CAAE,MAAOuB,CAAAA,CAAc,OAAA,CAAA/H,CAAO,CAAA,CAAK0F,EAAAA,CAAmBW,CAAO,CAAA,CAEnE,GAAI9C,GAAQwE,CAAY,CAAA,EAAK,CAACvB,CAAAA,CAAW,KAAA,CAAMuB,CAAY,CAAA,GACzDvD,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAM6N,GAAuB,OAAA,CAC7B,OAAA,CAAA6B,EACA,GAAA,CAAA3F,CAAAA,CACA,GAAGwM,EAAAA,CAAkB1I,EAAAA,CAAuB,QAAS6B,CAAO,CAAA,CAAA,CAE1D,CAACF,CAAAA,CAAAA,CACH,OAAA4G,EAAkB1G,CAAO,CAAA,CAClBwE,CAGb,CAEA,GAAI8B,CAAAA,CAAAA,CACF,GAAIxF,EAAAA,CAAWwF,CAAQ,EAAG,CACxB,IAAM9I,EAAS,MAAM8I,CAAAA,CAASE,EAAYvH,CAAU,CAAA,CAC9C+I,EAAgBvC,EAAAA,CAAiBjI,CAAAA,CAAQiJ,CAAQ,CAAA,CAEvD,GAAIuB,IACFxD,CAAAA,CAAMlU,CAAI,EAAI,CACZ,GAAG0X,CAAAA,CACH,GAAGnB,EAAAA,CACD1I,EAAAA,CAAuB,SACvB6J,CAAAA,CAAc,OAAO,GAGrB,CAAClI,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBsB,CAAAA,CAAc,OAAO,CAAA,CAChCxD,CAGb,CAAA,KAAA,GAAWxI,EAASsK,CAAQ,CAAA,CAAG,CAC7B,IAAI2B,CAAAA,CAAmB,EAAA,CAEvB,IAAA,IAAWpL,CAAAA,IAAOyJ,CAAAA,CAAU,CAC1B,GAAI,CAAC1F,CAAAA,CAAcqH,CAAgB,GAAK,CAACnI,CAAAA,CACvC,MAGF,IAAMkI,CAAAA,CAAgBvC,GACpB,MAAMa,CAAAA,CAASzJ,CAAG,CAAA,CAAE2J,CAAAA,CAAYvH,CAAU,CAAA,CAC1CwH,CAAAA,CACA5J,CAAG,CAAA,CAGDmL,CAAAA,GACFC,CAAAA,CAAmB,CACjB,GAAGD,CAAAA,CACH,GAAGnB,EAAAA,CAAkBhK,CAAAA,CAAKmL,EAAc,OAAO,CAAA,CAAA,CAGjDtB,EAAkBsB,CAAAA,CAAc,OAAO,CAAA,CAEnClI,CAAAA,GACF0E,CAAAA,CAAMlU,CAAI,EAAI2X,CAAAA,CAAAA,EAGpB,CAEA,GAAI,CAACrH,CAAAA,CAAcqH,CAAgB,CAAA,GACjCzD,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,GAAA,CAAKmW,EACL,GAAGwB,CAAAA,CAAAA,CAED,CAACnI,CAAAA,CAAAA,CACH,OAAO0E,CAGb,CAAA,CAGF,OAAAkC,EAAkB,IAAI,CAAA,CACflC,CACT,CAAA,CCjMM0D,EAAAA,CAAiB,CACrB,IAAA,CAAMhK,EAAAA,CAAgB,SACtB,cAAA,CAAgBA,EAAAA,CAAgB,QAAA,CAChC,gBAAA,CAAkB,IAAA,CAAA,CAGd,SAAUiK,GAKdpe,CAAAA,CAAkE,GAAE,CAUpE,IAAIqe,EAAW,CACb,GAAGF,EAAAA,CACH,GAAGne,CAAAA,CAAAA,CAEDse,CAAAA,CAAsC,CACxC,WAAA,CAAa,CAAA,CACb,QAAS,KAAA,CACT,OAAA,CAAS,MACT,SAAA,CAAWvH,EAAAA,CAAWsH,CAAAA,CAAS,aAAa,CAAA,CAC5C,YAAA,CAAc,MACd,WAAA,CAAa,KAAA,CACb,aAAc,KAAA,CACd,kBAAA,CAAoB,MACpB,OAAA,CAAS,KAAA,CACT,cAAe,EAAA,CACf,YAAa,EAAA,CACb,iBAAkB,EAAA,CAClB,OAAQA,CAAAA,CAAS,MAAA,EAAU,EAAA,CAC3B,QAAA,CAAUA,CAAAA,CAAS,UAAY,KAAA,CAAA,CAE7BjF,CAAAA,CAAqB,EAAA,CACrBmF,CAAAA,CACFtM,EAASoM,CAAAA,CAAS,aAAa,GAAKpM,CAAAA,CAASoM,CAAAA,CAAS,MAAM,CAAA,CACxD3L,CAAAA,CAAY2L,EAAS,aAAA,EAAiBA,CAAAA,CAAS,MAAM,CAAA,EAAK,EAAA,CAC1D,EAAA,CACFG,CAAAA,CAAcH,EAAS,gBAAA,CACtB,GACA3L,CAAAA,CAAY6L,CAAc,EAC3BE,CAAAA,CAAS,CACX,OAAQ,KAAA,CACR,KAAA,CAAO,MACP,KAAA,CAAO,KAAA,CAAA,CAELxJ,EAAgB,CAClB,KAAA,CAAO,IAAI,GAAA,CACX,QAAA,CAAU,IAAI,GAAA,CACd,OAAA,CAAS,IAAI,IACb,KAAA,CAAO,IAAI,IACX,KAAA,CAAO,IAAI,KAETyJ,CAAAA,CACAC,CAAAA,CAAQ,CAAA,CACN9D,CAAAA,CAAiC,CACrC,OAAA,CAAS,MACT,WAAA,CAAa,KAAA,CACb,iBAAkB,KAAA,CAClB,aAAA,CAAe,MACf,YAAA,CAAc,KAAA,CACd,OAAA,CAAS,KAAA,CACT,MAAA,CAAQ,KAAA,CAAA,CAEN+D,EAA2B,CAC7B,GAAG/D,GAECgE,CAAAA,CAAoC,CACxC,MAAO1I,EAAAA,EAAa,CACpB,MAAOA,EAAAA,EAAa,CAAA,CAGhB2I,EACJT,CAAAA,CAAS,YAAA,GAAiBlK,GAAgB,GAAA,CAEtC4K,CAAAA,CACiBC,GACpBC,CAAAA,EAAgB,CACf,YAAA,CAAaN,CAAK,CAAA,CAClBA,CAAAA,CAAQ,WAAWK,CAAAA,CAAUC,CAAI,EACnC,CAAA,CAEIC,CAAAA,CAAY,MAAOC,CAAAA,EAA+B,CACtD,GACE,CAACd,CAAAA,CAAS,QAAA,GACTxD,EAAgB,OAAA,EACf+D,CAAAA,CAAyB,SACzBO,CAAAA,CAAAA,CACF,CACA,IAAMC,CAAAA,CAAUf,CAAAA,CAAS,QAAA,CACrBxH,CAAAA,CAAAA,CAAe,MAAMwI,CAAAA,IAAc,MAAM,CAAA,CACzC,MAAMC,CAAAA,CAAyBlG,CAAAA,CAAS,IAAI,CAAA,CAE5CgG,CAAAA,GAAYd,EAAW,OAAA,EACzBO,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,QAAAO,CACD,CAAA,EAEL,CACF,CAAA,CAEMG,CAAAA,CAAsB,CAAClN,CAAAA,CAAkBmN,CAAAA,GAA0B,CAErE,CAACnB,CAAAA,CAAS,WACTxD,CAAAA,CAAgB,YAAA,EACfA,EAAgB,gBAAA,EAChB+D,CAAAA,CAAyB,YAAA,EACzBA,CAAAA,CAAyB,gBAAA,CAAA,GAAA,CAE1BvM,CAAAA,EAAS,MAAM,IAAA,CAAK4C,CAAAA,CAAO,KAAK,CAAA,EAAG,OAAA,CAAS1O,GAAQ,CAC/CA,CAAAA,GACFiZ,CAAAA,CACI7L,CAAAA,CAAI2K,CAAAA,CAAW,gBAAA,CAAkB/X,EAAMiZ,CAAY,CAAA,CACnD9H,EAAM4G,CAAAA,CAAW,gBAAA,CAAkB/X,CAAI,CAAA,EAE/C,CAAC,EAEDsY,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,gBAAA,CAAkBP,EAAW,gBAAA,CAC7B,YAAA,CAAc,CAACzH,CAAAA,CAAcyH,CAAAA,CAAW,gBAAgB,CACzD,CAAA,CAAA,EAEL,EAEMmB,CAAAA,CAAwC,CAC5ClZ,EACAkQ,CAAAA,CAAS,GACTiJ,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAkB,IAAA,CAClBC,CAAAA,CAA6B,IAAA,GAC3B,CACF,GAAIF,CAAAA,EAAQD,GAAU,CAACrB,CAAAA,CAAS,SAAU,CAExC,GADAI,CAAAA,CAAO,MAAA,CAAS,IAAA,CACZoB,CAAAA,EAA8B,MAAM,OAAA,CAAQxM,CAAAA,CAAI+F,EAAS7S,CAAI,CAAC,EAAG,CACnE,IAAMuZ,EAAcJ,CAAAA,CAAOrM,CAAAA,CAAI+F,EAAS7S,CAAI,CAAA,CAAGoZ,EAAK,IAAA,CAAMA,CAAAA,CAAK,IAAI,CAAA,CACnEC,CAAAA,EAAmBjM,CAAAA,CAAIyF,CAAAA,CAAS7S,CAAAA,CAAMuZ,CAAW,EACnD,CAEA,GACED,GACA,KAAA,CAAM,OAAA,CAAQxM,EAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAC,CAAA,CAC1C,CACA,IAAMyP,CAAAA,CAAS0J,CAAAA,CACbrM,EAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,CAC3BoZ,CAAAA,CAAK,IAAA,CACLA,CAAAA,CAAK,IAAI,CAAA,CAEXC,GAAmBjM,CAAAA,CAAI2K,CAAAA,CAAW,OAAQ/X,CAAAA,CAAMyP,CAAM,EACtDuF,EAAAA,CAAgB+C,CAAAA,CAAW,OAAQ/X,CAAI,EACzC,CAEA,GAAA,CACGsU,CAAAA,CAAgB,eACf+D,CAAAA,CAAyB,aAAA,GAC3BiB,GACA,KAAA,CAAM,OAAA,CAAQxM,CAAAA,CAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAC,CAAA,CACjD,CACA,IAAMwZ,CAAAA,CAAgBL,CAAAA,CACpBrM,EAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAClCoZ,CAAAA,CAAK,IAAA,CACLA,EAAK,IAAI,CAAA,CAEXC,GAAmBjM,CAAAA,CAAI2K,CAAAA,CAAW,cAAe/X,CAAAA,CAAMwZ,CAAa,EACtE,CAAA,CAEIlF,CAAAA,CAAgB,WAAA,EAAe+D,EAAyB,WAAA,IAC1DN,CAAAA,CAAW,YAAcrG,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CAAA,CAGrEK,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,KAAAtY,CAAAA,CACA,OAAA,CAASyZ,GAAUzZ,CAAAA,CAAMkQ,CAAM,EAC/B,WAAA,CAAa6H,CAAAA,CAAW,WAAA,CACxB,MAAA,CAAQA,CAAAA,CAAW,MAAA,CACnB,QAASA,CAAAA,CAAW,OACrB,CAAA,EACH,CAAA,KACE3K,EAAI6K,CAAAA,CAAajY,CAAAA,CAAMkQ,CAAM,EAEjC,CAAA,CAEMwJ,CAAAA,CAAe,CAAC1Z,CAAAA,CAAyBkU,CAAAA,GAAqB,CAClE9G,CAAAA,CAAI2K,CAAAA,CAAW,OAAQ/X,CAAAA,CAAMkU,CAAK,CAAA,CAClCoE,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQP,CAAAA,CAAW,MACpB,CAAA,EACH,EAEM4B,CAAAA,CAAclK,CAAAA,EAAqC,CACvDsI,CAAAA,CAAW,MAAA,CAAStI,EACpB6I,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,MAAA,CAAQP,EAAW,MAAA,CACnB,OAAA,CAAS,KACV,CAAA,EACH,CAAA,CAEM6B,EAAsB,CAC1B5Z,CAAAA,CACA6Z,EACAnd,CAAAA,CACAqN,CAAAA,GACE,CACF,IAAMiJ,CAAAA,CAAelG,EAAI+F,CAAAA,CAAS7S,CAAI,EAEtC,GAAIgT,CAAAA,CAAO,CACT,IAAM/F,CAAAA,CAAeH,EACnBmL,CAAAA,CACAjY,CAAAA,CACAyM,CAAAA,CAAY/P,CAAK,CAAA,CAAIoQ,CAAAA,CAAIkL,EAAgBhY,CAAI,CAAA,CAAItD,CAAK,CAAA,CAGxD+P,CAAAA,CAAYQ,CAAY,CAAA,EACvBlD,CAAAA,EAAQA,EAAyB,cAAA,EAClC8P,CAAAA,CACIzM,EACE6K,CAAAA,CACAjY,CAAAA,CACA6Z,EAAuB5M,CAAAA,CAAeuF,EAAAA,CAAcQ,EAAM,EAAE,CAAC,CAAA,CAE/D8G,CAAAA,CAAc9Z,CAAAA,CAAMiN,CAAY,EAEpCiL,CAAAA,CAAO,KAAA,EAAS,CAACA,CAAAA,CAAO,MAAA,EAAUS,IACpC,CACF,CAAA,CAEMoB,CAAAA,CAAsB,CAC1B/Z,CAAAA,CACAoQ,EACAwD,CAAAA,CACAoG,CAAAA,CACAC,IAGE,CACF,IAAIC,EAAoB,KAAA,CACpBC,CAAAA,CAAkB,KAAA,CAChBC,CAAAA,CAA8D,CAClE,IAAA,CAAApa,GAGF,GAAI,CAAC8X,EAAS,QAAA,CAAU,CACtB,GAAI,CAAClE,CAAAA,EAAeoG,EAAa,CAAA,CAC3B1F,CAAAA,CAAgB,SAAW+D,CAAAA,CAAyB,OAAA,IACtD8B,EAAkBpC,CAAAA,CAAW,OAAA,CAC7BA,EAAW,OAAA,CAAUqC,CAAAA,CAAO,OAAA,CAAUX,EAAAA,EAAS,CAC/CS,CAAAA,CAAoBC,IAAoBC,CAAAA,CAAO,OAAA,CAAA,CAGjD,IAAMC,CAAAA,CAAyBtL,EAAAA,CAC7BjC,EAAIkL,CAAAA,CAAgBhY,CAAI,CAAA,CACxBoQ,CAAU,CAAA,CAGZ+J,CAAAA,CAAkB,CAAC,CAACrN,CAAAA,CAAIiL,EAAW,WAAA,CAAa/X,CAAI,EACpDqa,CAAAA,CACIlJ,CAAAA,CAAM4G,CAAAA,CAAW,WAAA,CAAa/X,CAAI,CAAA,CAClCoN,EAAI2K,CAAAA,CAAW,WAAA,CAAa/X,EAAM,IAAI,CAAA,CAC1Coa,EAAO,WAAA,CAAcrC,CAAAA,CAAW,YAChCmC,CAAAA,CACEA,CAAAA,EAAAA,CACE5F,EAAgB,WAAA,EAChB+D,CAAAA,CAAyB,cACzB8B,CAAAA,GAAoB,CAACE,EAC3B,CAEA,GAAIzG,CAAAA,CAAa,CACf,IAAM0G,CAAAA,CAAyBxN,EAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAE5Dsa,CAAAA,GACHlN,EAAI2K,CAAAA,CAAW,aAAA,CAAe/X,CAAAA,CAAM4T,CAAW,CAAA,CAC/CwG,CAAAA,CAAO,cAAgBrC,CAAAA,CAAW,aAAA,CAClCmC,EACEA,CAAAA,EAAAA,CACE5F,CAAAA,CAAgB,eAChB+D,CAAAA,CAAyB,aAAA,GACzBiC,CAAAA,GAA2B1G,CAAAA,EAEnC,CAEAsG,CAAAA,EAAqBD,GAAgB3B,CAAAA,CAAU,KAAA,CAAM,KAAK8B,CAAM,EAClE,CAEA,OAAOF,CAAAA,CAAoBE,EAAS,EACtC,EAEMG,EAAAA,CAAsB,CAC1Bva,EACA6Y,CAAAA,CACA3E,CAAAA,CACA/D,IAKE,CACF,IAAMqK,CAAAA,CAAqB1N,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,CAChD4Y,CAAAA,CAAAA,CACHtE,EAAgB,OAAA,EAAW+D,CAAAA,CAAyB,UACrDlL,EAAAA,CAAU0L,CAAO,GACjBd,CAAAA,CAAW,OAAA,GAAYc,EAazB,GAXIf,CAAAA,CAAS,YAAc5D,CAAAA,EACzBiE,CAAAA,CAAqBK,EAAS,IAAMkB,CAAAA,CAAa1Z,CAAAA,CAAMkU,CAAK,CAAC,CAAA,CAC7DiE,EAAmBL,CAAAA,CAAS,UAAU,IAEtC,YAAA,CAAaM,CAAK,EAClBD,CAAAA,CAAqB,IAAA,CACrBjE,EACI9G,CAAAA,CAAI2K,CAAAA,CAAW,OAAQ/X,CAAAA,CAAMkU,CAAK,EAClC/C,CAAAA,CAAM4G,CAAAA,CAAW,OAAQ/X,CAAI,CAAA,CAAA,CAAA,CAIhCkU,CAAAA,CAAQ,CAACnF,EAAAA,CAAUyL,CAAAA,CAAoBtG,CAAK,CAAA,CAAIsG,CAAAA,GACjD,CAAClK,CAAAA,CAAcH,CAAU,GACzByI,CAAAA,CACA,CACA,IAAM6B,CAAAA,CAAmB,CACvB,GAAGtK,EACH,GAAIyI,CAAAA,EAAqBzL,GAAU0L,CAAO,CAAA,CAAI,CAAE,OAAA,CAAAA,CAAO,CAAA,CAAK,EAAA,CAC5D,MAAA,CAAQd,EAAW,MAAA,CACnB,IAAA,CAAA/X,GAGF+X,CAAAA,CAAa,CACX,GAAGA,CAAAA,CACH,GAAG0C,GAGLnC,CAAAA,CAAU,KAAA,CAAM,KAAKmC,CAAgB,EACvC,CACF,CAAA,CAEM3B,CAAAA,CAAa,MAAO9Y,CAAAA,EAA8B,CACtDgZ,CAAAA,CAAoBhZ,CAAAA,CAAM,IAAI,CAAA,CAC9B,IAAMkN,CAAAA,CAAS,MAAM4K,EAAS,QAAA,CAC5BG,CAAAA,CACAH,EAAS,OAAA,CACTnF,EAAAA,CACE3S,CAAAA,EAAQ0O,CAAAA,CAAO,KAAA,CACfmE,CAAAA,CACAiF,EAAS,YAAA,CACTA,CAAAA,CAAS,yBAAyB,CACnC,CAAA,CAEH,OAAAkB,CAAAA,CAAoBhZ,CAAI,CAAA,CACjBkN,CACT,CAAA,CAEMwN,EAAAA,CAA8B,MAAO5O,CAAAA,EAA+B,CACxE,GAAM,CAAE,MAAA,CAAA2D,CAAM,CAAA,CAAK,MAAMqJ,EAAWhN,CAAK,CAAA,CAEzC,GAAIA,CAAAA,CACF,IAAA,IAAW9L,KAAQ8L,CAAAA,CAAO,CACxB,IAAMoI,CAAAA,CAAQpH,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,CAAA,CAC9BkU,CAAAA,CACI9G,EAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,EAAMkU,CAAK,CAAA,CAClC/C,EAAM4G,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,EACnC,CAAA,KAEA+X,CAAAA,CAAW,OAAStI,CAAAA,CAGtB,OAAOA,CACT,CAAA,CAEMsJ,CAAAA,CAA2B,MAC/BtH,CAAAA,CACAkJ,CAAAA,CACA7e,CAAAA,CAEI,CACF,KAAA,CAAO,IACR,IACC,CACF,IAAA,IAAWkE,KAAQyR,CAAAA,CAAQ,CACzB,IAAMuB,CAAAA,CAAQvB,CAAAA,CAAOzR,CAAI,CAAA,CAEzB,GAAIgT,EAAO,CACT,GAAM,CAAE,EAAA,CAAAP,CAAAA,CAAI,GAAGrC,CAAU,CAAA,CAAK4C,CAAAA,CAE9B,GAAIP,CAAAA,CAAI,CACN,IAAMmI,CAAAA,CAAmBlM,CAAAA,CAAO,MAAM,GAAA,CAAI+D,CAAAA,CAAG,IAAI,CAAA,CAC3CoI,CAAAA,CACJ7H,EAAM,EAAA,EAAMO,EAAAA,CAAsBP,EAAgB,EAAE,CAAA,CAElD6H,GAAqBvG,CAAAA,CAAgB,gBAAA,EACvC0E,EAAoB,CAACvG,CAAAA,CAAG,IAAI,CAAA,CAAG,IAAI,CAAA,CAGrC,IAAMqI,EAAAA,CAAa,MAAMxF,GACvBtC,CAAAA,CACAtE,CAAAA,CAAO,SACPuJ,CAAAA,CACAM,CAAAA,CACAT,EAAS,yBAAA,EAA6B,CAAC6C,EACvCC,CAAgB,CAAA,CAOlB,GAJIC,CAAAA,EAAqBvG,CAAAA,CAAgB,kBACvC0E,CAAAA,CAAoB,CAACvG,CAAAA,CAAG,IAAI,CAAC,CAAA,CAG3BqI,GAAWrI,CAAAA,CAAG,IAAI,IACpB3W,CAAAA,CAAQ,KAAA,CAAQ,MACZ6e,CAAAA,CAAAA,CACF,MAIJ,CAACA,CAAAA,GACE7N,CAAAA,CAAIgO,EAAAA,CAAYrI,EAAG,IAAI,CAAA,CACpBmI,EACE3F,EAAAA,CACE8C,CAAAA,CAAW,OACX+C,EAAAA,CACArI,CAAAA,CAAG,IAAI,CAAA,CAETrF,CAAAA,CAAI2K,CAAAA,CAAW,OAAQtF,CAAAA,CAAG,IAAA,CAAMqI,GAAWrI,CAAAA,CAAG,IAAI,CAAC,CAAA,CACrDtB,CAAAA,CAAM4G,EAAW,MAAA,CAAQtF,CAAAA,CAAG,IAAI,CAAA,EACxC,CAEA,CAACnC,CAAAA,CAAcF,CAAU,GACtB,MAAM2I,CAAAA,CACL3I,CAAAA,CACAuK,CAAAA,CACA7e,CAAO,EAEb,CACF,CAEA,OAAOA,EAAQ,KACjB,CAAA,CAEMif,GAAmB,IAAK,CAC5B,IAAA,IAAW/a,CAAAA,IAAQ0O,CAAAA,CAAO,OAAA,CAAS,CACjC,IAAMsE,CAAAA,CAAelG,EAAI+F,CAAAA,CAAS7S,CAAI,EAEtCgT,CAAAA,GACGA,CAAAA,CAAM,EAAA,CAAG,IAAA,CACNA,CAAAA,CAAM,EAAA,CAAG,KAAK,KAAA,CAAOjJ,CAAAA,EAAQ,CAAC+G,EAAAA,CAAK/G,CAAG,CAAC,CAAA,CACvC,CAAC+G,GAAKkC,CAAAA,CAAM,EAAA,CAAG,GAAG,CAAA,CAAA,EACtBgI,EAAAA,CAAWhb,CAA+B,EAC9C,CAEA0O,EAAO,OAAA,CAAU,IAAI,IACvB,CAAA,CAEM+K,EAAAA,CAAwB,CAACzZ,EAAMkC,CAAAA,GACnC,CAAC4V,EAAS,QAAA,GACT9X,CAAAA,EAAQkC,GAAQkL,CAAAA,CAAI6K,CAAAA,CAAajY,CAAAA,CAAMkC,CAAI,CAAA,CAC5C,CAAC6M,GAAUkM,EAAAA,EAAS,CAAIjD,CAAc,CAAA,CAAA,CAElCkD,CAAAA,CAAyC,CAC7CpP,CAAAA,CACAmB,CAAAA,CACA2B,CAAAA,GAEAH,EAAAA,CACE3C,CAAAA,CACA4C,CAAAA,CACA,CACE,GAAIwJ,CAAAA,CAAO,MACPD,CAAAA,CACAxL,CAAAA,CAAYQ,CAAY,CAAA,CACtB+K,CAAAA,CACAxJ,GAAS1C,CAAK,CAAA,CACZ,CAAE,CAACA,CAAK,EAAGmB,CAAY,CAAA,CACvBA,CACT,CAAA,CACD2B,CAAAA,CACA3B,CAAY,CAAA,CAGVkO,CAAAA,CACJnb,CAAAA,EAEA2M,GACEG,CAAAA,CACEoL,CAAAA,CAAO,MAAQD,CAAAA,CAAcD,CAAAA,CAC7BhY,EACA8X,CAAAA,CAAS,gBAAA,CAAmBhL,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAAA,CAAM,EAAE,CAAA,CAAI,EAAE,CAC/D,CAAA,CAGC8Z,EAAgB,CACpB9Z,CAAAA,CACAtD,CAAAA,CACAkO,CAAAA,CAA0B,EAAA,GACxB,CACF,IAAMoI,CAAAA,CAAelG,EAAI+F,CAAAA,CAAS7S,CAAI,EAClCoQ,CAAAA,CAAsB1T,CAAAA,CAE1B,GAAIsW,CAAAA,CAAO,CACT,IAAMQ,CAAAA,CAAiBR,CAAAA,CAAM,GAEzBQ,CAAAA,GACF,CAACA,EAAe,QAAA,EACdpG,CAAAA,CAAI6K,CAAAA,CAAajY,CAAAA,CAAMiS,EAAAA,CAAgBvV,CAAAA,CAAO8W,CAAc,CAAC,CAAA,CAE/DpD,EACEK,EAAAA,CAAc+C,CAAAA,CAAe,GAAG,CAAA,EAAKhI,EAAAA,CAAkB9O,CAAK,CAAA,CACxD,EAAA,CACAA,CAAAA,CAEFiU,GAAiB6C,CAAAA,CAAe,GAAG,EACrC,CAAC,GAAGA,EAAe,GAAA,CAAI,OAAO,CAAA,CAAE,OAAA,CAC7B4H,CAAAA,EACEA,CAAAA,CAAU,SACThL,CAAAA,CACA,QAAA,CAASgL,EAAU,KAAK,CAAE,EAEvB5H,CAAAA,CAAe,IAAA,CACpBnI,GAAgBmI,CAAAA,CAAe,GAAG,EACpCA,CAAAA,CAAe,IAAA,CAAK,QAAS6H,CAAAA,EAAe,CAAA,CACtC,CAACA,CAAAA,CAAY,cAAA,EAAkB,CAACA,CAAAA,CAAY,QAAA,IAC1C,KAAA,CAAM,QAAQjL,CAAU,CAAA,CAC1BiL,EAAY,OAAA,CAAU,CAAC,CAACjL,CAAAA,CAAW,IAAA,CAChClO,CAAAA,EAAiBA,CAAAA,GAASmZ,CAAAA,CAAY,KAAK,EAG9CA,CAAAA,CAAY,OAAA,CACVjL,IAAeiL,CAAAA,CAAY,KAAA,EAAS,CAAC,CAACjL,CAAAA,EAG9C,CAAC,CAAA,CAEDoD,CAAAA,CAAe,IAAA,CAAK,QACjB8H,CAAAA,EACEA,CAAAA,CAAS,QAAUA,CAAAA,CAAS,KAAA,GAAUlL,CAAW,CAAA,CAG/CG,EAAAA,CAAYiD,EAAe,GAAG,CAAA,CACvCA,EAAe,GAAA,CAAI,KAAA,CAAQ,IAE3BA,CAAAA,CAAe,GAAA,CAAI,MAAQpD,CAAAA,CAEtBoD,CAAAA,CAAe,GAAA,CAAI,IAAA,EACtB8E,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,IAAA,CAAAtY,EACA,MAAA,CAAQmM,CAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAAA,EAIT,CAAA,CAECrN,CAAAA,CAAQ,WAAA,EAAeA,EAAQ,WAAA,GAC9BmP,CAAAA,CACE/Z,EACAoQ,CAAAA,CACAxF,CAAAA,CAAQ,YACRA,CAAAA,CAAQ,WAAA,CACR,IAAI,CAAA,CAGRA,CAAAA,CAAQ,cAAA,EAAkB2Q,GAAQvb,CAA0B,EAC9D,EAEMwb,CAAAA,CAAY,CAKhBxb,EACAtD,CAAAA,CACAkO,CAAAA,GACE,CACF,IAAA,IAAW6Q,CAAAA,IAAY/e,EAAO,CAC5B,GAAI,CAACA,CAAAA,CAAM,cAAA,CAAe+e,CAAQ,CAAA,CAChC,OAEF,IAAMrL,CAAAA,CAAa1T,CAAAA,CAAM+e,CAAQ,EAC3B5M,CAAAA,CAAY7O,CAAAA,CAAO,IAAMyb,CAAAA,CACzBzI,CAAAA,CAAQlG,EAAI+F,CAAAA,CAAShE,CAAS,GAEnCH,CAAAA,CAAO,KAAA,CAAM,IAAI1O,CAAI,CAAA,EACpB0L,EAAS0E,CAAU,CAAA,EAClB4C,GAAS,CAACA,CAAAA,CAAM,EAAA,GACnB,CAACzH,EAAAA,CAAa6E,CAAU,EACpBoL,CAAAA,CAAU3M,CAAAA,CAAWuB,EAAYxF,CAAO,CAAA,CACxCkP,EAAcjL,CAAAA,CAAWuB,CAAAA,CAAYxF,CAAO,EAClD,CACF,EAEM8Q,EAAAA,CAA0C,CAC9C1b,EACAtD,CAAAA,CACAkO,CAAAA,CAAU,EAAA,GACR,CACF,IAAMoI,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CACzBwV,CAAAA,CAAe9G,EAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,CACpC2b,CAAAA,CAAaxP,CAAAA,CAAYzP,CAAK,CAAA,CAEpC0Q,CAAAA,CAAI6K,EAAajY,CAAAA,CAAM2b,CAAU,EAE7BnG,CAAAA,EACF8C,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,MAAA,CAAQmM,CAAAA,CAAY8L,CAAW,CAChC,CAAA,GAGE3D,CAAAA,CAAgB,OAAA,EACfA,EAAgB,WAAA,EAChB+D,CAAAA,CAAyB,SACzBA,CAAAA,CAAyB,WAAA,GAC3BzN,EAAQ,WAAA,EAER0N,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,KAAAtY,CAAAA,CACA,WAAA,CAAa0R,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CACvD,QAASwB,EAAAA,CAAUzZ,CAAAA,CAAM2b,CAAU,CACpC,CAAA,GAGH3I,CAAAA,EAAS,CAACA,CAAAA,CAAM,EAAA,EAAM,CAACxH,EAAAA,CAAkBmQ,CAAU,CAAA,CAC/CH,CAAAA,CAAUxb,EAAM2b,CAAAA,CAAY/Q,CAAO,EACnCkP,CAAAA,CAAc9Z,CAAAA,CAAM2b,CAAAA,CAAY/Q,CAAO,CAAA,CAG7C+I,EAAAA,CAAU3T,EAAM0O,CAAM,CAAA,EAAK4J,EAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGP,CAAAA,CAAY,KAAA/X,CAAI,CAAE,EACvEsY,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,IAAA,CAAMJ,EAAO,KAAA,CAAQlY,CAAAA,CAAO,MAAA,CAC5B,MAAA,CAAQmM,CAAAA,CAAY8L,CAAW,CAChC,CAAA,EACH,EAEMpf,EAAAA,CAA0B,MAAOiE,GAAS,CAC9Cob,CAAAA,CAAO,KAAA,CAAQ,IAAA,CACf,IAAM0D,CAAAA,CAAS9e,EAAM,MAAA,CACjBkD,CAAAA,CAAe4b,EAAO,IAAA,CACtBC,CAAAA,CAAsB,KACpB7I,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAChC8b,CAAAA,CAA8B1L,GAAuB,CACzDyL,CAAAA,CACE,OAAO,KAAA,CAAMzL,CAAU,GACtB7E,EAAAA,CAAa6E,CAAU,GAAK,KAAA,CAAMA,CAAAA,CAAW,SAAS,CAAA,EACvDrB,GAAUqB,CAAAA,CAAYtD,CAAAA,CAAImL,EAAajY,CAAAA,CAAMoQ,CAAU,CAAC,EAC5D,CAAA,CACM2L,CAAAA,CAA6B3I,GAAmB0E,CAAAA,CAAS,IAAI,EAC7DkE,CAAAA,CAA4B5I,EAAAA,CAChC0E,EAAS,cAAc,CAAA,CAGzB,GAAI9E,CAAAA,CAAO,CACT,IAAIkB,EACA2E,EAAAA,CACEzI,EAAAA,CAAawL,EAAO,IAAA,CACtBpJ,EAAAA,CAAcQ,EAAM,EAAE,CAAA,CACtBrH,EAAAA,CAAc7O,CAAK,CAAA,CACjB8W,EAAAA,CACJ9W,EAAM,IAAA,GAAS6Q,EAAAA,CAAO,MAAQ7Q,CAAAA,CAAM,IAAA,GAAS6Q,GAAO,SAAA,CAChDsO,EAAAA,CACH,CAACvI,EAAAA,CAAcV,CAAAA,CAAM,EAAE,CAAA,EACtB,CAAC8E,EAAS,QAAA,EACV,CAAChL,EAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,EAC5B,CAACgT,CAAAA,CAAM,GAAG,IAAA,EACZ4B,EAAAA,CACEhB,GACA9G,CAAAA,CAAIiL,CAAAA,CAAW,cAAe/X,CAAI,CAAA,CAClC+X,CAAAA,CAAW,WAAA,CACXiE,CAAAA,CACAD,CAA0B,EAExBG,EAAAA,CAAUvI,EAAAA,CAAU3T,EAAM0O,CAAAA,CAAQkF,EAAW,EAEnDxG,CAAAA,CAAI6K,CAAAA,CAAajY,CAAAA,CAAMoQ,EAAU,CAAA,CAE7BwD,EAAAA,CAAAA,CACE,CAACgI,CAAAA,EAAU,CAACA,EAAO,QAAA,IACrB5I,CAAAA,CAAM,GAAG,MAAA,EAAUA,CAAAA,CAAM,GAAG,MAAA,CAAOlW,CAAK,EACxCqb,CAAAA,EAAsBA,CAAAA,CAAmB,CAAC,CAAA,CAAA,CAEnCnF,CAAAA,CAAM,GAAG,QAAA,EAClBA,CAAAA,CAAM,EAAA,CAAG,QAAA,CAASlW,CAAK,CAAA,CAGzB,IAAMqT,EAAAA,CAAa4J,CAAAA,CAAoB/Z,EAAMoQ,EAAAA,CAAYwD,EAAW,EAE9DqG,EAAAA,CAAe,CAAC3J,CAAAA,CAAcH,EAAU,CAAA,EAAK+L,EAAAA,CASnD,GAPA,CAACtI,EAAAA,EACC0E,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,IAAA,CAAMlD,CAAAA,CAAM,IAAA,CACZ,MAAA,CAAQqP,EAAY8L,CAAW,CAChC,CAAA,CAAA,CAECgE,EAAAA,CACF,QAAI3H,CAAAA,CAAgB,OAAA,EAAW+D,EAAyB,OAAA,IAClDP,CAAAA,CAAS,OAAS,QAAA,CAChBlE,EAAAA,EACF+E,GAAS,CAED/E,EAAAA,EACV+E,GAAS,CAAA,CAKXsB,EAAAA,EACA3B,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,KAAAtY,CAAAA,CAAM,GAAIkc,GAAU,EAAA,CAAK/L,EAAW,CAAE,CAAA,CAMjE,GAFA,CAACyD,EAAAA,EAAesI,EAAAA,EAAW5D,EAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGP,CAAU,CAAE,CAAA,CAE7DD,CAAAA,CAAS,QAAA,CAAU,CACrB,GAAM,CAAE,OAAArI,EAAM,CAAA,CAAK,MAAMqJ,CAAAA,CAAW,CAAC9Y,CAAI,CAAC,CAAA,CAI1C,GAFA8b,CAAAA,CAA2B1L,EAAU,EAEjCyL,CAAAA,CAAqB,CACvB,IAAMM,EAAAA,CAA4BlI,EAAAA,CAChC8D,EAAW,MAAA,CACXlF,CAAAA,CACA7S,CAAI,CAAA,CAEAoc,EAAAA,CAAoBnI,EAAAA,CACxBxE,GACAoD,CAAAA,CACAsJ,EAAAA,CAA0B,MAAQnc,CAAI,CAAA,CAGxCkU,EAAQkI,EAAAA,CAAkB,KAAA,CAC1Bpc,EAAOoc,EAAAA,CAAkB,IAAA,CAEzBvD,GAAUvI,CAAAA,CAAcb,EAAM,EAChC,CACF,CAAA,KACEuJ,EAAoB,CAAChZ,CAAI,CAAA,CAAG,IAAI,CAAA,CAChCkU,CAAAA,CAAAA,CACE,MAAMoB,EAAAA,CACJtC,CAAAA,CACAtE,EAAO,QAAA,CACPuJ,CAAAA,CACAM,EACAT,CAAAA,CAAS,yBAAyB,GAEpC9X,CAAI,CAAA,CACNgZ,EAAoB,CAAChZ,CAAI,CAAC,CAAA,CAE1B8b,CAAAA,CAA2B1L,EAAU,CAAA,CAEjCyL,CAAAA,GACE3H,CAAAA,CACF2E,EAAAA,CAAU,KAAA,CAAA,CAEVvE,CAAAA,CAAgB,SAChB+D,CAAAA,CAAyB,OAAA,IAEzBQ,GAAU,MAAME,CAAAA,CAAyBlG,EAAS,IAAI,CAAA,CAAA,CAAA,CAKxDgJ,CAAAA,GACF7I,CAAAA,CAAM,EAAA,CAAG,IAAA,GACN,CAAC,KAAA,CAAM,OAAA,CAAQA,EAAM,EAAA,CAAG,IAAI,GAAKA,CAAAA,CAAM,EAAA,CAAG,IAAA,CAAK,MAAA,CAAS,CAAA,CAAA,EACzDuI,EAAAA,CACEvI,EAAM,EAAA,CAAG,IAEoB,EAEjCuH,EAAAA,CAAoBva,CAAAA,CAAM6Y,GAAS3E,CAAAA,CAAO/D,EAAU,GAExD,CACF,CAAA,CAEMkM,GAAc,CAACtS,CAAAA,CAAUwC,IAAe,CAC5C,GAAIO,EAAIiL,CAAAA,CAAW,MAAA,CAAQxL,CAAG,CAAA,EAAKxC,CAAAA,CAAI,KAAA,CACrC,OAAAA,CAAAA,CAAI,KAAA,GACG,CAGX,CAAA,CAEMwR,GAAwC,MAAOvb,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACzE,IAAIiO,CAAAA,CACAlB,CAAAA,CACE2E,EAAa3M,EAAAA,CAAsB3P,CAAI,EAE7C,GAAI8X,CAAAA,CAAS,QAAA,CAAU,CACrB,IAAMrI,CAAAA,CAAS,MAAMiL,EAAAA,CACnBjO,CAAAA,CAAYzM,CAAI,CAAA,CAAIA,CAAAA,CAAOsc,CAAU,CAAA,CAGvCzD,CAAAA,CAAUvI,EAAcb,CAAM,CAAA,CAC9BkI,EAAmB3X,CAAAA,CACf,CAACsc,EAAW,IAAA,CAAMtc,CAAAA,EAAS8M,EAAI2C,CAAAA,CAAQzP,CAAI,CAAC,CAAA,CAC5C6Y,EACN,CAAA,KAAW7Y,GACT2X,CAAAA,CAAAA,CACE,MAAM,QAAQ,GAAA,CACZ2E,CAAAA,CAAW,IAAI,MAAOzN,CAAAA,EAAa,CACjC,IAAMmE,CAAAA,CAAQlG,CAAAA,CAAI+F,EAAShE,CAAS,CAAA,CACpC,OAAO,MAAMkK,CAAAA,CACX/F,GAASA,CAAAA,CAAM,EAAA,CAAK,CAAE,CAACnE,CAAS,EAAGmE,CAAK,CAAA,CAAKA,CAAK,CAEtD,CAAC,CAAC,GAEJ,KAAA,CAAM,OAAO,EACf,EAAE,CAAC2E,GAAoB,CAACI,CAAAA,CAAW,UAAYY,CAAAA,EAAS,EAExDhB,EAAmBkB,CAAAA,CAAU,MAAME,CAAAA,CAAyBlG,CAAO,CAAA,CAGrE,OAAAyF,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,GAAI,CAAC9J,GAASxO,CAAI,CAAA,EAAA,CAChBsU,CAAAA,CAAgB,OAAA,EAAW+D,CAAAA,CAAyB,OAAA,GACpDQ,IAAYd,CAAAA,CAAW,OAAA,CACrB,EAAA,CACA,CAAE,KAAA/X,CAAI,CAAA,CACV,GAAI8X,CAAAA,CAAS,QAAA,EAAY,CAAC9X,EAAO,CAAE,OAAA,CAAA6Y,CAAO,CAAA,CAAK,GAC/C,MAAA,CAAQd,CAAAA,CAAW,MACpB,CAAA,CAAA,CAEDnN,EAAQ,WAAA,EACN,CAAC+M,GACD7D,EAAAA,CACEjB,CAAAA,CACAwJ,GACArc,CAAAA,CAAOsc,CAAAA,CAAa5N,CAAAA,CAAO,KAAK,CAAA,CAG7BiJ,CACT,EAEMsD,EAAAA,CAA4C,CAChDqB,EAGAC,CAAAA,GACE,CACF,IAAIrM,CAAAA,CAAS,CACX,GAAIgI,CAAAA,CAAO,KAAA,CAAQD,CAAAA,CAAcD,GAGnC,OAAIuE,CAAAA,GACFrM,EAASF,EAAAA,CACPuM,CAAAA,CAAO,YAAcxE,CAAAA,CAAW,WAAA,CAAcA,CAAAA,CAAW,aAAA,CACzD7H,CAAM,CAAA,CAAA,CAIHzD,EAAY6P,CAAU,CAAA,CACzBpM,EACA1B,EAAAA,CAAS8N,CAAU,EACjBxP,CAAAA,CAAIoD,CAAAA,CAAQoM,CAAU,CAAA,CACtBA,CAAAA,CAAW,IAAKtc,CAAAA,EAAS8M,CAAAA,CAAIoD,EAAQlQ,CAAI,CAAC,CAClD,CAAA,CAEMwc,EAAAA,CAAoD,CACxDxc,CAAAA,CACAkO,CAAAA,IACI,CACJ,QAAS,CAAC,CAACpB,GAAKoB,CAAAA,EAAa6J,CAAAA,EAAY,OAAQ/X,CAAI,CAAA,CACrD,OAAA,CAAS,CAAC,CAAC8M,CAAAA,CAAAA,CAAKoB,GAAa6J,CAAAA,EAAY,WAAA,CAAa/X,CAAI,CAAA,CAC1D,KAAA,CAAO8M,GAAKoB,CAAAA,EAAa6J,CAAAA,EAAY,MAAA,CAAQ/X,CAAI,CAAA,CACjD,YAAA,CAAc,CAAC,CAAC8M,CAAAA,CAAIiL,EAAW,gBAAA,CAAkB/X,CAAI,EACrD,SAAA,CAAW,CAAC,CAAC8M,CAAAA,CAAAA,CAAKoB,CAAAA,EAAa6J,GAAY,aAAA,CAAe/X,CAAI,CAC/D,CAAA,CAAA,CAEKyc,EAAAA,CAAiDzc,GAAQ,CAC7DA,CAAAA,EACE2P,EAAAA,CAAsB3P,CAAI,CAAA,CAAE,OAAA,CAAS0c,GACnCvL,CAAAA,CAAM4G,CAAAA,CAAW,OAAQ2E,CAAS,CAAC,EAGvCpE,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQtY,CAAAA,CAAO+X,EAAW,MAAA,CAAS,EACpC,CAAA,EACH,EAEM4E,EAAAA,CAA0C,CAAC3c,CAAAA,CAAMkU,CAAAA,CAAOtJ,CAAAA,GAAW,CACvE,IAAMb,CAAAA,CAAAA,CAAO+C,CAAAA,CAAI+F,EAAS7S,CAAAA,CAAM,CAAE,GAAI,EAAE,CAAE,CAAA,CAAE,EAAA,EAAM,EAAA,EAAI,GAAA,CAChD4c,EAAe9P,CAAAA,CAAIiL,CAAAA,CAAW,OAAQ/X,CAAI,CAAA,EAAK,EAAA,CAG/C,CAAE,GAAA,CAAK6c,EAAY,OAAA,CAAAnN,CAAAA,CAAS,KAAA7V,CAAAA,CAAM,GAAGijB,CAAe,CAAA,CAAKF,CAAAA,CAE/DxP,EAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,EAAM,CAC3B,GAAG8c,EACH,GAAG5I,CAAAA,CACH,IAAAnK,CACD,CAAA,CAAA,CAEDuO,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,OAAQ+X,CAAAA,CAAW,MAAA,CACnB,QAAS,KACV,CAAA,EAEDnN,CAAAA,EAAWA,CAAAA,CAAQ,aAAeb,CAAAA,EAAOA,CAAAA,CAAI,OAASA,CAAAA,CAAI,KAAA,GAC5D,CAAA,CAEMgT,EAAAA,CAAoC,CACxC/c,CAAAA,CAIAiN,CAAAA,GAEAuD,EAAAA,CAAWxQ,CAAI,CAAA,CACXsY,CAAAA,CAAU,MAAM,SAAA,CAAU,CACxB,KAAO0E,CAAAA,EACL,QAAA,GAAYA,CAAAA,EACZhd,CAAAA,CACEkb,CAAAA,CAAU,MAAA,CAAWjO,CAAY,CAAA,CACjC+P,CAIC,EAEN,CAAA,CACD9B,CAAAA,CACElb,EACAiN,CAAAA,CACA,IAAI,CAAA,CAGNgQ,EAAAA,CAA2CxjB,CAAAA,EAC/C6e,CAAAA,CAAU,MAAM,SAAA,CAAU,CACxB,KACEpK,CAAAA,EAKE,CAEAsG,GAAsB/a,CAAAA,CAAM,IAAA,CAAMyU,EAAU,IAAA,CAAMzU,CAAAA,CAAM,KAAK,CAAA,EAC7D2a,EAAAA,CACElG,EACCzU,CAAAA,CAAM,SAAA,EAA+B6a,EACtC4I,EAAAA,CACAzjB,CAAAA,CAAM,YAAY,CAAA,EAGpBA,CAAAA,CAAM,QAAA,CAAS,CACb,MAAA,CAAQ,CAAE,GAAGwe,CAAW,CAAA,CACxB,GAAGF,CAAAA,CACH,GAAG7J,CAAAA,CACH,aAAA,CACE8J,CACH,CAAA,EAEL,CAAA,CACD,CAAA,CAAE,YAECmF,EAAAA,CAA6C1jB,CAAAA,GACjDye,EAAO,KAAA,CAAQ,IAAA,CACfG,CAAAA,CAA2B,CACzB,GAAGA,CAAAA,CACH,GAAG5e,CAAAA,CAAM,SAAA,CAAA,CAEJwjB,GAAW,CAChB,GAAGxjB,EACH,SAAA,CAAW4e,CACZ,CAAA,CAAA,CAAA,CAGG2C,EAAAA,CAA8C,CAAChb,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACzE,QAAWiE,CAAAA,IAAa7O,CAAAA,CAAO2P,EAAAA,CAAsB3P,CAAI,CAAA,CAAI0O,CAAAA,CAAO,MAClEA,CAAAA,CAAO,KAAA,CAAM,OAAOG,CAAS,CAAA,CAC7BH,EAAO,KAAA,CAAM,MAAA,CAAOG,CAAS,CAAA,CAExBjE,CAAAA,CAAQ,SAAA,GACXuG,EAAM0B,CAAAA,CAAShE,CAAS,EACxBsC,CAAAA,CAAM8G,CAAAA,CAAapJ,CAAS,CAAA,CAAA,CAG9B,CAACjE,CAAAA,CAAQ,SAAA,EAAauG,CAAAA,CAAM4G,CAAAA,CAAW,OAAQlJ,CAAS,CAAA,CACxD,CAACjE,CAAAA,CAAQ,SAAA,EAAauG,EAAM4G,CAAAA,CAAW,WAAA,CAAalJ,CAAS,CAAA,CAC7D,CAACjE,EAAQ,WAAA,EAAeuG,CAAAA,CAAM4G,EAAW,aAAA,CAAelJ,CAAS,EACjE,CAACjE,CAAAA,CAAQ,gBAAA,EACPuG,CAAAA,CAAM4G,CAAAA,CAAW,gBAAA,CAAkBlJ,CAAS,CAAA,CAC9C,CAACiJ,EAAS,gBAAA,EACR,CAAClN,EAAQ,gBAAA,EACTuG,CAAAA,CAAM6G,EAAgBnJ,CAAS,CAAA,CAGnCyJ,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQnM,CAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAEDK,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,GAAGP,CAAAA,CACH,GAAKnN,CAAAA,CAAQ,SAAA,CAAiB,CAAE,OAAA,CAAS6O,EAAAA,EAAW,CAAA,CAA3B,EAC1B,CAAA,CAAA,CAED,CAAC7O,CAAAA,CAAQ,WAAA,EAAe+N,IAC1B,CAAA,CAEMyE,EAAAA,CAAgE,CAAC,CACrE,QAAA,CAAA7W,EACA,IAAA,CAAAvG,CAAI,IACD,CAAA,CAEAmN,EAAAA,CAAU5G,CAAQ,CAAA,EAAK2R,CAAAA,CAAO,KAAA,EAC7B3R,CAAAA,EACFmI,CAAAA,CAAO,QAAA,CAAS,IAAI1O,CAAI,CAAA,IAExBuG,EAAWmI,CAAAA,CAAO,QAAA,CAAS,IAAI1O,CAAI,CAAA,CAAI0O,CAAAA,CAAO,QAAA,CAAS,MAAA,CAAO1O,CAAI,GAEtE,CAAA,CAEMqd,EAAAA,CAA0C,CAACrd,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACrE,IAAIoI,CAAAA,CAAQlG,CAAAA,CAAI+F,EAAS7S,CAAI,CAAA,CACvBsd,EACJnQ,EAAAA,CAAUvC,CAAAA,CAAQ,QAAQ,CAAA,EAAKuC,EAAAA,CAAU2K,CAAAA,CAAS,QAAQ,CAAA,CAE5D,OAAA1K,EAAIyF,CAAAA,CAAS7S,CAAAA,CAAM,CACjB,GAAIgT,CAAAA,EAAS,EAAA,CACb,EAAA,CAAI,CACF,GAAIA,CAAAA,EAASA,CAAAA,CAAM,GAAKA,CAAAA,CAAM,EAAA,CAAK,CAAE,GAAA,CAAK,CAAE,KAAAhT,CAAI,CAAE,CAAA,CAClD,IAAA,CAAAA,CAAAA,CACA,KAAA,CAAO,KACP,GAAG4K,CACJ,CACF,CAAA,CAAA,CACD8D,EAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,CAEjBgT,CAAAA,CACFoK,GAAkB,CAChB,QAAA,CAAUjQ,GAAUvC,CAAAA,CAAQ,QAAQ,EAChCA,CAAAA,CAAQ,QAAA,CACRkN,CAAAA,CAAS,QAAA,CACb,IAAA,CAAA9X,CACD,CAAA,CAAA,CAED4Z,CAAAA,CAAoB5Z,EAAM,IAAA,CAAM4K,CAAAA,CAAQ,KAAK,CAAA,CAGxC,CACL,GAAI0S,CAAAA,CACA,CAAE,QAAA,CAAU1S,EAAQ,QAAA,EAAYkN,CAAAA,CAAS,QAAQ,CAAA,CACjD,GACJ,GAAIA,CAAAA,CAAS,WAAA,CACT,CACE,QAAA,CAAU,CAAC,CAAClN,CAAAA,CAAQ,QAAA,CACpB,IAAKsI,EAAAA,CAAatI,CAAAA,CAAQ,GAAG,CAAA,CAC7B,GAAA,CAAKsI,GAAatI,CAAAA,CAAQ,GAAG,EAC7B,SAAA,CAAWsI,EAAAA,CAAqBtI,EAAQ,SAAS,CAAA,CACjD,UAAWsI,EAAAA,CAAatI,CAAAA,CAAQ,SAAS,CAAA,CACzC,OAAA,CAASsI,EAAAA,CAAatI,EAAQ,OAAO,CACtC,EACD,EAAA,CACJ,KAAA5K,CAAAA,CACA,QAAA,CAAAnH,GACA,MAAA,CAAQA,EAAAA,CACR,IAAMkR,CAAAA,EAAsC,CAC1C,GAAIA,CAAAA,CAAK,CACPsT,GAASrd,CAAAA,CAAM4K,CAAO,CAAA,CACtBoI,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEzB,IAAMud,EAAW9Q,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,CAAA,EAClCA,CAAAA,CAAI,kBACDA,CAAAA,CAAI,gBAAA,CAAiB,uBAAuB,CAAA,CAAE,CAAC,GAAaA,CAAAA,CAG7DyT,CAAAA,CAAkB3M,GAAkB0M,CAAQ,CAAA,CAC5C9H,CAAAA,CAAOzC,CAAAA,CAAM,EAAA,CAAG,IAAA,EAAQ,EAAA,CAE9B,GACEwK,EACI/H,CAAAA,CAAK,IAAA,CAAMzD,GAAgBA,CAAAA,GAAWuL,CAAQ,CAAA,CAC9CA,CAAAA,GAAavK,CAAAA,CAAM,EAAA,CAAG,IAE1B,OAGF5F,CAAAA,CAAIyF,EAAS7S,CAAAA,CAAM,CACjB,GAAI,CACF,GAAGgT,CAAAA,CAAM,EAAA,CACT,GAAIwK,CAAAA,CACA,CACE,IAAA,CAAM,CACJ,GAAG/H,CAAAA,CAAK,MAAA,CAAO3E,EAAI,CAAA,CACnByM,CAAAA,CACA,GAAI,KAAA,CAAM,OAAA,CAAQzQ,EAAIkL,CAAAA,CAAgBhY,CAAI,CAAC,CAAA,CAAI,CAAC,EAAE,CAAA,CAAI,EACvD,CAAA,CACD,GAAA,CAAK,CAAE,IAAA,CAAMud,CAAAA,CAAS,KAAM,IAAA,CAAAvd,CAAI,CACjC,CAAA,CACD,CAAE,GAAA,CAAKud,CAAQ,CACpB,CACF,CAAA,CAAA,CAED3D,CAAAA,CAAoB5Z,EAAM,KAAA,CAAO,MAAA,CAAWud,CAAQ,EACtD,CAAA,KACEvK,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAAA,CAAM,EAAE,CAAA,CAEzBgT,EAAM,EAAA,GACRA,CAAAA,CAAM,GAAG,KAAA,CAAQ,KAAA,CAAA,CAAA,CAGlB8E,EAAS,gBAAA,EAAoBlN,CAAAA,CAAQ,mBACpC,EAAEiB,EAAAA,CAAmB6C,EAAO,KAAA,CAAO1O,CAAI,GAAKkY,CAAAA,CAAO,MAAA,CAAA,EACnDxJ,CAAAA,CAAO,OAAA,CAAQ,GAAA,CAAI1O,CAAI,EAE7B,CAAA,CAEJ,CAAA,CAEMyd,GAAc,IAClB3F,CAAAA,CAAS,kBACThE,EAAAA,CAAsBjB,CAAAA,CAASwJ,EAAAA,CAAa3N,CAAAA,CAAO,KAAK,CAAA,CAEpDgP,GAAgBnX,CAAAA,EAAsB,CACtC4G,GAAU5G,CAAQ,CAAA,GACpB+R,EAAU,KAAA,CAAM,IAAA,CAAK,CAAE,QAAA,CAAA/R,CAAQ,CAAE,EACjCuN,EAAAA,CACEjB,CAAAA,CACA,CAAC9I,CAAAA,CAAK/J,CAAAA,GAAQ,CACZ,IAAMgU,CAAAA,CAAsBlH,EAAI+F,CAAAA,CAAS7S,CAAI,EACzCgU,CAAAA,GACFjK,CAAAA,CAAI,SAAWiK,CAAAA,CAAa,EAAA,CAAG,UAAYzN,CAAAA,CAEvC,KAAA,CAAM,OAAA,CAAQyN,CAAAA,CAAa,EAAA,CAAG,IAAI,GACpCA,CAAAA,CAAa,EAAA,CAAG,KAAK,OAAA,CAASmC,CAAAA,EAAY,CACxCA,CAAAA,CAAS,QAAA,CAAWnC,CAAAA,CAAa,EAAA,CAAG,QAAA,EAAYzN,EAClD,CAAC,CAAA,EAGP,CAAA,CACA,EACA,KAAK,CAAA,EAGX,EAEMoX,EAAAA,CACJ,CAACC,CAAAA,CAASC,CAAAA,GAAc,MAAOjX,CAAAA,EAAK,CAClC,IAAIkX,CAAAA,CACAlX,IACFA,CAAAA,CAAE,cAAA,EAAkBA,EAAE,cAAA,EAAc,CACnCA,EAA+B,OAAA,EAC7BA,CAAAA,CAA+B,SAAO,CAAA,CAE3C,IAAI2S,EAGwBpN,CAAAA,CAAY8L,CAAW,EAMnD,GAJAK,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,YAAA,CAAc,IACf,CAAA,CAAA,CAEGR,EAAS,QAAA,CAAU,CACrB,GAAM,CAAE,MAAA,CAAArI,CAAAA,CAAQ,MAAA,CAAAS,CAAM,CAAA,CAAK,MAAM4I,CAAAA,EAAU,CAC3Cf,EAAW,MAAA,CAAStI,CAAAA,CACpB8J,EAAcpN,CAAAA,CAAY+D,CAAM,EAClC,CAAA,KACE,MAAM6I,CAAAA,CAAyBlG,CAAO,CAAA,CAGxC,GAAInE,EAAO,QAAA,CAAS,IAAA,CAClB,QAAW1O,CAAAA,IAAQ0O,CAAAA,CAAO,SACxByC,CAAAA,CAAMoI,CAAAA,CAAavZ,CAAI,CAAA,CAM3B,GAFAmR,EAAM4G,CAAAA,CAAW,MAAA,CAAQ,MAAM,CAAA,CAE3BzH,CAAAA,CAAcyH,CAAAA,CAAW,MAAM,CAAA,CAAG,CACpCO,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQ,EACT,CAAA,CAAA,CACD,GAAI,CACF,MAAMsF,CAAAA,CAAQrE,EAAmC3S,CAAC,EACpD,OAASsN,CAAAA,CAAO,CACd4J,EAAe5J,EACjB,CACF,CAAA,KACM2J,CAAAA,EACF,MAAMA,CAAAA,CAAU,CAAE,GAAG9F,CAAAA,CAAW,MAAM,CAAA,CAAInR,CAAC,EAE7C6W,EAAAA,EAAW,CACX,WAAWA,EAAW,CAAA,CAUxB,GAPAnF,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,WAAA,CAAa,KACb,YAAA,CAAc,KAAA,CACd,kBAAA,CAAoBhI,CAAAA,CAAcyH,CAAAA,CAAW,MAAM,GAAK,CAAC+F,CAAAA,CACzD,YAAa/F,CAAAA,CAAW,WAAA,CAAc,EACtC,MAAA,CAAQA,CAAAA,CAAW,MACpB,CAAA,CAAA,CACG+F,CAAAA,CACF,MAAMA,CAEV,CAAA,CAEIC,GAA8C,CAAC/d,CAAAA,CAAM4K,EAAU,EAAA,GAAM,CACrEkC,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,IACfyM,CAAAA,CAAY7B,CAAAA,CAAQ,YAAY,CAAA,CAClC8Q,EAAAA,CAAS1b,EAAMmM,CAAAA,CAAYW,CAAAA,CAAIkL,EAAgBhY,CAAI,CAAC,CAAC,CAAA,EAErD0b,EAAAA,CACE1b,EACA4K,CAAAA,CAAQ,YAA2D,EAErEwC,CAAAA,CAAI4K,CAAAA,CAAgBhY,CAAAA,CAAMmM,CAAAA,CAAYvB,CAAAA,CAAQ,YAAY,CAAC,CAAA,CAAA,CAGxDA,CAAAA,CAAQ,aACXuG,CAAAA,CAAM4G,CAAAA,CAAW,cAAe/X,CAAI,CAAA,CAGjC4K,EAAQ,SAAA,GACXuG,CAAAA,CAAM4G,EAAW,WAAA,CAAa/X,CAAI,EAClC+X,CAAAA,CAAW,OAAA,CAAUnN,EAAQ,YAAA,CACzB6O,EAAAA,CAAUzZ,CAAAA,CAAMmM,CAAAA,CAAYW,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,CAAC,CAAC,EACtDyZ,EAAAA,EAAS,CAAA,CAGV7O,EAAQ,SAAA,GACXuG,CAAAA,CAAM4G,EAAW,MAAA,CAAQ/X,CAAI,EAC7BsU,CAAAA,CAAgB,OAAA,EAAWqE,GAAS,CAAA,CAGtCL,CAAAA,CAAU,MAAM,IAAA,CAAK,CAAE,GAAGP,CAAU,CAAE,CAAA,EAE1C,EAEMiG,EAAAA,CAAqC,CACzCrP,EACAsP,CAAAA,CAAmB,KACjB,CACF,IAAMC,CAAAA,CAAgBvP,CAAAA,CAAaxC,CAAAA,CAAYwC,CAAU,EAAIqJ,CAAAA,CACvDmG,CAAAA,CAAqBhS,EAAY+R,CAAa,CAAA,CAC9CE,EAAqB9N,CAAAA,CAAc3B,CAAU,CAAA,CAC7CuB,CAAAA,CAASkO,CAAAA,CAAqBpG,CAAAA,CAAiBmG,EAMrD,GAJKF,CAAAA,CAAiB,oBACpBjG,CAAAA,CAAiBkG,CAAAA,CAAAA,CAGf,CAACD,CAAAA,CAAiB,UAAA,CAAY,CAChC,GAAIA,CAAAA,CAAiB,gBAAiB,CACpC,IAAMI,EAAgB,IAAI,GAAA,CAAI,CAC5B,GAAG3P,CAAAA,CAAO,KAAA,CACV,GAAG,MAAA,CAAO,IAAA,CAAKgD,GAAesG,CAAAA,CAAgBC,CAAW,CAAC,CAC3D,CAAA,EACD,IAAA,IAAWpJ,CAAAA,IAAa,KAAA,CAAM,IAAA,CAAKwP,CAAa,CAAA,CAC9CvR,EAAIiL,CAAAA,CAAW,WAAA,CAAalJ,CAAS,CAAA,CACjCzB,CAAAA,CAAI8C,EAAQrB,CAAAA,CAAW/B,CAAAA,CAAImL,CAAAA,CAAapJ,CAAS,CAAC,CAAA,CAClD6M,GACE7M,CAAAA,CACA/B,CAAAA,CAAIoD,EAAQrB,CAAS,CAAC,EAGhC,CAAA,KAAO,CACL,GAAI3C,EAAAA,EAASO,CAAAA,CAAYkC,CAAU,CAAA,CACjC,IAAA,IAAW3O,KAAQ0O,CAAAA,CAAO,KAAA,CAAO,CAC/B,IAAMsE,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAC/B,GAAIgT,CAAAA,EAASA,CAAAA,CAAM,GAAI,CACrB,IAAMQ,EAAiB,KAAA,CAAM,OAAA,CAAQR,CAAAA,CAAM,EAAA,CAAG,IAAI,CAAA,CAC9CA,EAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA,CACfA,CAAAA,CAAM,GAAG,GAAA,CAEb,GAAIvC,EAAAA,CAAc+C,CAAc,CAAA,CAAG,CACjC,IAAM8K,EAAAA,CAAO9K,CAAAA,CAAe,QAAQ,MAAM,CAAA,CAC1C,GAAI8K,EAAAA,CAAM,CACRA,GAAK,KAAA,EAAK,CACV,KACF,CACF,CACF,CACF,CAGF,GAAIL,EAAiB,aAAA,CACnB,IAAA,IAAWpP,CAAAA,IAAaH,CAAAA,CAAO,KAAA,CAC7BgN,EAAAA,CACE7M,EACA/B,CAAAA,CAAIoD,CAAAA,CAAQrB,CAAS,CAAC,CAAA,CAAA,KAI1BgE,EAAU,GAEd,CAEAoF,CAAAA,CAAcH,CAAAA,CAAS,iBACnBmG,CAAAA,CAAiB,iBAAA,CACd9R,EAAY6L,CAAc,CAAA,CAC1B,EAAA,CACF7L,CAAAA,CAAY+D,CAAM,CAAA,CAEvBoI,CAAAA,CAAU,KAAA,CAAM,KAAK,CACnB,MAAA,CAAQ,CAAE,GAAGpI,CAAM,CACpB,CAAA,CAAA,CAEDoI,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQ,CAAE,GAAGpI,CAAM,CACpB,CAAA,EACH,CAEAxB,CAAAA,CAAS,CACP,KAAA,CAAOuP,CAAAA,CAAiB,gBAAkBvP,CAAAA,CAAO,KAAA,CAAQ,IAAI,GAAA,CAC7D,OAAA,CAAS,IAAI,GAAA,CACb,KAAA,CAAO,IAAI,GAAA,CACX,QAAA,CAAU,IAAI,IACd,KAAA,CAAO,IAAI,IACX,QAAA,CAAU,KAAA,CACV,MAAO,EAAA,CAAA,CAGTwJ,CAAAA,CAAO,KAAA,CACL,CAAC5D,CAAAA,CAAgB,OAAA,EACjB,CAAC,CAAC2J,CAAAA,CAAiB,aACnB,CAAC,CAACA,EAAiB,eAAA,EAClB,CAACnG,EAAS,gBAAA,EAAoB,CAACxH,EAAcJ,CAAM,CAAA,CAEtDgI,EAAO,KAAA,CAAQ,CAAC,CAACJ,CAAAA,CAAS,gBAAA,CAC1BI,CAAAA,CAAO,MAAA,CAAS,KAAA,CAKX+F,CAAAA,CAAiB,aACpBlG,CAAAA,CAAW,MAAA,CAAS,EAAA,CAAA,CAGtBO,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,WAAA,CAAa2F,CAAAA,CAAiB,eAAA,CAC1BlG,CAAAA,CAAW,YACX,CAAA,CACJ,OAAA,CAASqG,EACL,KAAA,CACAH,CAAAA,CAAiB,UACflG,CAAAA,CAAW,OAAA,CACX,CAAC,EACCkG,CAAAA,CAAiB,iBAAA,EACjB,CAAClP,EAAAA,CAAUJ,CAAAA,CAAYqJ,CAAc,CAAA,CAAA,CAE7C,WAAA,CAAaiG,EAAiB,eAAA,CAC1BlG,CAAAA,CAAW,YACX,KAAA,CACJ,WAAA,CAAaqG,EACT,EAAA,CACAH,EAAiB,eAAA,CACfA,CAAAA,CAAiB,mBAAqBhG,CAAAA,CACpCvG,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CAC1CF,CAAAA,CAAW,YACbkG,CAAAA,CAAiB,iBAAA,EAAqBtP,EACpC+C,EAAAA,CAAesG,CAAAA,CAAgBrJ,CAAU,CAAA,CACzCsP,CAAAA,CAAiB,SAAA,CACflG,CAAAA,CAAW,WAAA,CACX,GACV,aAAA,CAAekG,CAAAA,CAAiB,YAC5BlG,CAAAA,CAAW,aAAA,CACX,EAAA,CACJ,MAAA,CAAQkG,CAAAA,CAAiB,UAAA,CAAalG,CAAAA,CAAW,MAAA,CAAS,EAAA,CAC1D,kBAAA,CAAoBkG,EAAiB,sBAAA,CACjClG,CAAAA,CAAW,mBACX,KAAA,CACJ,YAAA,CAAc,MACd,aAAA,CAAeC,CAChB,CAAA,EACH,CAAA,CAEMuG,GAAoC,CAAC5P,CAAAA,CAAYsP,IACrDD,EAAAA,CACExN,EAAAA,CAAW7B,CAAU,CAAA,CAChBA,CAAAA,CAAwBsJ,CAA2B,EACpDtJ,CAAAA,CACJsP,CAAgB,EAGdO,EAAAA,CAA0C,CAACxe,EAAM4K,CAAAA,CAAU,KAAM,CACrE,IAAMoI,EAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CACzBwT,CAAAA,CAAiBR,GAASA,CAAAA,CAAM,EAAA,CAEtC,GAAIQ,CAAAA,CAAgB,CAClB,IAAM+J,EAAW/J,CAAAA,CAAe,IAAA,CAC5BA,EAAe,IAAA,CAAK,CAAC,EACrBA,CAAAA,CAAe,GAAA,CAEf+J,EAAS,KAAA,GACXA,CAAAA,CAAS,OAAK,CACd3S,CAAAA,CAAQ,cACN4F,EAAAA,CAAW+M,CAAAA,CAAS,MAAM,CAAA,EAC1BA,CAAAA,CAAS,MAAA,EAAM,EAErB,CACF,CAAA,CAEML,GACJzC,CAAAA,EACE,CACF1C,EAAa,CACX,GAAGA,EACH,GAAG0C,CAAAA,EAEP,CAAA,CAWMgE,EAAAA,CAAU,CACd,OAAA,CAAS,CACP,QAAA,CAAApB,EAAAA,CACA,WAAArC,EAAAA,CACA,aAAA,CAAAwB,GACA,YAAA,CAAAmB,EAAAA,CACA,QAAA,CAAAhB,EAAAA,CACA,UAAA,CAAAM,EAAAA,CACA,WAAAnE,CAAAA,CACA,WAAA,CAAA2E,GACA,SAAA,CAAAvC,CAAAA,CACA,UAAAzB,EAAAA,CACA,SAAA,CAAAd,EACA,cAAA,CAAAO,CAAAA,CACA,kBAAAkE,EAAAA,CACA,UAAA,CAAAzD,EACA,cAAA,CAAAwB,CAAAA,CACA,OAAA6C,EAAAA,CACA,mBAAA,CA3BwB,IAC1BxN,EAAAA,CAAWsH,CAAAA,CAAS,aAAa,GAChCA,CAAAA,CAAS,aAAA,GAA6B,IAAA,CAAM5H,CAAAA,EAAwB,CACnEqO,EAAAA,CAAMrO,CAAAA,CAAQ4H,CAAAA,CAAS,YAAY,CAAA,CACnCQ,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,UAAW,KACZ,CAAA,EACH,CAAC,CAAA,CAqBC,gBAAA,CAAAyC,EAAAA,CACA,YAAA,CAAA2C,EAAAA,CACA,UAAApF,CAAAA,CACA,eAAA,CAAAhE,EACA,IAAI,OAAA,EAAO,CACT,OAAOzB,CACT,EACA,IAAI,WAAA,EAAW,CACb,OAAOoF,CACT,EACA,IAAI,MAAA,EAAM,CACR,OAAOC,CACT,CAAA,CACA,IAAI,MAAA,CAAOxb,CAAAA,CAAK,CACdwb,CAAAA,CAASxb,EACX,EACA,IAAI,cAAA,EAAc,CAChB,OAAOsb,CACT,CAAA,CACA,IAAI,MAAA,EAAM,CACR,OAAOtJ,CACT,CAAA,CACA,IAAI,MAAA,CAAOhS,CAAAA,CAAK,CACdgS,CAAAA,CAAShS,EACX,CAAA,CACA,IAAI,UAAA,EAAU,CACZ,OAAOqb,CACT,CAAA,CACA,IAAI,QAAA,EAAQ,CACV,OAAOD,CACT,CAAA,CACA,IAAI,QAAA,CAASpb,CAAAA,CAAK,CAChBob,CAAAA,CAAW,CACT,GAAGA,CAAAA,CACH,GAAGpb,GAEP,CACD,CAAA,CACD,SAAA,CAAAygB,EAAAA,CACA,OAAA,CAAA5B,EAAAA,CACA,SAAA8B,EAAAA,CACA,YAAA,CAAAM,GACA,KAAA,CAAAZ,EAAAA,CACA,SAAArB,EAAAA,CACA,SAAA,CAAAT,EAAAA,CACA,KAAA,CAAAsD,EAAAA,CACA,UAAA,CAAAR,GACA,WAAA,CAAAtB,EAAAA,CACA,WAAAzB,EAAAA,CACA,QAAA,CAAA2B,GACA,QAAA,CAAA6B,EAAAA,CACA,aAAA,CAAAhC,EAAAA,CAAAA,CAGF,OAAO,CACL,GAAGiC,EAAAA,CACH,WAAA,CAAaA,GAEjB,CCxgDM,SAAUC,GAKdjlB,CAAAA,CAAkE,GAAE,CAEpE,IAAMklB,EAAe5Q,qBAAAA,CAAM,MAAA,CAEzB,MAAS,CAAA,CACL6Q,CAAAA,CAAU7Q,sBAAM,MAAA,CAA4B,MAAS,CAAA,CACrD,CAACG,CAAAA,CAAWqG,CAAe,EAAIxG,qBAAAA,CAAM,QAAA,CAAkC,CAC3E,OAAA,CAAS,KAAA,CACT,aAAc,KAAA,CACd,SAAA,CAAWyC,EAAAA,CAAW/W,CAAAA,CAAM,aAAa,CAAA,CACzC,YAAa,KAAA,CACb,YAAA,CAAc,MACd,kBAAA,CAAoB,KAAA,CACpB,QAAS,KAAA,CACT,WAAA,CAAa,CAAA,CACb,WAAA,CAAa,EAAA,CACb,cAAe,EAAA,CACf,iBAAkB,EAAA,CAClB,OAAQA,CAAAA,CAAM,MAAA,EAAU,EAAA,CACxB,QAAA,CAAUA,EAAM,QAAA,EAAY,KAAA,CAC5B,QAAS,KAAA,CACT,aAAA,CAAe+W,GAAW/W,CAAAA,CAAM,aAAa,CAAA,CACzC,MAAA,CACAA,CAAAA,CAAM,aACX,CAAA,CAAA,CAED,GAAI,CAACklB,CAAAA,CAAa,OAAA,CAChB,GAAIllB,CAAAA,CAAM,WAAA,CACRklB,CAAAA,CAAa,OAAA,CAAU,CACrB,GAAGllB,EAAM,WAAA,CACT,SAAA,CAAAyU,GAGEzU,CAAAA,CAAM,aAAA,EAAiB,CAAC+W,EAAAA,CAAW/W,CAAAA,CAAM,aAAa,CAAA,EACxDA,CAAAA,CAAM,WAAA,CAAY,MAAMA,CAAAA,CAAM,aAAA,CAAeA,EAAM,YAAY,CAAA,CAAA,KAE5D,CACL,GAAM,CAAE,YAAAolB,CAAAA,CAAa,GAAGtc,CAAI,CAAA,CAAKsV,EAAAA,CAAkBpe,CAAK,CAAA,CAExDklB,CAAAA,CAAa,QAAU,CACrB,GAAGpc,CAAAA,CACH,SAAA,CAAA2L,CAAAA,EAEJ,CAGF,IAAMC,CAAAA,CAAUwQ,CAAAA,CAAa,QAAQ,OAAA,CACrC,OAAAxQ,EAAQ,QAAA,CAAW1U,CAAAA,CAEnB8U,EAAAA,CAA0B,IAAK,CAC7B,IAAMuQ,EAAM3Q,CAAAA,CAAQ,UAAA,CAAW,CAC7B,SAAA,CAAWA,CAAAA,CAAQ,gBACnB,QAAA,CAAU,IAAMoG,CAAAA,CAAgB,CAAE,GAAGpG,CAAAA,CAAQ,UAAU,CAAE,CAAA,CACzD,aAAc,IACf,CAAA,EAED,OAAAoG,CAAAA,CAAiBrS,IAAU,CACzB,GAAGA,EACH,OAAA,CAAS,IACV,EAAC,CAAA,CAEFiM,CAAAA,CAAQ,WAAW,OAAA,CAAU,IAAA,CAEtB2Q,CACT,CAAA,CAAG,CAAC3Q,CAAO,CAAC,CAAA,CAEZJ,qBAAAA,CAAM,UACJ,IAAMI,CAAAA,CAAQ,aAAa1U,CAAAA,CAAM,QAAQ,EACzC,CAAC0U,CAAAA,CAAS1U,EAAM,QAAQ,CAAC,EAG3BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACftU,CAAAA,CAAM,IAAA,GACR0U,CAAAA,CAAQ,QAAA,CAAS,IAAA,CAAO1U,EAAM,IAAA,CAAA,CAE5BA,CAAAA,CAAM,iBACR0U,CAAAA,CAAQ,QAAA,CAAS,eAAiB1U,CAAAA,CAAM,cAAA,EAE5C,EAAG,CAAC0U,CAAAA,CAAS1U,EAAM,IAAA,CAAMA,CAAAA,CAAM,cAAc,CAAC,CAAA,CAE9CsU,sBAAM,SAAA,CAAU,IAAK,CACftU,CAAAA,CAAM,MAAA,GACR0U,CAAAA,CAAQ,WAAW1U,CAAAA,CAAM,MAAM,EAC/B0U,CAAAA,CAAQ,WAAA,IAEZ,CAAA,CAAG,CAACA,CAAAA,CAAS1U,CAAAA,CAAM,MAAM,CAAC,EAE1BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACnBtU,CAAAA,CAAM,kBACJ0U,CAAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAC3B,MAAA,CAAQA,EAAQ,SAAA,EACjB,CAAA,EACL,CAAA,CAAG,CAACA,CAAAA,CAAS1U,CAAAA,CAAM,gBAAgB,CAAC,CAAA,CAEpCsU,sBAAM,SAAA,CAAU,IAAK,CACnB,GAAII,CAAAA,CAAQ,gBAAgB,OAAA,CAAS,CACnC,IAAM4Q,CAAAA,CAAU5Q,CAAAA,CAAQ,SAAA,GACpB4Q,CAAAA,GAAY7Q,CAAAA,CAAU,SACxBC,CAAAA,CAAQ,SAAA,CAAU,MAAM,IAAA,CAAK,CAC3B,OAAA,CAAA4Q,CACD,CAAA,EAEL,CACF,CAAA,CAAG,CAAC5Q,EAASD,CAAAA,CAAU,OAAO,CAAC,CAAA,CAE/BH,qBAAAA,CAAM,SAAA,CAAU,IAAK,CAAA,IAAA,CAAA,CACftU,CAAAA,CAAM,QAAU,CAACsV,EAAAA,CAAUtV,EAAM,MAAA,CAAQmlB,CAAAA,CAAQ,OAAO,CAAA,EAC1DzQ,CAAAA,CAAQ,OAAO1U,CAAAA,CAAM,MAAA,CAAQ,CAC3B,aAAA,CAAe,IAAA,CACf,GAAG0U,CAAAA,CAAQ,QAAA,CAAS,YACrB,CAAA,CAAA,CACI,EAAA,CAAA6Q,CAAAA,CAAA7Q,CAAAA,CAAQ,QAAA,CAAS,gBAAY,IAAA,EAAA6Q,CAAAA,GAAA,SAAAA,CAAAA,CAAE,WAAA,EAClC7Q,EAAQ,SAAA,EAAS,CAEnByQ,CAAAA,CAAQ,OAAA,CAAUnlB,CAAAA,CAAM,MAAA,CACxB8a,EAAiBxX,CAAAA,GAAW,CAAE,GAAGA,CAAK,CAAA,CAAG,GAEzCoR,CAAAA,CAAQ,mBAAA,GAEZ,CAAA,CAAG,CAACA,CAAAA,CAAS1U,EAAM,MAAM,CAAC,EAE1BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACdI,CAAAA,CAAQ,OAAO,KAAA,GAClBA,CAAAA,CAAQ,WAAS,CACjBA,CAAAA,CAAQ,OAAO,KAAA,CAAQ,IAAA,CAAA,CAGrBA,EAAQ,MAAA,CAAO,KAAA,GACjBA,CAAAA,CAAQ,MAAA,CAAO,KAAA,CAAQ,KAAA,CACvBA,EAAQ,SAAA,CAAU,KAAA,CAAM,KAAK,CAAE,GAAGA,EAAQ,UAAU,CAAE,GAGxDA,CAAAA,CAAQ,gBAAA,GACV,CAAC,CAAA,CAEDwQ,EAAa,OAAA,CAAQ,SAAA,CAAY1Q,GAAkBC,CAAAA,CAAWC,CAAO,CAAA,CAE9DwQ,CAAAA,CAAa,OACtB,CCnLA,SAASM,EAAAA,CAAM,CACb,UAAA5lB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAqD,CACnD,OACEC,cAAAA,CAAgBwlB,aAAA,CAAA,IAAA,CAAf,CACC,WAAA,CAAU,OAAA,CACV,SAAA,CAAWpmB,CAAAA,CACT,qNAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CCbA,SAAS0lB,GAAS,CAChB,SAAA,CAAA9lB,EACA,GAAGI,CACL,CAAA,CAAwD,CACtD,OACEC,cAAAA,CAAmB0lB,mBAAlB,CACC,WAAA,CAAU,WACV,SAAA,CAAWtmB,CAAAA,CACT,8eACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEJ,QAAA,CAAAC,eAAmB0lB,aAAA,CAAA,SAAA,CAAlB,CACC,YAAU,oBAAA,CACV,SAAA,CAAU,yDAEV,QAAA,CAAA1lB,cAAAA,CAAC2lB,qBAAAA,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,EAClC,CAAA,CACF,CAEJ,CCzBA,SAASC,EAAAA,CAAK,CAAE,SAAA,CAAAjmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAClE,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,YAAU,MAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,mFAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS8lB,EAAAA,CAAW,CAAE,SAAA,CAAAlmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CACxE,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,aAAA,CACV,UAAWZ,CAAAA,CACT,0JAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS+lB,GAAU,CAAE,SAAA,CAAAnmB,EAAW,GAAGI,CAAM,CAAA,CAAgC,CACvE,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,YAAA,CACV,UAAWZ,CAAAA,CAAG,4BAAA,CAA8BO,CAAS,CAAA,CACpD,GAAGI,CAAAA,CACN,CAEJ,CAyBA,SAASgmB,GAAY,CAAE,SAAA,CAAApmB,EAAW,GAAGI,CAAM,EAAgC,CACzE,OACEC,eAAC,KAAA,CAAA,CACC,WAAA,CAAU,eACV,SAAA,CAAWZ,CAAAA,CAAG,OAAQO,CAAS,CAAA,CAC9B,GAAGI,CAAAA,CACN,CAEJ,CC7CO,IAAMimB,EAAAA,CAAkC,CAAC,CAC9C,SAAA,CAAAC,EACA,YAAA,CAAAC,CAAAA,CACA,mBAAAC,CAAAA,CACA,UAAA,CAAAC,EACA,YAAA,CAAAlc,CAAAA,CACA,aAAAD,CAAAA,CACA,aAAA,CAAAoc,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAA/b,EACA,QAAA,CAAAgc,CAAAA,CACA,kBAAAC,CACF,CAAA,GAAM,CACJ,GAAM,CAAE,SAAAC,CAAAA,CAAU,GAAGC,CAAa,CAAA,CAAIJ,CAAAA,EAAa,EAAC,CAE9C,CAAE,OAAQK,CAAM,CAAA,CAAIC,aAAAA,EAAyB,CAC7Cpc,CAAAA,CAAYC,iBAAAA,GACZhF,CAAAA,CAAOC,YAAAA,GACPqf,CAAAA,CAAUC,EAAAA,CAAwB,CACtC,GAAG0B,CACL,CAAC,CAAA,CACK,CACJ,QAAA,CAAA/C,EACA,YAAA,CAAAM,CAAAA,CACA,UAAW,CAAE,MAAA,CAAAlO,CAAO,CACtB,CAAA,CAAIgP,CAAAA,CAEE8B,CAAAA,CAAkB,IAClBZ,CAAAA,EAAaA,EAAU,MAAA,CAAS,CAAA,CAEhCllB,gBAAAgE,mBAAAA,CAAA,CACE,UAAA/E,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,qBAAA,CACZ,QAAA,CAAAimB,EAAU,GAAA,CAAKa,CAAAA,EACd/lB,gBAACrB,CAAAA,CAAA,CAEC,QAAQ,SAAA,CACR,SAAA,CAAU,QAAA,CACV,OAAA,CAAS,IACPinB,CAAAA,CAAM,CACJ,GAAGH,CAAAA,CACH,aAAcM,CAAAA,CAAS,IACzB,CAAC,CAAA,CAGF,QAAA,CAAA,CAAAA,CAAAA,EAAU,IAAA,CACVA,CAAAA,CAAS,KAAA,EAAS9mB,eAAC,MAAA,CAAA,CAAM,QAAA,CAAA8mB,EAAS,KAAA,CAAM,CAAA,CAAA,CAAA,CAXpCA,EAAS,IAYhB,CACD,CAAA,CACH,CAAA,CACC,CAACP,CAAAA,EAAYvmB,eAACI,EAAAA,CAAA,CAAU,UAAU,MAAA,CAAO,CAAA,CAAA,CAC5C,EAGG,IAAA,CAGH2mB,CAAAA,CACJxc,IAAU,KAAA,CAAQ,IAAA,CAChBvK,eAAC,KAAA,CAAA,CAAI,SAAA,CAAU,mCACZ,QAAA,CAAAuK,CAAAA,EAASvK,eAACgF,EAAAA,CAAA,CAAY,SAAA,CAAW,KAAA,CAAO,CAAA,CAC3C,CAAA,CAGEgiB,GACJjmB,eAAAA,CAAC6kB,EAAAA,CAAA,CACC,SAAA,CAAWxmB,CAAAA,CAAG,kBAAmB8K,CAAAA,EAAc,SAAS,CAAA,CACvD,GAAGA,CAAAA,CAEJ,QAAA,CAAA,CAAAlK,eAAC6lB,EAAAA,CAAA,CACC,SAAA7lB,cAAAA,CAAC8lB,EAAAA,CAAA,CAAU,SAAA,CAAU,sBAAA,CAClB,QAAA,CAAAtb,CAAAA,CAAU,mBAAA,CAAqB,yBAAyB,EAC3D,CAAA,CACF,CAAA,CACAzJ,gBAACglB,EAAAA,CAAA,CACE,UAAAc,CAAAA,EAAgB,CAChB,CAACN,CAAAA,EACAvmB,cAAAA,CAAC,QACC,QAAA,CAAUikB,CAAAA,CAAczb,GAClBie,CAAAA,CACKA,CAAAA,CAASje,CAAI,CAAA,CAGfme,CAAAA,CAAM,CAAE,GAAGH,CAAAA,CAAmB,GAAGhe,CAAK,CAAC,CAC/C,EAED,QAAA,CAAAzH,eAAAA,CAAC,OAAI,SAAA,CAAU,WAAA,CACb,QAAA,CAAA,CAAAA,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,YACb,QAAA,CAAA,CAAAf,cAAAA,CAACulB,GAAA,CAAM,OAAA,CAAQ,QACZ,QAAA,CAAA/a,CAAAA,CAAU,0BAAA,CAA4B,OAAO,CAAA,CAChD,CAAA,CACAxK,eAACE,EAAAA,CAAA,CACC,GAAG,OAAA,CACH,YAAA,CAAa,QACb,WAAA,CAAY,OAAA,CACZ,KAAK,MAAA,CACL,cAAA,CAAc,CAAC,CAAC6V,CAAAA,EAAQ,MACvB,GAAG4N,CAAAA,CAAS,QAAS,CACpB,QAAA,CAAUnZ,CAAAA,CACR,kCAAA,CACA,mBACF,CAAA,CACA,QAAS,CACP,KAAA,CAAO,2CACP,OAAA,CAASA,CAAAA,CACP,gCACA,uBACF,CACF,CACF,CAAC,CAAA,CACH,CAAA,CACCuL,EAAO,KAAA,EACN/V,cAAAA,CAAC,KAAE,SAAA,CAAU,0BAAA,CACV,SAAA+V,CAAAA,CAAO,KAAA,CAAM,OAAA,CAChB,CAAA,CAAA,CAEJ,CAAA,CAEAhV,eAAAA,CAAC,OAAI,SAAA,CAAU,WAAA,CACb,UAAAf,cAAAA,CAACulB,EAAAA,CAAA,CAAM,OAAA,CAAQ,UAAA,CACZ,SAAA/a,CAAAA,CAAU,6BAAA,CAA+B,UAAU,CAAA,CACtD,CAAA,CACAxK,eAACE,EAAAA,CAAA,CACC,GAAG,UAAA,CACH,IAAA,CAAK,UAAA,CACL,YAAA,CAAa,kBAAA,CACb,WAAA,CAAY,WACZ,cAAA,CAAc,CAAC,CAAC6V,CAAAA,EAAQ,QAAA,CACvB,GAAG4N,CAAAA,CAAS,UAAA,CAAY,CACvB,QAAA,CAAUnZ,CAAAA,CACR,qCAAA,CACA,sBACF,CACF,CAAC,EACH,CAAA,CACCuL,CAAAA,CAAO,UACN/V,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAU,0BAAA,CACV,QAAA,CAAA+V,CAAAA,CAAO,SAAS,OAAA,CACnB,CAAA,CAAA,CAEJ,EAECqQ,CAAAA,EACCrlB,eAAAA,CAAC,OAAI,SAAA,CAAU,6BAAA,CACb,UAAAf,cAAAA,CAACylB,EAAAA,CAAA,CAAS,EAAA,CAAG,UAAA,CAAY,GAAG9B,CAAAA,CAAS,UAAU,EAAG,CAAA,CAClD3jB,cAAAA,CAACulB,EAAAA,CAAA,CACC,OAAA,CAAQ,UAAA,CACR,UAAU,4BAAA,CAET,QAAA,CAAA/a,EAAU,gCAAA,CAAkC,aAAa,EAC5D,CAAA,CAAA,CACF,CAAA,CAGFxK,cAAAA,CAACN,CAAAA,CAAA,CAAO,IAAA,CAAK,SAAS,SAAA,CAAU,QAAA,CAC7B,SAAA8K,CAAAA,CAAU,oBAAA,CAAsB,SAAS,CAAA,CAC5C,CAAA,CAEAzJ,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,2CAAA,CACZ,UAAAolB,CAAAA,EACCnmB,cAAAA,CAACyF,EAAA,CACC,EAAA,CAAG,mBACH,SAAA,CAAU,8BAAA,CAET,SAAA+E,CAAAA,CACC,oCAAA,CACA,kBACF,CAAA,CACF,CAAA,CAED0b,GACCnlB,eAAAA,CAAC,KAAA,CAAA,CACC,UAAAA,eAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,uBAAA,CACb,QAAA,CAAA,CAAAyJ,CAAAA,CACC,gCACA,wBACF,CAAA,CAAG,KACL,CAAA,CACAxK,cAAAA,CAACyF,EAAA,CACC,EAAA,CAAG,YACH,SAAA,CAAU,wCAAA,CAET,SAAA+E,CAAAA,CAAU,sBAAA,CAAwB,SAAS,CAAA,CAC9C,CAAA,CAAA,CACF,GAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAGD+b,CAAAA,EAAYL,CAAAA,GAAiB,KAAA,EAC5BnlB,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,2BACb,QAAA,CAAA,CAAAA,eAAAA,CAAC,QAAK,SAAA,CAAU,uBAAA,CACb,UAAAyJ,CAAAA,CACC,+BAAA,CACA,wBACF,CAAA,CAAG,GAAA,CAAA,CACL,EACAxK,cAAAA,CAACyF,CAAAA,CAAA,CACC,EAAA,CAAG,WAAA,CACH,SAAA,CAAU,wCAAA,CAET,QAAA,CAAA+E,CAAAA,CAAU,uBAAwB,SAAS,CAAA,CAC9C,GACF,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,EAGF,OACExK,cAAAA,CAACsU,EAAAA,CAAA,CAAc,GAAGyQ,CAAAA,CAChB,SAAA/kB,cAAAA,CAAC,KAAA,CAAA,CACC,UAAWZ,CAAAA,CACT,sDAAA,CACAmnB,EAAW,0BAAA,CAA6B,qBAC1C,CAAA,CACC,GAAGtc,CAAAA,CAEH,QAAA,CAAAoc,EACCA,CAAAA,CAAcW,EAAAA,CAASD,CAAS,CAAA,CAEhChmB,eAAAA,CAAAgE,oBAAA,CACG,QAAA,CAAA,CAAAgiB,EACAC,EAAAA,CAAAA,CACH,CAAA,CAEJ,EACF,CAEJ,CAAA,CCxOO,IAAMC,EAAAA,CAAiClnB,CAAAA,EAAU,CACtD,GAAM,CAAE,IAAA,CAAAI,CAAK,CAAA,CAAIJ,CAAAA,CAcjB,OAAOC,cAAAA,CAAA+E,mBAAAA,CAAA,CAAG,QAAA,CAJG/E,cAAAA,CAACgmB,EAAAA,CAAA,CAAW,GAAGjmB,CAAAA,CAAO,EAIZ,CACzB,EC/BA,SAASyL,GAAW,CAAE,GAAGzL,CAAM,CAAA,CAAoB,CACjD,OAAOC,cAAAA,CAAC,KAAA,CAAA,CAAI,aAAW,YAAA,CAAa,WAAA,CAAU,YAAA,CAAc,GAAGD,CAAAA,CAAO,CACxE,CAEA,SAASmnB,EAAAA,CAAe,CAAE,SAAA,CAAAvnB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,YAAU,iBAAA,CACV,SAAA,CAAWZ,EACT,0FAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASonB,EAAAA,CAAe,CAAE,SAAA,CAAAxnB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,cAAAA,CAAC,MACC,WAAA,CAAU,iBAAA,CACV,UAAWZ,CAAAA,CAAG,kCAAA,CAAoCO,CAAS,CAAA,CAC1D,GAAGI,EACN,CAEJ,CAEA,SAASqnB,EAAAA,CAAe,CACtB,OAAA,CAAAtnB,EACA,SAAA,CAAAH,CAAAA,CACA,GAAGI,CACL,CAAA,CAEG,CAGD,OACEC,cAAAA,CAHWF,CAAAA,CAAUG,cAAAA,CAAO,GAAA,CAG3B,CACC,YAAU,iBAAA,CACV,SAAA,CAAWb,EAAG,yCAAA,CAA2CO,CAAS,EACjE,GAAGI,CAAAA,CACN,CAEJ,CAeA,SAASsnB,EAAAA,CAAoB,CAC3B,QAAA,CAAAxmB,CAAAA,CACA,UAAAlB,CAAAA,CACA,GAAGI,CACL,CAAA,CAA+B,CAC7B,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,YAAU,sBAAA,CACV,IAAA,CAAK,eACL,aAAA,CAAY,MAAA,CACZ,UAAWZ,CAAAA,CAAG,kBAAA,CAAoBO,CAAS,CAAA,CAC1C,GAAGI,CAAAA,CAEH,SAAAc,CAAAA,EAAYb,cAAAA,CAAC6G,yBAAA,EAAa,CAAA,CAC7B,CAEJ,KC9Da2E,EAAAA,CAAa,CAAC,CACzB,eAAA,CAAA8b,CAAAA,CACA,SAAAC,CAAAA,CAAW,IAAA,CACX,UAAAC,CAAAA,CAAY,KAAA,CACZ,KAAAxgB,CAAAA,CACA,QAAA,CAAAygB,EAAW,CACb,CAAA,GAAuB,CACrB,GAAM,CAAE,WAAA,CAAAC,CAAY,CAAA,CAAIC,kBAAAA,CAAc,CAAE,IAAA,CAAA3gB,CAAK,CAAC,CAAA,CACxCvB,CAAAA,CAAOC,YAAAA,EAAQ,CAErB,GAAIgiB,CAAAA,CAAY,OAASD,CAAAA,CAAU,OAAO,KAE1C,GAAM,CAAE,UAAAG,CAAU,CAAA,CAAI5c,sBAAAA,EAAkB,CAElC6c,CAAAA,CAAoBC,2BAAAA,CAAuB,IAAKF,CAAS,CAAA,CAE/D,OACE5nB,cAAAA,CAACwL,EAAAA,CAAA,CAAqB,GAAG8b,CAAAA,CACvB,SAAAvmB,eAAAA,CAACmmB,EAAAA,CAAA,CACE,QAAA,CAAA,CAAAK,CAAAA,EAAYM,GAAmB,KAAA,EAC9B9mB,eAAAA,CAAAgE,oBAAA,CACE,QAAA,CAAA,CAAA/E,cAAAA,CAACmnB,EAAAA,CAAA,CACC,QAAA,CAAAnnB,eAACyF,CAAAA,CAAA,CAAK,GAAG,GAAA,CACN,QAAA,CAAAoiB,GAAmB,QAAA,EAAU,IAAA,EAAM,IAAA,EAAQ7nB,cAAAA,CAAC+nB,gBAAAA,CAAA,CAAK,KAAM,EAAA,CAAI,CAAA,CAC9D,EACF,CAAA,CACCL,CAAAA,CAAY,OAAS,CAAA,EAAK1nB,cAAAA,CAACqnB,EAAAA,CAAA,EAAoB,CAAA,CAAA,CAClD,CAAA,CAEDK,EAAY,GAAA,CAAI,CAAC,CAAE,KAAA,CAAAthB,CAAAA,CAAO,KAAAb,CAAAA,CAAM,IAAA,CAAAyiB,CAAK,CAAA,CAAGrU,CAAAA,GAErC5S,gBAAAgE,mBAAAA,CAAA,CACE,UAAAhE,eAAAA,CAAComB,EAAAA,CAAA,CACE,QAAA,CAAA,CAAA,CAACK,CAAAA,EAAajiB,CAAAA,CACdyiB,CAAAA,CACChoB,cAAAA,CAAConB,EAAAA,CAAA,CAAe,OAAA,CAAO,IAAA,CACrB,SAAApnB,cAAAA,CAACyF,CAAAA,CAAA,CAAK,EAAA,CAAIuiB,CAAAA,CAAO,SAAA5hB,CAAAA,CAAM,CAAA,CACzB,EAEApG,cAAAA,CAAConB,EAAAA,CAAA,CAAgB,QAAA,CAAAhhB,CAAAA,CAAM,IAPNA,CASrB,CAAA,CACCuN,CAAAA,CAAQ+T,CAAAA,CAAY,MAAA,CAAS,CAAA,EAAK1nB,eAACqnB,EAAAA,CAAA,EAAoB,GAC1D,CAEH,CAAA,CAAA,CACH,EACF,CAEJ,ECzDO,IAAMY,EAAAA,CAA4D,CAAC,CACxE,eAAA,CAAAC,CAAAA,CAAkB,GAClB,OAAA,CAAAlS,CAAAA,CACA,eAAAmS,CAAAA,CACA,eAAA,CAAAC,CAAAA,CAAkB,CACpB,CAAA,GAEIrnB,eAAAA,CAAC,OAAI,SAAA,CAAU,mFAAA,CACb,UAAAf,cAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,yBAAA,CACb,QAAA,CAAAe,eAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,oFAAA,CACb,UAAAqnB,CAAAA,CAAgB,GAAA,CAAA,CACnB,EACF,CAAA,CACApoB,cAAAA,CAACmQ,GAAA,CAAM,QAAA,CAAA6F,EAAQ,CAAA,CACfhW,cAAAA,CAACN,EAAA,CACC,YAAA,CAAW,OACX,OAAA,CAAQ,SAAA,CACR,QAAS,IAAM,CACbyoB,CAAAA,IAAiB,CACbD,CAAAA,EACFG,YAAAA,CAAM,QAAQH,CAAe,EAEjC,EACA,IAAA,CAAM,MAAA,CAEN,SAAAloB,cAAAA,CAACsoB,2BAAAA,CAAA,CAAgB,IAAA,CAAM,EAAA,CAAI,CAAA,CAC7B,GACF,EC3BG,IAAMC,EAAAA,CAAoB,CAAC,CAChC,MAAA,CAAAC,EACA,QAAA,CAAU,CACR,QAAAC,CAAAA,CACEzoB,cAAAA,CAAC0oB,EAAAA,CAAA,CACC,cAAA,CAAe,kBAAA,CACf,eAAe,OAAA,CACf,IAAA,CAAM1oB,eAAC2oB,uBAAAA,CAAA,CAAY,KAAK,MAAA,CAAO,CAAA,CACjC,CAAA,CAEF,KAAA,CAAAnO,CAAAA,CACExa,cAAAA,CAAC0oB,GAAA,CACC,cAAA,CAAe,iBACf,cAAA,CAAe,mBAAA,CACf,KAAM1oB,cAAAA,CAAC4oB,gCAAAA,CAAA,CAAqB,IAAA,CAAK,MAAA,CAAO,CAAA,CAC1C,EAEF,OAAA,CAAApa,CAAAA,CACExO,eAAC0oB,EAAAA,CAAA,CACC,eAAe,kBAAA,CACf,cAAA,CAAe,YACf,IAAA,CAAM1oB,cAAAA,CAACiP,uBAAA,CAAW,IAAA,CAAK,OAAO,CAAA,CAChC,CAAA,CAEF,KAAA4Z,CAAAA,CACE7oB,cAAAA,CAAC0oB,EAAAA,CAAA,CACC,cAAA,CAAe,eAAA,CACf,eAAe,qBAAA,CACf,IAAA,CAAM1oB,eAACmI,eAAAA,CAAA,CAAI,KAAK,MAAA,CAAO,CAAA,CACzB,CAEJ,CAAA,CAAI,EACN,IAEInI,cAAAA,CAAC8oB,sBAAAA,CAAA,CACC,MAAA,CAAQN,CAAAA,CACR,SAAU,CACR,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAjO,CAAAA,CACA,OAAA,CAAAhM,EACA,IAAA,CAAAqa,CACF,EACF,CAAA,CAIEH,EAAAA,CAAU,CAAC,CACf,cAAA,CAAAK,EACA,cAAA,CAAAC,CAAAA,CACA,KAAAzjB,CACF,CAAA,GAIM,CACJ,IAAMiF,CAAAA,CAAYC,mBAAa,CAE/B,OACE1J,eAAAA,CAACoP,EAAAA,CAAA,CACC,KAAA,CAAM,WACN,SAAA,CAAU,sDAAA,CAET,UAAA3F,CAAAA,CAAUue,CAAAA,CAAgBC,CAAc,CAAA,CACzChpB,cAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAO,CAAE,UAAA,CAAY,KAAM,CAAA,CAAI,QAAA,CAAAuF,EAAK,CAAA,CAAA,CAC5C,CAEJ,EC3EO,IAAM0jB,EAAAA,CAA0B,KAC9B,CACL,IAAA,CAAM,CAAC,CACL,GAAA,CAAApW,EACA,OAAA,CAAAmD,CAAAA,CACA,KAAA7V,CAAAA,CACA,WAAA,CAAA+oB,EACA,eAAA,CAAAd,CAAAA,CACA,eAAAD,CACF,CAAA,GAAM,CACJ,GAAIhoB,CAAAA,GAAS,UAAA,CAAY,CACvBkoB,YAAAA,CAAM,MAAA,CACJ,IACEroB,cAAAA,CAACioB,EAAAA,CAAA,CACC,eAAA,CAAiBpV,CAAAA,CACjB,OAAA,CAASmD,CAAAA,CACT,cAAA,CAAgBmS,CAAAA,CAChB,gBAAiBC,CAAAA,CACnB,CAAA,CAEF,CACE,EAAA,CAAIvV,CAAAA,CACJ,SAAU,CAAA,CAAA,CACZ,CACF,CAAA,CACA,MACF,CAEA,IAAM3B,EAA0D,EAAC,CAC7D2B,IAAQ,MAAA,GAAW3B,CAAAA,CAAQ,GAAK2B,CAAAA,CAAAA,CAChCqW,CAAAA,GAAahY,EAAQ,WAAA,CAAcgY,CAAAA,CAAAA,CAEnC/oB,IAAS,SAAA,CACXkoB,YAAAA,CAAM,QAAQrS,CAAAA,CAAS9E,CAAO,EACrB/Q,CAAAA,GAAS,OAAA,CAClBkoB,YAAAA,CAAM,KAAA,CAAMrS,CAAAA,CAAS9E,CAAO,EAE5BmX,YAAAA,CAAMrS,CAAAA,CAAS9E,CAAO,EAE1B,CAAA,CACA,MAAQ2B,CAAAA,EAAQwV,YAAAA,CAAM,OAAA,CAAQxV,CAAU,CAC1C,CAAA,ECzCK,SAASsW,EAAAA,CAAMC,CAAAA,CAAwB,EAAC,CAAW,CAExD,OAAO,CAAA,MAAA,EADMA,CAAAA,CAAK,IAAA,EAAQ,OACN,CAAA,CAAA,CACtB","file":"index.js","sourcesContent":["import { useEffect, useState } from 'react'\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined)\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener('change', onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener('change', onChange)\n }, [])\n\n return !!isMobile\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex gap-2 items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost:\n 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\ninterface ButtonProps\n extends React.ComponentProps<'button'>, VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants, ButtonProps }\n","import * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '@lib/utils'\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\n\nimport { XIcon } from 'lucide-react'\nimport { cn } from '@lib/utils'\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '@lib/utils'\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { PanelLeftIcon } from 'lucide-react'\n\nimport { useIsMobile } from '@hooks/use-mobile'\nimport { cn } from '@lib/utils'\nimport { Button } from '@components/ui/button'\nimport { Input } from '@components/ui/input'\nimport { Separator } from '@components/ui/separator'\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@components/ui/sheet'\nimport { Skeleton } from '@components/ui/skeleton'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@components/ui/tooltip'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}) {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed'\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n )\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden 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',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","import { Button } from '@components/ui/button'\nimport { HamburgerMenu } from '@components/themed-layout/hamburger-menu'\nimport type { RefineThemedLayoutHeaderProps } from '@components/themed-layout/types'\nimport { Separator } from '@components/ui/separator'\nimport { SidebarTrigger } from '@components/ui/sidebar'\nimport { useGetIdentity } from '@refinedev/core'\n\nexport const ThemedHeader = ({ sticky }: RefineThemedLayoutHeaderProps) => {\n const { data: user } = useGetIdentity()\n\n return (\n <>\n <header className=\"flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)\">\n <div className=\"flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator\n orientation=\"vertical\"\n className=\"mx-2 data-[orientation=vertical]:h-4\"\n />\n <h1 className=\"text-base font-medium\">Documents</h1>\n <div className=\"ml-auto flex items-center gap-2\">\n <Button\n variant=\"ghost\"\n asChild\n size=\"sm\"\n className=\"hidden sm:flex\"\n >\n <a\n href=\"https://github.com/shadcn-ui/ui/tree/main/apps/v4/app/(examples)/dashboard\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"dark:text-foreground\"\n >\n GitHub\n </a>\n </Button>\n </div>\n </div>\n </header>\n {/* <div\n className={`bg-background flex h-16 w-full items-center border-b px-4 py-2 ${\n sticky ? 'sticky top-0 z-10' : ''\n }`}\n data-testid=\"themed-header\"\n >\n <div className=\"flex w-full items-center justify-between\">\n <HamburgerMenu />\n <div className=\"flex items-center gap-2\">\n {user?.name && (\n <span\n className=\"text-sm font-bold\"\n data-testid=\"header-user-name\"\n >\n {user.name}\n </span>\n )}\n {user?.avatar && (\n <img\n alt={user?.name || 'Profile Photo'}\n src={user.avatar}\n className=\"h-8 w-8 rounded-full object-cover\"\n />\n )}\n </div>\n </div>\n </div> */}\n </>\n )\n}\n","import { useLink, useRefineOptions } from '@refinedev/core'\n\nimport type { RefineLayoutThemedTitleProps } from '@refinedev/ui-types'\nimport { stat } from 'fs'\nimport { useSidebar } from '@components/ui/sidebar'\n\nexport const ThemedTitle = ({\n collapsed,\n icon: iconFromProps,\n text: textFromProps,\n}: RefineLayoutThemedTitleProps) => {\n const { title: { icon: defaultIcon, text: defaultText } = {} } =\n useRefineOptions()\n const icon =\n typeof iconFromProps === 'undefined' ? defaultIcon : iconFromProps\n const text =\n typeof textFromProps === 'undefined' ? defaultText : textFromProps\n const Link = useLink()\n\n const { state, isMobile } = useSidebar()\n\n return (\n <Link\n to=\"/\"\n className=\"flex items-center justify-center gap-2 text-inherit no-underline hover:no-underline\"\n >\n <div className=\"size-6 [&>img]:size-6 [&>svg]:size-6\">{icon}</div>\n {(isMobile || (!collapsed && state === 'expanded')) && (\n <h6 className=\"text-base font-semibold\">{text}</h6>\n )}\n </Link>\n )\n}\n","'use client'\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n )\n}\n\nfunction CollapsibleContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n className={cn(\n 'data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden transition-all',\n className\n )}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.CollapsibleContent>\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","'use client'\n\nimport type { TreeMenuItem} from '@refinedev/core';\nimport { CanAccess, useLink, useMenu } from '@refinedev/core'\nimport { ChevronRight, CirclePlus, ListIcon, Mail } from 'lucide-react'\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@components/ui/collapsible'\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '@components/ui/sidebar'\n\nimport { Button } from '@components/ui/button'\nimport type { RefineThemedLayoutSiderProps } from '@components/themed-layout/types'\nimport { cn } from '@lib/utils'\nimport { useState } from 'react'\n\ninterface NavMainProps extends Pick<\n RefineThemedLayoutSiderProps,\n 'meta' | 'activeItemDisabled'\n> {}\n\ninterface TreeViewItemProps {\n item: TreeMenuItem\n selectedKey: string | undefined\n defaultOpenKeys: string[]\n Link: any\n activeItemDisabled?: boolean\n}\n\nfunction TreeViewItem({\n item,\n selectedKey,\n defaultOpenKeys,\n Link,\n activeItemDisabled = false,\n}: TreeViewItemProps) {\n const { label, route, name, icon, children } = item\n const isSelected = item.key === selectedKey\n const isParent = children && children.length > 0\n const defaultOpen = defaultOpenKeys.includes(item.key || '')\n const [isOpen, setIsOpen] = useState(defaultOpen)\n\n if (!isParent) {\n return (\n <CanAccess\n key={item.key}\n resource={name}\n action=\"list\"\n params={{ resource: item }}\n >\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild={!isSelected || !activeItemDisabled}\n tooltip={label}\n isActive={isSelected}\n disabled={isSelected && activeItemDisabled}\n >\n <Link to={route}>\n {icon ?? <ListIcon className=\"h-4 w-4\" />}\n <span>{label}</span>\n </Link>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </CanAccess>\n )\n }\n\n return (\n <CanAccess\n key={item.key}\n resource={name}\n action=\"list\"\n params={{ resource: item }}\n >\n <Collapsible\n open={isOpen}\n onOpenChange={setIsOpen}\n className=\"group/collapsible\"\n >\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={label} isActive={isSelected}>\n {icon ?? <ListIcon className=\"h-4 w-4\" />}\n <span>{label}</span>\n <ChevronRight\n className={cn(\n 'ml-auto h-4 w-4 transition-transform duration-200',\n isOpen && 'rotate-90'\n )}\n />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {children.map((child) => (\n <TreeViewItem\n key={child.key}\n item={child}\n selectedKey={selectedKey}\n defaultOpenKeys={defaultOpenKeys}\n Link={Link}\n activeItemDisabled={activeItemDisabled}\n />\n ))}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n </CanAccess>\n )\n}\n\nexport function NavMain({ meta, activeItemDisabled = false }: NavMainProps) {\n const Link = useLink()\n const { menuItems, selectedKey, defaultOpenKeys } = useMenu({ meta })\n\n return (\n <SidebarGroup>\n <SidebarGroupContent className=\"flex flex-col gap-2\">\n <SidebarMenu>\n <SidebarMenuItem className=\"flex items-center gap-2\">\n <SidebarMenuButton\n tooltip=\"Quick Create\"\n className=\"bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground active:bg-primary/90 active:text-primary-foreground min-w-8 duration-200 ease-linear\"\n >\n <CirclePlus />\n <span>Quick Create</span>\n </SidebarMenuButton>\n <Button\n size=\"icon\"\n className=\"size-8 group-data-[collapsible=icon]:opacity-0\"\n variant=\"outline\"\n >\n <Mail />\n <span className=\"sr-only\">Inbox</span>\n </Button>\n </SidebarMenuItem>\n </SidebarMenu>\n <SidebarMenu>\n {menuItems.map((item) => (\n <TreeViewItem\n key={item.key}\n item={item}\n selectedKey={selectedKey}\n defaultOpenKeys={defaultOpenKeys}\n Link={Link}\n activeItemDisabled={activeItemDisabled}\n />\n ))}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n )\n}\n","'use client'\n\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted flex size-full items-center justify-center rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","'use client'\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport * as React from 'react'\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react'\n\nimport { cn } from '@lib/utils'\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","'use client'\n\nimport { Avatar, AvatarFallback, AvatarImage } from '@components/ui/avatar'\nimport { Bell, CreditCard, Dot, LogOut, UserCircle } from 'lucide-react'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@components/ui/dropdown-menu'\nimport {\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@components/ui/sidebar'\n\nexport function NavUser({\n user,\n}: {\n user: {\n name: string\n email: string\n avatar: string\n }\n}) {\n const { isMobile } = useSidebar()\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg grayscale\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"text-muted-foreground truncate text-xs\">\n {user.email}\n </span>\n </div>\n <Dot className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"text-muted-foreground truncate text-xs\">\n {user.email}\n </span>\n </div>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <DropdownMenuItem>\n <UserCircle />\n Account\n </DropdownMenuItem>\n <DropdownMenuItem>\n <CreditCard />\n Billing\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Bell />\n Notifications\n </DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <LogOut />\n Log out\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n )\n}\n","'use client'\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@components/ui/sidebar'\n\nimport { ThemedTitle as DefaultTitle } from '@components/themed-layout/title'\nimport { NavMain } from '@components/themed-layout/sider/nav-main'\nimport { NavUser } from '@components/themed-layout/sider/nav-user'\nimport type { RefineThemedLayoutSiderProps } from '@components/themed-layout/types'\n\nconst data = {\n user: {\n name: 'shadcn',\n email: 'm@example.com',\n avatar: '/avatars/shadcn.jpg',\n },\n}\n\ninterface ThemedSiderProps\n extends RefineThemedLayoutSiderProps, React.ComponentProps<typeof Sidebar> {}\n\nexport function ThemedSider({\n Title: TitleFromProps,\n render,\n meta,\n activeItemDisabled = false,\n siderItemsAreCollapsed = true,\n ...rest\n}: ThemedSiderProps) {\n const RenderToTitle = TitleFromProps ?? DefaultTitle\n const { state } = useSidebar()\n const isCollapsed = state === 'collapsed'\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"data-[slot=sidebar-menu-button]:!p-1.5\"\n >\n <RenderToTitle collapsed={isCollapsed} />\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarHeader>\n <SidebarContent>\n <NavMain meta={meta} activeItemDisabled={activeItemDisabled} />\n </SidebarContent>\n <SidebarFooter>\n <NavUser user={data.user} />\n </SidebarFooter>\n </Sidebar>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { ThemeProvider as NextThemesProvider } from 'next-themes'\n\nexport function ThemeProvider({\n children,\n ...props\n}: React.ComponentProps<typeof NextThemesProvider>) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","import { ThemeProvider } from '@components/ui/theme-provider'\nimport type { ThemeProviderProps } from 'next-themes'\n\nexport interface ThemedLayoutContext extends ThemeProviderProps {}\n\nexport const ThemedLayoutContextProvider = ({\n children,\n ...rest\n}: ThemedLayoutContext) => {\n return (\n <ThemeProvider\n attribute=\"data-theme\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n}\n","import { SidebarInset, SidebarProvider } from '@components/ui/sidebar'\n\nimport { ThemedHeader as DefaultHeader } from '@components/themed-layout/header'\nimport { ThemedSider as DefaultSider } from '@components/themed-layout/sider'\nimport type { RefineThemedLayoutProps } from '@components/themed-layout/types'\nimport { ThemedLayoutContextProvider } from '@contexts/themed-layout-context'\n\nexport const ThemedLayout = ({\n Sider,\n Header,\n Title,\n Footer,\n OffLayoutArea,\n children,\n initialSiderCollapsed,\n onSiderCollapsed,\n}: RefineThemedLayoutProps) => {\n const SiderToRender = Sider ?? DefaultSider\n const HeaderToRender = Header ?? DefaultHeader\n\n return (\n <ThemedLayoutContextProvider>\n <SidebarProvider\n defaultOpen={\n initialSiderCollapsed !== undefined ? !initialSiderCollapsed : true\n }\n onOpenChange={\n onSiderCollapsed ? (open) => onSiderCollapsed(!open) : undefined\n }\n style={\n {\n '--sidebar-width': 'calc(var(--spacing) * 72)',\n '--header-height': 'calc(var(--spacing) * 12)',\n } as React.CSSProperties\n }\n >\n <SiderToRender Title={Title} />\n <SidebarInset>\n <HeaderToRender />\n <div className=\"flex flex-1 flex-col gap-4 p-4 pt-0\">{children}</div>\n </SidebarInset>\n </SidebarProvider>\n </ThemedLayoutContextProvider>\n )\n}\n","export const RefineButtonTestIds = {\n CloneButton: \"refine-clone-button\",\n DeleteButton: \"refine-delete-button\",\n EditButton: \"refine-edit-button\",\n SaveButton: \"refine-save-button\",\n CreateButton: \"refine-create-button\",\n ImportButton: \"refine-import-button\",\n ExportButton: \"refine-export-button\",\n ListButton: \"refine-list-button\",\n RefreshButton: \"refine-refresh-button\",\n ShowButton: \"refine-show-button\",\n};\n","export const RefinePageHeaderClassNames = {\n Title: \"refine-pageHeader-title\",\n SubTitle: \"refine-pageHeader-subTitle\",\n};\n\nexport const RefineButtonClassNames = {\n CloneButton: \"refine-clone-button\",\n DeleteButton: \"refine-delete-button\",\n EditButton: \"refine-edit-button\",\n SaveButton: \"refine-save-button\",\n CreateButton: \"refine-create-button\",\n ImportButton: \"refine-import-button\",\n ExportButton: \"refine-export-button\",\n ListButton: \"refine-list-button\",\n RefreshButton: \"refine-refresh-button\",\n ShowButton: \"refine-show-button\",\n};\n","import React from 'react'\nimport {\n useTranslate,\n useUserFriendlyName,\n useRefineContext,\n useResourceParams,\n} from '@refinedev/core'\n\nimport { CreateButton, Breadcrumb, type CreateButtonProps } from '@components'\nimport { RefinePageHeaderClassNames } from '@refinedev/ui-types'\nimport type { ListProps } from '@components/crud/types'\nimport { cn } from '@lib/utils'\n\nexport const List = (props: ListProps) => {\n const {\n canCreate,\n children,\n createButtonProps: createButtonPropsFromProps,\n resource: resourceFromProps,\n wrapperProps,\n contentProps,\n headerProps,\n headerButtonProps,\n headerButtons: headerButtonsFromProps,\n breadcrumb: breadcrumbFromProps,\n title,\n } = props\n const translate = useTranslate()\n const { options: { breadcrumb: globalBreadcrumb } = {} } = useRefineContext()\n\n const getUserFriendlyName = useUserFriendlyName()\n\n const { resource, identifier } = useResourceParams({\n resource: resourceFromProps,\n })\n\n const isCreateButtonVisible =\n canCreate ?? (!!resource?.create || createButtonPropsFromProps)\n\n const breadcrumb =\n typeof breadcrumbFromProps === 'undefined'\n ? globalBreadcrumb\n : breadcrumbFromProps\n\n const createButtonProps: CreateButtonProps | undefined = isCreateButtonVisible\n ? {\n resource: identifier,\n ...createButtonPropsFromProps,\n }\n : undefined\n\n const defaultHeaderButtons = isCreateButtonVisible ? (\n <CreateButton {...createButtonProps} />\n ) : null\n\n const headerButtons = headerButtonsFromProps\n ? typeof headerButtonsFromProps === 'function'\n ? headerButtonsFromProps({\n defaultButtons: defaultHeaderButtons,\n createButtonProps,\n })\n : headerButtonsFromProps\n : defaultHeaderButtons\n\n const renderTitle = () => {\n if (title === false) return null\n\n if (title) {\n if (typeof title === 'string' || typeof title === 'number') {\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {title}\n </h3>\n )\n }\n\n return title\n }\n\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {translate(\n `${identifier}.titles.list`,\n getUserFriendlyName(resource?.meta?.label ?? identifier, 'plural')\n )}\n </h3>\n )\n }\n\n return (\n <div className={cn('bg-background rounded-md px-4 py-3')} {...wrapperProps}>\n <div\n className={cn(\n 'mb-3 flex flex-wrap items-center justify-between gap-3 md:flex-nowrap'\n )}\n {...headerProps}\n >\n <div className=\"min-w-[200px]\">\n {typeof breadcrumb !== 'undefined' ? (\n <>{breadcrumb}</>\n ) : (\n <Breadcrumb />\n )}\n {renderTitle()}\n </div>\n <div\n className={cn('flex flex-wrap justify-start gap-2 md:justify-end')}\n {...headerButtonProps}\n >\n {headerButtons}\n </div>\n </div>\n <div {...contentProps}>{children}</div>\n </div>\n )\n}\n","import {\n useTranslate,\n useUserFriendlyName,\n useRefineContext,\n useResourceParams,\n useBack,\n} from '@refinedev/core'\nimport { ArrowLeft, Loader2 } from 'lucide-react'\n\nimport type {\n CreateProps} from '@components';\nimport {\n Breadcrumb,\n SaveButton,\n type SaveButtonProps,\n} from '@components'\nimport { RefinePageHeaderClassNames } from '@refinedev/ui-types'\nimport { Button } from '@components/ui/button'\nimport { cn } from '@lib/utils'\n\nexport const Create = (props: CreateProps) => {\n const {\n children,\n saveButtonProps: saveButtonPropsFromProps,\n isLoading,\n resource: resourceFromProps,\n footerButtons: footerButtonsFromProps,\n footerButtonProps,\n headerButtons: headerButtonsFromProps,\n headerButtonProps,\n wrapperProps,\n contentProps,\n headerProps,\n goBack: goBackFromProps,\n breadcrumb: breadcrumbFromProps,\n title,\n } = props\n const translate = useTranslate()\n const { options: { breadcrumb: globalBreadcrumb } = {} } = useRefineContext()\n\n const back = useBack()\n const getUserFriendlyName = useUserFriendlyName()\n const { resource, action, identifier } = useResourceParams()\n\n const breadcrumb =\n typeof breadcrumbFromProps === 'undefined'\n ? globalBreadcrumb\n : breadcrumbFromProps\n\n const saveButtonProps: SaveButtonProps = {\n ...(isLoading ? { disabled: true } : {}),\n ...saveButtonPropsFromProps,\n }\n\n const defaultFooterButtons = <SaveButton {...saveButtonProps} />\n\n const buttonBack =\n goBackFromProps === (false || null) ? null : (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={\n action !== 'list' || typeof action !== 'undefined' ? back : undefined\n }\n >\n {typeof goBackFromProps !== 'undefined' ? (\n goBackFromProps\n ) : (\n <ArrowLeft className=\"h-4 w-4\" />\n )}\n </Button>\n )\n\n const headerButtons = headerButtonsFromProps\n ? typeof headerButtonsFromProps === 'function'\n ? headerButtonsFromProps({\n defaultButtons: null,\n })\n : headerButtonsFromProps\n : null\n\n const footerButtons = footerButtonsFromProps\n ? typeof footerButtonsFromProps === 'function'\n ? footerButtonsFromProps({\n defaultButtons: defaultFooterButtons,\n saveButtonProps,\n })\n : footerButtonsFromProps\n : defaultFooterButtons\n\n const renderTitle = () => {\n if (title === false) return null\n\n if (title) {\n if (typeof title === 'string' || typeof title === 'number') {\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {title}\n </h3>\n )\n }\n\n return title\n }\n\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {translate(\n `${identifier}.titles.create`,\n `Create ${getUserFriendlyName(\n resource?.meta?.label ?? identifier,\n 'singular'\n )}`\n )}\n </h3>\n )\n }\n\n return (\n <div\n className={cn('bg-background relative rounded-md px-4 py-3')}\n {...wrapperProps}\n >\n {isLoading && (\n <div className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\">\n <Loader2 className=\"h-6 w-6 animate-spin\" />\n </div>\n )}\n <div\n className={cn(\n 'mb-3 flex flex-wrap items-center justify-between gap-3 md:flex-nowrap'\n )}\n {...headerProps}\n >\n <div className=\"min-w-[200px]\">\n {typeof breadcrumb !== 'undefined' ? (\n <>{breadcrumb}</>\n ) : (\n <Breadcrumb />\n )}\n <div className=\"flex items-center gap-2\">\n {buttonBack}\n {renderTitle()}\n </div>\n </div>\n <div\n className={cn('flex flex-wrap justify-start gap-2 md:justify-end')}\n {...headerButtonProps}\n >\n {headerButtons}\n </div>\n </div>\n <div className={cn(isLoading && 'opacity-50')} {...contentProps}>\n {children}\n </div>\n <div className={cn('mt-8 flex justify-end gap-2')} {...footerButtonProps}>\n {footerButtons}\n </div>\n </div>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { CreateButtonProps } from '@components/buttons/types'\nimport { PlusSquare } from 'lucide-react'\nimport React from 'react'\nimport { useCreateButton } from '@refinedev/core'\n\nexport const CreateButton = ({\n resource: resourceNameFromProps,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: CreateButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useCreateButton(\n {\n resource: resourceNameFromProps,\n meta,\n accessControl,\n }\n )\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.CreateButton}\n className={RefineButtonClassNames.CreateButton}\n {...rest}\n >\n <PlusSquare /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { EditButtonProps } from '@components/buttons/types'\nimport { FolderDown } from 'lucide-react'\nimport React from 'react'\nimport { useEditButton } from '@refinedev/core'\n\nexport const EditButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: EditButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useEditButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.EditButton}\n className={RefineButtonClassNames.EditButton}\n {...rest}\n >\n <FolderDown /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","'use client'\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","import { Popover, PopoverContent, PopoverTrigger } from '@components/ui/popover'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { DeleteButtonProps } from '@components/buttons/types'\nimport { Trash } from 'lucide-react'\nimport { useDeleteButton } from '@refinedev/core'\nimport { useState } from 'react'\n\nexport const DeleteButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n onSuccess,\n mutationMode: mutationModeProp,\n children,\n successNotification,\n errorNotification,\n hideText = false,\n accessControl,\n meta,\n invalidates,\n dataProviderName,\n confirmTitle,\n confirmOkText,\n confirmCancelText,\n ...rest\n}: DeleteButtonProps) => {\n const [open, setOpen] = useState(false)\n const {\n onConfirm,\n label,\n title,\n disabled,\n hidden,\n loading,\n confirmTitle: defaultConfirmTitle,\n confirmOkLabel: defaultConfirmOkLabel,\n cancelLabel: defaultCancelLabel,\n } = useDeleteButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n onSuccess,\n mutationMode: mutationModeProp,\n successNotification,\n errorNotification,\n accessControl,\n meta,\n dataProviderName,\n invalidates,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.DeleteButton}\n className={RefineButtonClassNames.DeleteButton}\n {...rest}\n >\n <Trash /> {!hideText && (children ?? label)}\n </Button>\n </PopoverTrigger>\n <PopoverContent>\n {confirmTitle ?? defaultConfirmTitle}\n <div className=\"gap-x-2\">\n <Button onClick={() => setOpen(false)}>\n {confirmCancelText ?? defaultCancelLabel}\n </Button>\n <Button\n onClick={() => {\n onConfirm()\n setOpen(false)\n }}\n >\n {confirmOkText ?? defaultConfirmOkLabel}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { RefreshButtonProps } from '@components/buttons/types'\nimport { RefreshCcw } from 'lucide-react'\nimport { useRefreshButton } from '@refinedev/core'\n\nexport const RefreshButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n dataProviderName,\n children,\n ...rest\n}: RefreshButtonProps) => {\n const {\n onClick: onRefresh,\n label,\n loading,\n } = useRefreshButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n dataProviderName,\n })\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n onClick={onRefresh}\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.RefreshButton}\n className={RefineButtonClassNames.RefreshButton}\n {...rest}\n >\n <RefreshCcw /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import { Eye, Pencil, PlusSquare } from 'lucide-react'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\nimport { useEditButton, useShowButton } from '@refinedev/core'\n\nimport { Button } from '@components/ui/button'\nimport React from 'react'\nimport type { ShowButtonProps } from '@components/buttons/types'\n\nexport const ShowButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: ShowButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useShowButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.ShowButton}\n className={RefineButtonClassNames.ShowButton}\n {...rest}\n >\n <Eye /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { List } from 'lucide-react'\nimport type { ListButtonProps } from '@components/buttons/types'\nimport React from 'react'\nimport { useListButton } from '@refinedev/core'\n\nexport const ListButton = ({\n resource: resourceNameFromProps,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: ListButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useListButton({\n resource: resourceNameFromProps,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.ListButton}\n className={RefineButtonClassNames.ListButton}\n {...rest}\n >\n <List /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { FolderUp } from 'lucide-react'\nimport type { ImportButtonProps } from '@components/buttons/types'\nimport { useExportButton } from '@refinedev/core'\n\nexport const ExportButton = ({\n hideText = false,\n loading = false,\n children,\n ...rest\n}: ImportButtonProps) => {\n const { label } = useExportButton()\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.ExportButton}\n className={RefineButtonClassNames.ExportButton}\n {...rest}\n >\n <FolderUp /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { Save } from 'lucide-react'\nimport type { SaveButtonProps } from '@components/buttons/types'\nimport { useSaveButton } from '@refinedev/core'\n\nexport const SaveButton = ({\n hideText = false,\n children,\n ...rest\n}: SaveButtonProps) => {\n const { label } = useSaveButton()\n\n return (\n <Button\n data-testid={RefineButtonTestIds.SaveButton}\n className={RefineButtonClassNames.SaveButton}\n {...rest}\n >\n <Save /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import { Copy, PlusSquare } from 'lucide-react'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { CloneButtonProps } from '@components/buttons/types'\nimport React from 'react'\nimport { useCloneButton } from '@refinedev/core'\n\nexport const CloneButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: CloneButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useCloneButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.CloneButton}\n className={RefineButtonClassNames.CloneButton}\n {...rest}\n >\n <Copy /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { ImportButtonProps } from '@components/buttons/types'\nimport { PlusSquare } from 'lucide-react'\nimport { useImportButton } from '@refinedev/core'\n\nexport const ImportButton = ({\n inputProps,\n hideText = false,\n loading = false,\n children,\n ...rest\n}: ImportButtonProps) => {\n const { label } = useImportButton()\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.ImportButton}\n className={RefineButtonClassNames.ImportButton}\n {...rest}\n >\n <PlusSquare /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@lib/utils'\n\nconst textVariants = cva('text-foreground', {\n variants: {\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nexport interface TextProps\n extends\n React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof textVariants> {\n asChild?: boolean\n}\n\nexport const Text = React.forwardRef<HTMLSpanElement, TextProps>(\n ({ className, size, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'span'\n return (\n <Comp\n ref={ref}\n className={cn(textVariants({ size }), className)}\n {...props}\n />\n )\n }\n)\nText.displayName = 'Text'\n","import { Text } from '@components/ui/text'\nimport type { TextFieldProps } from '@components/fields/types'\n\nexport const TextField = ({ value, ...rest }: TextFieldProps) => {\n return <Text {...rest}>{value}</Text>\n}\n","import { Check, Minus } from 'lucide-react'\n\nimport type { BooleanFieldProps } from '@components/fields/types'\nimport { Tooltip } from '@components/ui/tooltip'\n\nexport const BooleanField = ({\n value,\n valueLabelTrue = 'true',\n valueLabelFalse = 'false',\n trueIcon,\n falseIcon,\n svgIconProps,\n ...rest\n}: BooleanFieldProps) => {\n return (\n <Tooltip {...rest}>\n <span>\n {value\n ? (trueIcon ?? (\n <Check\n size={20}\n {...svgIconProps}\n className={`icon-check${svgIconProps?.className ? ` ${svgIconProps.className}` : ''}`}\n />\n ))\n : (falseIcon ?? (\n <Minus\n size={20}\n {...svgIconProps}\n className={`icon-minus${svgIconProps?.className ? ` ${svgIconProps.className}` : ''}`}\n />\n ))}\n </span>\n </Tooltip>\n )\n}\n","import type { NumberFieldProps } from '@components/fields/types'\nimport { Text } from '@components/ui/text'\n\nfunction toLocaleStringSupportsOptions() {\n return !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n )\n}\n\nexport const NumberField = ({\n value,\n locale,\n options,\n ...rest\n}: NumberFieldProps) => {\n const number = Number(value)\n\n return (\n <Text {...rest}>\n {toLocaleStringSupportsOptions()\n ? number.toLocaleString(locale, options)\n : number}\n </Text>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { useGo, useResourceParams, useTranslate } from '@refinedev/core'\n\nimport { Button } from '@components/ui/button'\n\nexport const ErrorComponent = () => {\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [showTip, setShowTip] = useState(false)\n const translate = useTranslate()\n const go = useGo()\n const { action, resource } = useResourceParams()\n\n useEffect(() => {\n if (resource && action) {\n setErrorMessage(\n translate(\n 'pages.error.info',\n { resource: resource.name, action },\n `You attempted to perform the \"${action}\" action on the \"${resource.name}\" resource, but an error occurred.`\n )\n )\n }\n }, [resource, action, translate])\n\n return (\n <div>\n <h1>404</h1>\n <p>\n {translate(\n 'pages.error.404',\n 'Sorry, the page you visited does not exist.'\n )}\n </p>\n {errorMessage && <p>{errorMessage}</p>}\n {resource && action && ['create', 'edit', 'show'].includes(action) && (\n <div>\n <span\n data-testid=\"error-component-tooltip\"\n onMouseOver={() => setShowTip(true)}\n onMouseOut={() => setShowTip(false)}\n />\n {showTip && (\n <p>\n {translate(\n 'pages.error.tipKnownActionMissing',\n { resource: resource.name, action },\n `You may have forgotten to add the \"${action}\" component to \"${resource.name}\" resource.`\n )}\n </p>\n )}\n </div>\n )}\n <Button\n onClick={() => {\n go({ to: '/' })\n }}\n >\n {translate('pages.error.backHome', 'Back Home')}\n </Button>\n </div>\n )\n}\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is Date => value instanceof Date;\n","export default (value: unknown): value is null | undefined => value == null;\n","import isDateObject from './isDateObject';\nimport isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown): value is object =>\n typeof value === 'object';\n\nexport default <T extends object>(value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n","import isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isObject from '../utils/isObject';\n\ntype Event = { target: any };\n\nexport default (event: unknown) =>\n isObject(event) && (event as Event).target\n ? isCheckBoxInput((event as Event).target)\n ? (event as Event).target.checked\n : (event as Event).target.value\n : event;\n","export default (name: string) =>\n name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n","import type { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set<InternalFieldName>, name: InternalFieldName) =>\n names.has(getNodeParentName(name));\n","import isObject from './isObject';\n\nexport default (tempObject: object) => {\n const prototypeCopy =\n tempObject.constructor && tempObject.constructor.prototype;\n\n return (\n isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf')\n );\n};\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isObject from './isObject';\nimport isPlainObject from './isPlainObject';\nimport isWeb from './isWeb';\n\nexport default function cloneObject<T>(data: T): T {\n let copy: any;\n const isArray = Array.isArray(data);\n const isFileListInstance =\n typeof FileList !== 'undefined' ? data instanceof FileList : false;\n\n if (data instanceof Date) {\n copy = new Date(data);\n } else if (\n !(isWeb && (data instanceof Blob || isFileListInstance)) &&\n (isArray || isObject(data))\n ) {\n copy = isArray ? [] : Object.create(Object.getPrototypeOf(data));\n\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n } else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n } else {\n return data;\n }\n\n return copy;\n}\n","export default (value: string) => /^\\w*$/.test(value);\n","export default (val: unknown): val is undefined => val === undefined;\n","export default <TValue>(value: TValue[]) =>\n Array.isArray(value) ? value.filter(Boolean) : [];\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import isKey from './isKey';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nexport default <T>(\n object: T,\n path?: string | null,\n defaultValue?: unknown,\n): any => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n\n const result = (isKey(path) ? [path] : stringToPath(path)).reduce(\n (result, key) =>\n isNullOrUndefined(result) ? result : result[key as keyof T & object],\n object,\n );\n\n return isUndefined(result) || result === object\n ? isUndefined(object[path as keyof T])\n ? defaultValue\n : object[path as keyof T]\n : result;\n};\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import type { FieldPath, FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default (\n object: FieldValues,\n path: FieldPath<FieldValues>,\n value?: unknown,\n) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n object[key] = newValue;\n object = object[key];\n }\n};\n","export const EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n} as const;\n\nexport const VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n} as const;\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n} as const;\n","import React from 'react';\n\nimport type { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst HookFormContext = React.createContext<UseFormReturn | null>(null);\nHookFormContext.displayName = 'HookFormContext';\n\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(): UseFormReturn<TFieldValues, TContext, TTransformedValues> =>\n React.useContext(HookFormContext) as UseFormReturn<\n TFieldValues,\n TContext,\n TTransformedValues\n >;\n\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://react.dev/reference/react/useContext) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nexport const FormProvider = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: FormProviderProps<TFieldValues, TContext, TTransformedValues>,\n) => {\n const { children, ...data } = props;\n return (\n <HookFormContext.Provider value={data as unknown as UseFormReturn}>\n {children}\n </HookFormContext.Provider>\n );\n};\n","import { VALIDATION_MODE } from '../constants';\nimport type { Control, FieldValues, FormState, ReadFormState } from '../types';\n\nexport default <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n formState: FormState<TFieldValues>,\n control: Control<TFieldValues, TContext, TTransformedValues>,\n localProxyFormState?: ReadFormState,\n isRoot = true,\n) => {\n const result = {\n defaultValues: control._defaultValues,\n } as typeof formState;\n\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key as keyof FormState<TFieldValues> & keyof ReadFormState;\n\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n\n return result;\n};\n","import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","export default (value: unknown): value is string => typeof value === 'string';\n","import type { DeepPartial, FieldValues, Names } from '../types';\nimport get from '../utils/get';\nimport isString from '../utils/isString';\n\nexport default <T>(\n names: string | string[] | undefined,\n _names: Names,\n formValues?: FieldValues,\n isGlobal?: boolean,\n defaultValue?: DeepPartial<T> | unknown,\n) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n\n if (Array.isArray(names)) {\n return names.map(\n (fieldName) => (\n isGlobal && _names.watch.add(fieldName),\n get(formValues, fieldName)\n ),\n );\n }\n\n isGlobal && (_names.watchAll = true);\n\n return formValues;\n};\n","import type { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isDateObject from './isDateObject';\nimport isObject from './isObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(\n object1: any,\n object2: any,\n _internal_visited = new WeakSet(),\n) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return Object.is(object1, object2);\n }\n\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n if (_internal_visited.has(object1) || _internal_visited.has(object2)) {\n return true;\n }\n _internal_visited.add(object1);\n _internal_visited.add(object2);\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!keys2.includes(key)) {\n return false;\n }\n\n if (key !== 'ref') {\n const val2 = object2[key];\n\n if (\n (isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2, _internal_visited)\n : !Object.is(val1, val2)\n ) {\n return false;\n }\n }\n }\n\n return true;\n}\n","import type {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default <T>(value: T) => (Array.isArray(value) ? value : [value]);\n","import type { Noop } from '../types';\n\nexport type Observer<T> = {\n next: (value: T) => void;\n};\n\nexport type Subscription = {\n unsubscribe: Noop;\n};\n\nexport type Subject<T> = {\n readonly observers: Observer<T>[];\n subscribe: (value: Observer<T>) => Subscription;\n unsubscribe: Noop;\n} & Observer<T>;\n\nexport default <T>(): Subject<T> => {\n let _observers: Observer<T>[] = [];\n\n const next = (value: T) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n\n const subscribe = (observer: Observer<T>): Subscription => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n\n const unsubscribe = () => {\n _observers = [];\n };\n\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n","import isObject from './isObject';\n\nexport default function extractFormValues<\n T extends object,\n K extends Record<string, unknown>,\n>(fieldsState: T, formValues: K) {\n const values: Record<string, unknown> = {};\n\n for (const key in fieldsState) {\n if (fieldsState.hasOwnProperty(key)) {\n const fieldState = fieldsState[key];\n const fieldValue = formValues[key];\n\n if (fieldState && isObject(fieldState) && fieldValue) {\n const nestedFieldsState = extractFormValues(\n fieldState,\n fieldValue as K,\n );\n\n if (isObject(nestedFieldsState)) {\n values[key] = nestedFieldsState;\n }\n } else if (fieldsState[key]) {\n values[key] = fieldValue;\n }\n }\n }\n\n return values;\n}\n","import type { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import isWeb from './isWeb';\n\nexport default (value: unknown): value is HTMLElement => {\n if (!isWeb) {\n return false;\n }\n\n const owner = value ? ((value as HTMLElement).ownerDocument as Document) : 0;\n return (\n value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement)\n );\n};\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import type { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import type { Ref } from '../types';\n\nimport isHTMLElement from './isHTMLElement';\n\nexport default (ref: Ref) => isHTMLElement(ref) && ref.isConnected;\n","import isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nfunction isEmptyArray(obj: unknown[]) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\n\nexport default function unset(object: any, path: string | (string | number)[]) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n\n const index = paths.length - 1;\n const key = paths[index];\n\n if (childObject) {\n delete childObject[key];\n }\n\n if (\n index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))\n ) {\n unset(object, paths.slice(0, -1));\n }\n\n return object;\n}\n","import isFunction from './isFunction';\n\nexport default <T>(data: T): boolean => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n","import deepEqual from '../utils/deepEqual';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isUndefined from '../utils/isUndefined';\nimport objectHasFunction from '../utils/objectHasFunction';\n\nfunction isTraversable(value: any): boolean {\n return Array.isArray(value) || (isObject(value) && !objectHasFunction(value));\n}\n\nfunction markFieldsDirty<T>(data: T, fields: Record<string, any> = {}) {\n for (const key in data) {\n const value = data[key];\n\n if (isTraversable(value)) {\n fields[key] = Array.isArray(value) ? [] : {};\n markFieldsDirty(value, fields[key]);\n } else if (!isUndefined(value)) {\n fields[key] = true;\n }\n }\n\n return fields;\n}\n\nexport default function getDirtyFields<T>(\n data: T,\n formValues: T,\n dirtyFieldsFromValues?: Record<\n Extract<keyof T, string>,\n ReturnType<typeof markFieldsDirty> | boolean\n >,\n) {\n if (!dirtyFieldsFromValues) {\n dirtyFieldsFromValues = markFieldsDirty(formValues);\n }\n\n for (const key in data) {\n const value = data[key];\n\n if (isTraversable(value)) {\n if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = markFieldsDirty(\n value,\n Array.isArray(value) ? [] : {},\n );\n } else {\n getDirtyFields(\n value,\n isNullOrUndefined(formValues) ? {} : formValues[key],\n dirtyFieldsFromValues[key],\n );\n }\n } else {\n const formValue = formValues[key];\n dirtyFieldsFromValues[key] = !deepEqual(value, formValue);\n }\n }\n\n return dirtyFieldsFromValues;\n}\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import type { Field, NativeFieldValue } from '../types';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nexport default <T extends NativeFieldValue>(\n value: T,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import type { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(_f: Field['_f']) {\n const ref = _f.ref;\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n","import type {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default <TFieldValues extends FieldValues>(\n fieldsNames: Set<InternalFieldName> | InternalFieldName[],\n _fields: FieldRefs,\n criteriaMode?: CriteriaMode,\n shouldUseNativeValidation?: boolean | undefined,\n) => {\n const fields: Record<InternalFieldName, Field['_f']> = {};\n\n for (const name of fieldsNames) {\n const field: Field = get(_fields, name);\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName<TFieldValues>[],\n fields,\n shouldUseNativeValidation,\n };\n};\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import type {\n ValidationRule,\n ValidationValue,\n ValidationValueMessage,\n} from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport isUndefined from '../utils/isUndefined';\n\nexport default <T extends ValidationValue>(\n rule?: ValidationRule<T> | ValidationValueMessage<T>,\n) =>\n isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n","import { VALIDATION_MODE } from '../constants';\nimport type { Mode, ValidationModeFlags } from '../types';\n\nexport default (mode?: Mode): ValidationModeFlags => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","import type { Field, Validate } from '../types';\nimport isFunction from '../utils/isFunction';\nimport isObject from '../utils/isObject';\n\nconst ASYNC_FUNCTION = 'AsyncFunction';\n\nexport default (fieldReference: Field['_f']) =>\n !!fieldReference &&\n !!fieldReference.validate &&\n !!(\n (isFunction(fieldReference.validate) &&\n fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||\n (isObject(fieldReference.validate) &&\n Object.values(fieldReference.validate).find(\n (validateFunction: Validate<unknown, unknown>) =>\n validateFunction.constructor.name === ASYNC_FUNCTION,\n ))\n );\n","import type { Field } from '../types';\n\nexport default (options: Field['_f']) =>\n options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","import type { InternalFieldName, Names } from '../types';\n\nexport default (\n name: InternalFieldName,\n _names: Names,\n isBlurEvent?: boolean,\n) =>\n !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some(\n (watchName) =>\n name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length)),\n ));\n","import type { FieldRefs, InternalFieldName, Ref } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\n\nconst iterateFieldsByAction = (\n fields: FieldRefs,\n action: (ref: Ref, name: string) => 1 | undefined | void,\n fieldsNames?: Set<InternalFieldName> | InternalFieldName[] | 0,\n abortEarly?: boolean,\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const { _f, ...currentField } = field;\n\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n return true;\n } else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n return true;\n } else {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n } else if (isObject(currentField)) {\n if (iterateFieldsByAction(currentField as FieldRefs, action)) {\n break;\n }\n }\n }\n }\n return;\n};\nexport default iterateFieldsByAction;\n","import type { FieldError, FieldErrors, FieldValues } from '../types';\nimport get from '../utils/get';\nimport isKey from '../utils/isKey';\n\nexport default function schemaErrorLookup<T extends FieldValues = FieldValues>(\n errors: FieldErrors<T>,\n _fields: FieldValues,\n name: string,\n): {\n error?: FieldError;\n name: string;\n} {\n const error = get(errors, name);\n\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n\n const names = name.split('.');\n\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n\n if (foundError && foundError.root && foundError.root.type) {\n return {\n name: `${fieldName}.root`,\n error: foundError.root,\n };\n }\n\n names.pop();\n }\n\n return {\n name,\n };\n}\n","import { VALIDATION_MODE } from '../constants';\nimport type {\n FieldValues,\n FormState,\n InternalFieldName,\n ReadFormState,\n} from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\n\nexport default <T extends FieldValues, K extends ReadFormState>(\n formStateData: Partial<FormState<T>> & {\n name?: InternalFieldName;\n values?: T;\n },\n _proxyFormState: K,\n updateFormState: (formState: Partial<FormState<T>>) => void,\n isRoot?: boolean,\n) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find(\n (key) =>\n _proxyFormState[key as keyof ReadFormState] ===\n (!isRoot || VALIDATION_MODE.all),\n )\n );\n};\n","import convertToArrayPayload from '../utils/convertToArrayPayload';\n\nexport default <T extends string | readonly string[] | undefined>(\n name?: T,\n signalName?: string,\n exact?: boolean,\n) =>\n !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some(\n (currentName) =>\n currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)),\n );\n","import type { ValidationModeFlags } from '../types';\n\nexport default (\n isBlurEvent: boolean,\n isTouched: boolean,\n isSubmitted: boolean,\n reValidateMode: {\n isOnBlur: boolean;\n isOnChange: boolean;\n },\n mode: Partial<ValidationModeFlags>,\n) => {\n if (mode.isOnAll) {\n return false;\n } else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","import compact from '../utils/compact';\nimport get from '../utils/get';\nimport unset from '../utils/unset';\n\nexport default <T>(ref: T, name: string) =>\n !compact(get(ref, name)).length && unset(ref, name);\n","import type {\n FieldError,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport get from '../utils/get';\nimport set from '../utils/set';\n\nexport default <T extends FieldValues = FieldValues>(\n errors: FieldErrors<T>,\n error: Partial<Record<string, FieldError>>,\n name: InternalFieldName,\n): FieldErrors<T> => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n","import type { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isString from '../utils/isString';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isString(result) ||\n (Array.isArray(result) && result.every(isString)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isString(result) ? result : '',\n ref,\n };\n }\n}\n","import type { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport type {\n Field,\n FieldError,\n FieldValues,\n InternalFieldErrors,\n InternalNameSet,\n MaxType,\n Message,\n MinType,\n NativeFieldValue,\n} from '../types';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async <T extends FieldValues>(\n field: Field,\n disabledFieldNames: InternalNameSet,\n formValues: T,\n validateAllFieldCriteria: boolean,\n shouldUseNativeValidation?: boolean,\n isFieldArray?: boolean,\n): Promise<InternalFieldErrors> => {\n const {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n valueAsNumber,\n mount,\n } = field._f;\n const inputValue: NativeFieldValue = get(formValues, name);\n if (!mount || disabledFieldNames.has(name)) {\n return {};\n }\n const inputRef: HTMLInputElement = refs ? refs[0] : (ref as HTMLInputElement);\n const setCustomValidity = (message?: string | boolean) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType: MaxType = INPUT_VALIDATION_RULES.maxLength,\n minType: MinType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isString(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue as number)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue as string);\n const convertTimeToDate = (time: unknown) =>\n new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (\n (maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))\n ) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateError = getValidateError(\n await validate[key](inputValue, formValues),\n inputRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n setCustomValidity(validateError.message);\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n setCustomValidity(true);\n return error;\n};\n","import { EVENTS, VALIDATION_MODE } from '../constants';\nimport type {\n BatchFieldArrayUpdate,\n ChangeHandler,\n Control,\n DeepPartial,\n DelayCallback,\n EventType,\n Field,\n FieldError,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n FromSubscribe,\n GetIsDirty,\n GetValuesConfig,\n InternalFieldName,\n Names,\n Path,\n ReadFormState,\n Ref,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UseFormClearErrors,\n UseFormGetFieldState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormReset,\n UseFormResetField,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormSubscribe,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from '../types';\nimport cloneObject from '../utils/cloneObject';\nimport compact from '../utils/compact';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport createSubject from '../utils/createSubject';\nimport deepEqual from '../utils/deepEqual';\nimport extractFormValues from '../utils/extractFormValues';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDateObject from '../utils/isDateObject';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioOrCheckbox from '../utils/isRadioOrCheckbox';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\nimport isWeb from '../utils/isWeb';\nimport live from '../utils/live';\nimport set from '../utils/set';\nimport unset from '../utils/unset';\n\nimport generateWatchOutput from './generateWatchOutput';\nimport getDirtyFields from './getDirtyFields';\nimport getEventValue from './getEventValue';\nimport getFieldValue from './getFieldValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getResolverOptions from './getResolverOptions';\nimport getRuleValue from './getRuleValue';\nimport getValidationModes from './getValidationModes';\nimport hasPromiseValidation from './hasPromiseValidation';\nimport hasValidation from './hasValidation';\nimport isNameInFieldArray from './isNameInFieldArray';\nimport isWatched from './isWatched';\nimport iterateFieldsByAction from './iterateFieldsByAction';\nimport schemaErrorLookup from './schemaErrorLookup';\nimport shouldRenderFormState from './shouldRenderFormState';\nimport shouldSubscribeByName from './shouldSubscribeByName';\nimport skipValidation from './skipValidation';\nimport unsetEmptyArray from './unsetEmptyArray';\nimport updateFieldArrayRootError from './updateFieldArrayRootError';\nimport validateField from './validateField';\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n} as const;\n\nexport function createFormControl<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: UseFormProps<TFieldValues, TContext, TTransformedValues> = {},\n): Omit<\n UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n 'formState'\n> & {\n formControl: Omit<\n UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n 'formState'\n >;\n} {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState: FormState<TFieldValues> = {\n submitCount: 0,\n isDirty: false,\n isReady: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields: FieldRefs = {};\n let _defaultValues =\n isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? ({} as TFieldValues)\n : (cloneObject(_defaultValues) as TFieldValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names: Names = {\n mount: new Set(),\n disabled: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback: DelayCallback | null;\n let timer = 0;\n const _proxyFormState: ReadFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n let _proxySubscribeFormState = {\n ..._proxyFormState,\n };\n const _subjects: Subjects<TFieldValues> = {\n array: createSubject(),\n state: createSubject(),\n };\n\n const shouldDisplayAllAssociatedErrors =\n _options.criteriaMode === VALIDATION_MODE.all;\n\n const debounce =\n <T extends Function>(callback: T) =>\n (wait: number) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n\n const _setValid = async (shouldUpdateValid?: boolean) => {\n if (\n !_options.disabled &&\n (_proxyFormState.isValid ||\n _proxySubscribeFormState.isValid ||\n shouldUpdateValid)\n ) {\n const isValid = _options.resolver\n ? isEmptyObject((await _runSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n\n const _updateIsValidating = (names?: string[], isValidating?: boolean) => {\n if (\n !_options.disabled &&\n (_proxyFormState.isValidating ||\n _proxyFormState.validatingFields ||\n _proxySubscribeFormState.isValidating ||\n _proxySubscribeFormState.validatingFields)\n ) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n\n const _setFieldArray: BatchFieldArrayUpdate = (\n name,\n values = [],\n method,\n args,\n shouldSetValues = true,\n shouldUpdateFieldsAndState = true,\n ) => {\n if (args && method && !_options.disabled) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n\n if (\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))\n ) {\n const errors = method(\n get(_formState.errors, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n\n if (\n (_proxyFormState.touchedFields ||\n _proxySubscribeFormState.touchedFields) &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))\n ) {\n const touchedFields = method(\n get(_formState.touchedFields, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n\n if (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n } else {\n set(_formValues, name, values);\n }\n };\n\n const updateErrors = (name: InternalFieldName, error: FieldError) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const _setErrors = (errors: FieldErrors<TFieldValues>) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n\n const updateValidAndValue = (\n name: InternalFieldName,\n shouldSkipSetValueAs: boolean,\n value?: unknown,\n ref?: Ref,\n ) => {\n const field: Field = get(_fields, name);\n\n if (field) {\n const defaultValue = get(\n _formValues,\n name,\n isUndefined(value) ? get(_defaultValues, name) : value,\n );\n\n isUndefined(defaultValue) ||\n (ref && (ref as HTMLInputElement).defaultChecked) ||\n shouldSkipSetValueAs\n ? set(\n _formValues,\n name,\n shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f),\n )\n : setFieldValue(name, defaultValue);\n\n _state.mount && !_state.action && _setValid();\n }\n };\n\n const updateTouchAndDirty = (\n name: InternalFieldName,\n fieldValue: unknown,\n isBlurEvent?: boolean,\n shouldDirty?: boolean,\n shouldRender?: boolean,\n ): Partial<\n Pick<FormState<TFieldValues>, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output: Partial<FormState<TFieldValues>> & { name: string } = {\n name,\n };\n\n if (!_options.disabled) {\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty || _proxySubscribeFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n\n const isCurrentFieldPristine = deepEqual(\n get(_defaultValues, name),\n fieldValue,\n );\n\n isPreviousDirty = !!get(_formState.dirtyFields, name);\n isCurrentFieldPristine\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n ((_proxyFormState.dirtyFields ||\n _proxySubscribeFormState.dirtyFields) &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n ((_proxyFormState.touchedFields ||\n _proxySubscribeFormState.touchedFields) &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n }\n\n return shouldUpdateField ? output : {};\n };\n\n const shouldRenderByError = (\n name: InternalFieldName,\n isValid?: boolean,\n error?: FieldError,\n fieldState?: {\n dirty?: FieldNamesMarkedBoolean<TFieldValues>;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean<TFieldValues>;\n },\n ) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid =\n (_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n\n if (_options.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(_options.delayError);\n } else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n\n if (\n (error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid\n ) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n\n _subjects.state.next(updatedFormState);\n }\n };\n\n const _runSchema = async (name?: InternalFieldName[]) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver!(\n _formValues as TFieldValues,\n _options.context,\n getResolverOptions(\n name || _names.mount,\n _fields,\n _options.criteriaMode,\n _options.shouldUseNativeValidation,\n ),\n );\n _updateIsValidating(name);\n return result;\n };\n\n const executeSchemaAndUpdateState = async (names?: InternalFieldName[]) => {\n const { errors } = await _runSchema(names);\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n } else {\n _formState.errors = errors;\n }\n\n return errors;\n };\n\n const executeBuiltInValidation = async (\n fields: FieldRefs,\n shouldOnlyCheckValid?: boolean,\n context: {\n valid: boolean;\n } = {\n valid: true,\n },\n ) => {\n for (const name in fields) {\n const field = fields[name];\n\n if (field) {\n const { _f, ...fieldValue } = field as Field;\n\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const isPromiseFunction =\n field._f && hasPromiseValidation((field as Field)._f);\n\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([_f.name], true);\n }\n\n const fieldError = await validateField(\n field as Field,\n _names.disabled,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation && !shouldOnlyCheckValid,\n isFieldArrayRoot,\n );\n\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([_f.name]);\n }\n\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(\n _formState.errors,\n fieldError,\n _f.name,\n )\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(\n fieldValue,\n shouldOnlyCheckValid,\n context,\n ));\n }\n }\n\n return context.valid;\n };\n\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field: Field = get(_fields, name);\n\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name as FieldPath<TFieldValues>);\n }\n\n _names.unMount = new Set();\n };\n\n const _getDirty: GetIsDirty = (name, data) =>\n !_options.disabled &&\n (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n\n const _getWatch: WatchInternal<TFieldValues> = (\n names,\n defaultValue,\n isGlobal,\n ) =>\n generateWatchOutput(\n names,\n _names,\n {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n },\n isGlobal,\n defaultValue,\n );\n\n const _getFieldArray = <TFieldArrayValues>(\n name: InternalFieldName,\n ): Partial<TFieldArrayValues>[] =>\n compact(\n get(\n _state.mount ? _formValues : _defaultValues,\n name,\n _options.shouldUnregister ? get(_defaultValues, name, []) : [],\n ),\n );\n\n const setFieldValue = (\n name: InternalFieldName,\n value: SetFieldValue<TFieldValues>,\n options: SetValueConfig = {},\n ) => {\n const field: Field = get(_fields, name);\n let fieldValue: unknown = value;\n\n if (field) {\n const fieldReference = field._f;\n\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach(\n (optionRef) =>\n (optionRef.selected = (\n fieldValue as InternalFieldName[]\n ).includes(optionRef.value)),\n );\n } else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.forEach((checkboxRef) => {\n if (!checkboxRef.defaultChecked || !checkboxRef.disabled) {\n if (Array.isArray(fieldValue)) {\n checkboxRef.checked = !!fieldValue.find(\n (data: string) => data === checkboxRef.value,\n );\n } else {\n checkboxRef.checked =\n fieldValue === checkboxRef.value || !!fieldValue;\n }\n }\n });\n } else {\n fieldReference.refs.forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === fieldValue),\n );\n }\n } else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n } else {\n fieldReference.ref.value = fieldValue;\n\n if (!fieldReference.ref.type) {\n _subjects.state.next({\n name,\n values: cloneObject(_formValues),\n });\n }\n }\n }\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(\n name,\n fieldValue,\n options.shouldTouch,\n options.shouldDirty,\n true,\n );\n\n options.shouldValidate && trigger(name as Path<TFieldValues>);\n };\n\n const setValues = <\n T extends InternalFieldName,\n K extends SetFieldValue<TFieldValues>,\n U extends SetValueConfig,\n >(\n name: T,\n value: K,\n options: U,\n ) => {\n for (const fieldKey in value) {\n if (!value.hasOwnProperty(fieldKey)) {\n return;\n }\n const fieldValue = value[fieldKey];\n const fieldName = name + '.' + fieldKey;\n const field = get(_fields, fieldName);\n\n (_names.array.has(name) ||\n isObject(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n\n const setValue: UseFormSetValue<TFieldValues> = (\n name,\n value,\n options = {},\n ) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n\n set(_formValues, name, cloneValue);\n\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: cloneObject(_formValues),\n });\n\n if (\n (_proxyFormState.isDirty ||\n _proxyFormState.dirtyFields ||\n _proxySubscribeFormState.isDirty ||\n _proxySubscribeFormState.dirtyFields) &&\n options.shouldDirty\n ) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n } else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n\n isWatched(name, _names) && _subjects.state.next({ ..._formState, name });\n _subjects.state.next({\n name: _state.mount ? name : undefined,\n values: cloneObject(_formValues),\n });\n };\n\n const onChange: ChangeHandler = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name: string = target.name;\n let isFieldValueUpdated = true;\n const field: Field = get(_fields, name);\n const _updateIsFieldValueUpdated = (fieldValue: unknown) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||\n deepEqual(fieldValue, get(_formValues, name, fieldValue));\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(\n _options.reValidateMode,\n );\n\n if (field) {\n let error;\n let isValid;\n const fieldValue = target.type\n ? getFieldValue(field._f)\n : getEventValue(event);\n const isBlurEvent =\n event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation =\n (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(\n isBlurEvent,\n get(_formState.touchedFields, name),\n _formState.isSubmitted,\n validationModeAfterSubmit,\n validationModeBeforeSubmit,\n );\n const watched = isWatched(name, _names, isBlurEvent);\n\n set(_formValues, name, fieldValue);\n\n if (isBlurEvent) {\n if (!target || !target.readOnly) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n } else if (field._f.onChange) {\n field._f.onChange(event);\n }\n\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent);\n\n const shouldRender = !isEmptyObject(fieldState) || watched;\n\n !isBlurEvent &&\n _subjects.state.next({\n name,\n type: event.type,\n values: cloneObject(_formValues),\n });\n\n if (shouldSkipValidation) {\n if (_proxyFormState.isValid || _proxySubscribeFormState.isValid) {\n if (_options.mode === 'onBlur') {\n if (isBlurEvent) {\n _setValid();\n }\n } else if (!isBlurEvent) {\n _setValid();\n }\n }\n\n return (\n shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) })\n );\n }\n\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n\n if (_options.resolver) {\n const { errors } = await _runSchema([name]);\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(\n _formState.errors,\n _fields,\n name,\n );\n const errorLookupResult = schemaErrorLookup(\n errors,\n _fields,\n previousErrorLookupResult.name || name,\n );\n\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n\n isValid = isEmptyObject(errors);\n }\n } else {\n _updateIsValidating([name], true);\n error = (\n await validateField(\n field,\n _names.disabled,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n )\n )[name];\n _updateIsValidating([name]);\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n } else if (\n _proxyFormState.isValid ||\n _proxySubscribeFormState.isValid\n ) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n\n if (isFieldValueUpdated) {\n field._f.deps &&\n (!Array.isArray(field._f.deps) || field._f.deps.length > 0) &&\n trigger(\n field._f.deps as\n | FieldPath<TFieldValues>\n | FieldPath<TFieldValues>[],\n );\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n\n const _focusInput = (ref: Ref, key: string) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n\n const trigger: UseFormTrigger<TFieldValues> = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(\n isUndefined(name) ? name : fieldNames,\n );\n\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n } else if (name) {\n validationResult = (\n await Promise.all(\n fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(\n field && field._f ? { [fieldName]: field } : field,\n );\n }),\n )\n ).every(Boolean);\n !(!validationResult && !_formState.isValid) && _setValid();\n } else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n\n _subjects.state.next({\n ...(!isString(name) ||\n ((_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&\n isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(\n _fields,\n _focusInput,\n name ? fieldNames : _names.mount,\n );\n\n return validationResult;\n };\n\n const getValues: UseFormGetValues<TFieldValues> = (\n fieldNames?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>,\n config?: GetValuesConfig,\n ) => {\n let values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n\n if (config) {\n values = extractFormValues(\n config.dirtyFields ? _formState.dirtyFields : _formState.touchedFields,\n values,\n );\n }\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n\n const getFieldState: UseFormGetFieldState<TFieldValues> = (\n name,\n formState,\n ) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n\n const clearErrors: UseFormClearErrors<TFieldValues> = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) =>\n unset(_formState.errors, inputName),\n );\n\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n\n const setError: UseFormSetError<TFieldValues> = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watch: UseFormWatch<TFieldValues> = (\n name?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>\n | WatchObserver<TFieldValues>,\n defaultValue?: DeepPartial<TFieldValues>,\n ) =>\n isFunction(name)\n ? _subjects.state.subscribe({\n next: (payload) =>\n 'values' in payload &&\n name(\n _getWatch(undefined, defaultValue),\n payload as {\n name?: FieldPath<TFieldValues>;\n type?: EventType;\n value?: unknown;\n },\n ),\n })\n : _getWatch(\n name as InternalFieldName | InternalFieldName[],\n defaultValue,\n true,\n );\n\n const _subscribe: FromSubscribe<TFieldValues> = (props) =>\n _subjects.state.subscribe({\n next: (\n formState: Partial<FormState<TFieldValues>> & {\n name?: InternalFieldName;\n values?: TFieldValues | undefined;\n type?: EventType;\n },\n ) => {\n if (\n shouldSubscribeByName(props.name, formState.name, props.exact) &&\n shouldRenderFormState(\n formState,\n (props.formState as ReadFormState) || _proxyFormState,\n _setFormState,\n props.reRenderRoot,\n )\n ) {\n props.callback({\n values: { ..._formValues } as TFieldValues,\n ..._formState,\n ...formState,\n defaultValues:\n _defaultValues as FormState<TFieldValues>['defaultValues'],\n });\n }\n },\n }).unsubscribe;\n\n const subscribe: UseFormSubscribe<TFieldValues> = (props) => {\n _state.mount = true;\n _proxySubscribeFormState = {\n ..._proxySubscribeFormState,\n ...props.formState,\n };\n return _subscribe({\n ...props,\n formState: _proxySubscribeFormState,\n });\n };\n\n const unregister: UseFormUnregister<TFieldValues> = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n\n _subjects.state.next({\n values: cloneObject(_formValues),\n });\n\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n\n !options.keepIsValid && _setValid();\n };\n\n const _setDisabledField: Control<TFieldValues>['_setDisabledField'] = ({\n disabled,\n name,\n }) => {\n if (\n (isBoolean(disabled) && _state.mount) ||\n !!disabled ||\n _names.disabled.has(name)\n ) {\n disabled ? _names.disabled.add(name) : _names.disabled.delete(name);\n }\n };\n\n const register: UseFormRegister<TFieldValues> = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined =\n isBoolean(options.disabled) || isBoolean(_options.disabled);\n\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n\n if (field) {\n _setDisabledField({\n disabled: isBoolean(options.disabled)\n ? options.disabled\n : _options.disabled,\n name,\n });\n } else {\n updateValidAndValue(name, true, options.value);\n }\n\n return {\n ...(disabledIsDefined\n ? { disabled: options.disabled || _options.disabled }\n : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue<number>(options.minLength) as number,\n maxLength: getRuleValue(options.maxLength) as number,\n pattern: getRuleValue(options.pattern) as string,\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? (ref.querySelectorAll('input,select,textarea')[0] as Ref) || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n\n if (\n radioOrCheckbox\n ? refs.find((option: Ref) => option === fieldRef)\n : fieldRef === field._f.ref\n ) {\n return;\n }\n\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n\n updateValidAndValue(name, false, undefined, fieldRef);\n } else {\n field = get(_fields, name, {});\n\n if (field._f) {\n field._f.mount = false;\n }\n\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n\n const _focusError = () =>\n _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n\n const _disableForm = (disabled?: boolean) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(\n _fields,\n (ref, name) => {\n const currentField: Field = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n },\n 0,\n false,\n );\n }\n };\n\n const handleSubmit: UseFormHandleSubmit<TFieldValues, TTransformedValues> =\n (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n (e as React.BaseSyntheticEvent).persist &&\n (e as React.BaseSyntheticEvent).persist();\n }\n let fieldValues:\n | TFieldValues\n | TTransformedValues\n | Record<string, never> = cloneObject(_formValues);\n\n _subjects.state.next({\n isSubmitting: true,\n });\n\n if (_options.resolver) {\n const { errors, values } = await _runSchema();\n _formState.errors = errors;\n fieldValues = cloneObject(values);\n } else {\n await executeBuiltInValidation(_fields);\n }\n\n if (_names.disabled.size) {\n for (const name of _names.disabled) {\n unset(fieldValues, name);\n }\n }\n\n unset(_formState.errors, 'root');\n\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues as TTransformedValues, e);\n } catch (error) {\n onValidError = error;\n }\n } else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n\n const resetField: UseFormResetField<TFieldValues> = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n } else {\n setValue(\n name,\n options.defaultValue as Parameters<typeof setValue<typeof name>>[1],\n );\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _setValid();\n }\n\n _subjects.state.next({ ..._formState });\n }\n };\n\n const _reset: UseFormReset<TFieldValues> = (\n formValues,\n keepStateOptions = {},\n ) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n const fieldsToCheck = new Set([\n ..._names.mount,\n ...Object.keys(getDirtyFields(_defaultValues, _formValues)),\n ]);\n for (const fieldName of Array.from(fieldsToCheck)) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(\n fieldName as FieldPath<TFieldValues>,\n get(values, fieldName),\n );\n }\n } else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n\n if (keepStateOptions.keepFieldsRef) {\n for (const fieldName of _names.mount) {\n setValue(\n fieldName as FieldPath<TFieldValues>,\n get(values, fieldName),\n );\n }\n } else {\n _fields = {};\n }\n }\n\n _formValues = _options.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? (cloneObject(_defaultValues) as TFieldValues)\n : ({} as TFieldValues)\n : (cloneObject(values) as TFieldValues);\n\n _subjects.array.next({\n values: { ...values },\n });\n\n _subjects.state.next({\n values: { ...values } as TFieldValues,\n });\n }\n\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n disabled: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues ||\n (!_options.shouldUnregister && !isEmptyObject(values));\n\n _state.watch = !!_options.shouldUnregister;\n _state.action = false;\n\n // Clear errors synchronously to prevent validation errors on subsequent submissions\n // This fixes the issue where form.reset() causes validation errors on subsequent\n // submissions in Next.js 16 with Server Actions\n if (!keepStateOptions.keepErrors) {\n _formState.errors = {};\n }\n\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(\n keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)\n ),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n defaultValues: _defaultValues as FormState<TFieldValues>['defaultValues'],\n });\n };\n\n const reset: UseFormReset<TFieldValues> = (formValues, keepStateOptions) =>\n _reset(\n isFunction(formValues)\n ? (formValues as Function)(_formValues as TFieldValues)\n : formValues,\n keepStateOptions,\n );\n\n const setFocus: UseFormSetFocus<TFieldValues> = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect &&\n isFunction(fieldRef.select) &&\n fieldRef.select();\n }\n }\n };\n\n const _setFormState = (\n updatedFormState: Partial<FormState<TFieldValues>>,\n ) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n\n const _resetDefaultValues = () =>\n isFunction(_options.defaultValues) &&\n (_options.defaultValues as Function)().then((values: TFieldValues) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n\n const methods = {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _subscribe,\n _runSchema,\n _focusError,\n _getWatch,\n _getDirty,\n _setValid,\n _setFieldArray,\n _setDisabledField,\n _setErrors,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _removeUnmounted,\n _disableForm,\n _subjects,\n _proxyFormState,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n subscribe,\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n\n return {\n ...methods,\n formControl: methods,\n };\n}\n","import React from 'react';\n\nimport getProxyFormState from './logic/getProxyFormState';\nimport deepEqual from './utils/deepEqual';\nimport isFunction from './utils/isFunction';\nimport { createFormControl } from './logic';\nimport type {\n FieldValues,\n FormState,\n UseFormProps,\n UseFormReturn,\n} from './types';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: UseFormProps<TFieldValues, TContext, TTransformedValues> = {},\n): UseFormReturn<TFieldValues, TContext, TTransformedValues> {\n const _formControl = React.useRef<\n UseFormReturn<TFieldValues, TContext, TTransformedValues> | undefined\n >(undefined);\n const _values = React.useRef<typeof props.values>(undefined);\n const [formState, updateFormState] = React.useState<FormState<TFieldValues>>({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n isReady: false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n\n if (!_formControl.current) {\n if (props.formControl) {\n _formControl.current = {\n ...props.formControl,\n formState,\n };\n\n if (props.defaultValues && !isFunction(props.defaultValues)) {\n props.formControl.reset(props.defaultValues, props.resetOptions);\n }\n } else {\n const { formControl, ...rest } = createFormControl(props);\n\n _formControl.current = {\n ...rest,\n formState,\n };\n }\n }\n\n const control = _formControl.current.control;\n control._options = props;\n\n useIsomorphicLayoutEffect(() => {\n const sub = control._subscribe({\n formState: control._proxyFormState,\n callback: () => updateFormState({ ...control._formState }),\n reRenderRoot: true,\n });\n\n updateFormState((data) => ({\n ...data,\n isReady: true,\n }));\n\n control._formState.isReady = true;\n\n return sub;\n }, [control]);\n\n React.useEffect(\n () => control._disableForm(props.disabled),\n [control, props.disabled],\n );\n\n React.useEffect(() => {\n if (props.mode) {\n control._options.mode = props.mode;\n }\n if (props.reValidateMode) {\n control._options.reValidateMode = props.reValidateMode;\n }\n }, [control, props.mode, props.reValidateMode]);\n\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n control._focusError();\n }\n }, [control, props.errors]);\n\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.state.next({\n values: control._getWatch(),\n });\n }, [control, props.shouldUnregister]);\n\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, {\n keepFieldsRef: true,\n ...control._options.resetOptions,\n });\n if (!control._options.resetOptions?.keepIsValid) {\n control._setValid();\n }\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n } else {\n control._resetDefaultValues();\n }\n }, [control, props.values]);\n\n React.useEffect(() => {\n if (!control._state.mount) {\n control._setValid();\n control._state.mount = true;\n }\n\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n\n control._removeUnmounted();\n });\n\n _formControl.current.formState = getProxyFormState(formState, control);\n\n return _formControl.current;\n}\n","'use client'\n\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","'use client'\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport * as React from 'react'\n\nimport { CheckIcon } from 'lucide-react'\nimport { cn } from '@lib/utils'\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import React from 'react'\nimport {\n type LoginPageProps,\n type LoginFormTypes,\n useLink,\n useLogin,\n useTranslate,\n} from '@refinedev/core'\nimport { useForm, FormProvider } from 'react-hook-form'\nimport { Button } from '@components/ui/button'\nimport { Input } from '@components/ui/input'\nimport { Label } from '@components/ui/label'\nimport { Checkbox } from '@components/ui/checkbox'\nimport { Card, CardContent, CardHeader, CardTitle } from '@components/ui/card'\nimport { Separator } from '@components/ui/separator'\nimport { cn } from '@lib/utils'\n\nimport { ThemedTitle } from '@components'\nimport type { FormPropsType } from '@components/pages/auth'\n\ntype LoginProps = LoginPageProps<\n React.HTMLAttributes<HTMLDivElement>,\n React.HTMLAttributes<HTMLDivElement>,\n FormPropsType<LoginFormTypes>\n>\n\nexport const LoginPage: React.FC<LoginProps> = ({\n providers,\n registerLink,\n forgotPasswordLink,\n rememberMe,\n contentProps,\n wrapperProps,\n renderContent,\n formProps,\n title,\n hideForm,\n mutationVariables,\n}) => {\n const { onSubmit, ...useFormProps } = formProps || {}\n\n const { mutate: login } = useLogin<LoginFormTypes>()\n const translate = useTranslate()\n const Link = useLink()\n const methods = useForm<LoginFormTypes>({\n ...useFormProps,\n })\n const {\n register,\n handleSubmit,\n formState: { errors },\n } = methods\n\n const renderProviders = () => {\n if (providers && providers.length > 0) {\n return (\n <>\n <div className=\"flex flex-col gap-2\">\n {providers.map((provider) => (\n <Button\n key={provider.name}\n variant=\"outline\"\n className=\"w-full\"\n onClick={() =>\n login({\n ...mutationVariables,\n providerName: provider.name,\n })\n }\n >\n {provider?.icon}\n {provider.label ?? <span>{provider.label}</span>}\n </Button>\n ))}\n </div>\n {!hideForm && <Separator className=\"my-6\" />}\n </>\n )\n }\n return null\n }\n\n const PageTitle =\n title === false ? null : (\n <div className=\"mb-8 flex justify-center text-xl\">\n {title ?? <ThemedTitle collapsed={false} />}\n </div>\n )\n\n const content = (\n <Card\n className={cn('w-full max-w-md', contentProps?.className)}\n {...contentProps}\n >\n <CardHeader>\n <CardTitle className=\"text-center text-2xl\">\n {translate('pages.login.title', 'Sign in to your account')}\n </CardTitle>\n </CardHeader>\n <CardContent>\n {renderProviders()}\n {!hideForm && (\n <form\n onSubmit={handleSubmit((data) => {\n if (onSubmit) {\n return onSubmit(data)\n }\n\n return login({ ...mutationVariables, ...data })\n })}\n >\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"email\">\n {translate('pages.login.fields.email', 'Email')}\n </Label>\n <Input\n id=\"email\"\n autoComplete=\"email\"\n placeholder=\"Email\"\n type=\"text\"\n aria-invalid={!!errors?.email}\n {...register('email', {\n required: translate(\n 'pages.login.errors.requiredEmail',\n 'Email is required'\n ),\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,\n message: translate(\n 'pages.login.errors.validEmail',\n 'Invalid email address'\n ),\n },\n })}\n />\n {errors.email && (\n <p className=\"text-destructive text-sm\">\n {errors.email.message}\n </p>\n )}\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"password\">\n {translate('pages.login.fields.password', 'Password')}\n </Label>\n <Input\n id=\"password\"\n type=\"password\"\n autoComplete=\"current-password\"\n placeholder=\"Password\"\n aria-invalid={!!errors?.password}\n {...register('password', {\n required: translate(\n 'pages.login.errors.requiredPassword',\n 'Password is required'\n ),\n })}\n />\n {errors.password && (\n <p className=\"text-destructive text-sm\">\n {errors.password.message}\n </p>\n )}\n </div>\n\n {rememberMe ?? (\n <div className=\"flex items-center space-x-2\">\n <Checkbox id=\"remember\" {...register('remember')} />\n <Label\n htmlFor=\"remember\"\n className=\"cursor-pointer font-normal\"\n >\n {translate('pages.login.buttons.rememberMe', 'Remember me')}\n </Label>\n </div>\n )}\n\n <Button type=\"submit\" className=\"w-full\">\n {translate('pages.login.signin', 'Sign in')}\n </Button>\n\n <div className=\"flex items-center justify-between text-xs\">\n {forgotPasswordLink ?? (\n <Link\n to=\"/forgot-password\"\n className=\"text-primary hover:underline\"\n >\n {translate(\n 'pages.login.buttons.forgotPassword',\n 'Forgot password?'\n )}\n </Link>\n )}\n {registerLink ?? (\n <div>\n <span className=\"text-muted-foreground\">\n {translate(\n 'pages.login.buttons.noAccount',\n \"Don't have an account?\"\n )}{' '}\n </span>\n <Link\n to=\"/register\"\n className=\"text-primary font-bold hover:underline\"\n >\n {translate('pages.login.register', 'Sign up')}\n </Link>\n </div>\n )}\n </div>\n </div>\n </form>\n )}\n\n {hideForm && registerLink !== false && (\n <div className=\"mt-6 text-center text-sm\">\n <span className=\"text-muted-foreground\">\n {translate(\n 'pages.login.buttons.noAccount',\n \"Don't have an account?\"\n )}{' '}\n </span>\n <Link\n to=\"/register\"\n className=\"text-primary font-bold hover:underline\"\n >\n {translate('pages.login.register', 'Sign up')}\n </Link>\n </div>\n )}\n </CardContent>\n </Card>\n )\n\n return (\n <FormProvider {...methods}>\n <div\n className={cn(\n 'flex min-h-screen flex-col items-center bg-cover p-4',\n hideForm ? 'justify-start pt-[15dvh]' : 'justify-center pt-4'\n )}\n {...wrapperProps}\n >\n {renderContent ? (\n renderContent(content, PageTitle)\n ) : (\n <>\n {PageTitle}\n {content}\n </>\n )}\n </div>\n </FormProvider>\n )\n}\n","import type { FieldValues, UseFormProps } from 'react-hook-form'\n\nimport type { AuthPageProps } from '@refinedev/core'\n// import {\n// ForgotPasswordPage,\n// LoginPage,\n// RegisterPage,\n// UpdatePasswordPage,\n// } from './components'\nimport { LoginPage } from '@components/pages/auth/components'\nimport React from 'react'\n\nexport interface FormPropsType<\n TFormType extends FieldValues = FieldValues,\n> extends UseFormProps<TFormType> {\n onSubmit?: (values: TFormType) => void\n}\n\nexport type AuthProps = AuthPageProps<\n React.HTMLAttributes<HTMLDivElement>,\n React.HTMLAttributes<HTMLDivElement>,\n FormPropsType<any>\n>\n\nexport const AuthPage: React.FC<AuthProps> = (props) => {\n const { type } = props\n const renderView = () => {\n switch (type) {\n // case 'register':\n // return <RegisterPage {...props} />\n // case 'forgotPassword':\n // return <ForgotPasswordPage {...props} />\n // case 'updatePassword':\n // return <UpdatePasswordPage {...props} />\n default:\n return <LoginPage {...props} />\n }\n }\n\n return <>{renderView()}</>\n}\n","import * as React from 'react'\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@lib/utils'\n\ninterface BreadcrumbProps extends React.ComponentProps<'nav'> {}\n\nfunction Breadcrumb({ ...props }: BreadcrumbProps) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n BreadcrumbProps,\n}\n","import type {\n BreadcrumbProps as ShadboardBreadcrumbProps} from '@components/ui/breadcrumb';\nimport {\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n Breadcrumb as ShadboardBreadcrumb\n} from '@components/ui/breadcrumb'\nimport {\n matchResourceFromRoute,\n useBreadcrumb,\n useLink,\n useResourceParams,\n} from '@refinedev/core'\n\nimport { Home } from 'lucide-react'\nimport type { RefineBreadcrumbProps } from '@refinedev/ui-types'\n\nexport type BreadcrumbProps = RefineBreadcrumbProps<ShadboardBreadcrumbProps>\n\nexport const Breadcrumb = ({\n breadcrumbProps,\n showHome = true,\n hideIcons = false,\n meta,\n minItems = 2,\n}: BreadcrumbProps) => {\n const { breadcrumbs } = useBreadcrumb({ meta })\n const Link = useLink()\n\n if (breadcrumbs.length < minItems) return null\n\n const { resources } = useResourceParams()\n\n const rootRouteResource = matchResourceFromRoute('/', resources)\n\n return (\n <ShadboardBreadcrumb {...breadcrumbProps}>\n <BreadcrumbList>\n {showHome && rootRouteResource?.found && (\n <>\n <BreadcrumbItem>\n <Link to=\"/\">\n {rootRouteResource?.resource?.meta?.icon ?? <Home size={20} />}\n </Link>\n </BreadcrumbItem>\n {breadcrumbs.length > 0 && <BreadcrumbSeparator />}\n </>\n )}\n {breadcrumbs.map(({ label, icon, href }, index) => {\n return (\n <>\n <BreadcrumbItem key={label}>\n {!hideIcons && icon}\n {href ? (\n <BreadcrumbLink asChild>\n <Link to={href}>{label}</Link>\n </BreadcrumbLink>\n ) : (\n <BreadcrumbLink>{label}</BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < breadcrumbs.length - 1 && <BreadcrumbSeparator />}\n </>\n )\n })}\n </BreadcrumbList>\n </ShadboardBreadcrumb>\n )\n}\n","import { Button } from '@components/ui/button'\nimport type { OpenNotificationParams } from '@refinedev/core'\nimport { RotateCcwSquare } from 'lucide-react'\nimport { Text } from '@components/ui/text'\nimport { toast } from 'sonner'\n\nexport type UndoableNotificationProps = {\n notificationKey: OpenNotificationParams['key']\n message: OpenNotificationParams['message']\n cancelMutation: OpenNotificationParams['cancelMutation']\n undoableTimeout: OpenNotificationParams['undoableTimeout']\n}\n\nexport const UndoableNotification: React.FC<UndoableNotificationProps> = ({\n notificationKey = '',\n message,\n cancelMutation,\n undoableTimeout = 0,\n}) => {\n return (\n <div className=\"bg-background flex min-w-[320px] items-center justify-between gap-2 p-2 shadow-md\">\n <div className=\"flex items-center gap-2\">\n <span className=\"inline-flex h-6 min-w-6 items-center justify-center rounded-md border px-2 text-xs\">\n {undoableTimeout}s\n </span>\n </div>\n <Text>{message}</Text>\n <Button\n aria-label=\"undo\"\n variant=\"outline\"\n onClick={() => {\n cancelMutation?.()\n if (notificationKey) {\n toast.dismiss(notificationKey)\n }\n }}\n size={'icon'}\n >\n <RotateCcwSquare size={18} />\n </Button>\n </div>\n )\n}\n","import {\n type AutoSaveIndicatorProps,\n useTranslate,\n AutoSaveIndicator as AutoSaveIndicatorCore,\n} from '@refinedev/core'\nimport { Text } from '@components/ui/text'\nimport {\n CheckCircle,\n Dot,\n FileExclamationPoint,\n RefreshCcw,\n} from 'lucide-react'\n\nexport const AutoSaveIndicator = ({\n status,\n elements: {\n success = (\n <Message\n translationKey=\"autoSave.success\"\n defaultMessage=\"saved\"\n icon={<CheckCircle size=\"18px\" />}\n />\n ),\n error = (\n <Message\n translationKey=\"autoSave.error\"\n defaultMessage=\"auto save failure\"\n icon={<FileExclamationPoint size=\"18px\" />}\n />\n ),\n loading = (\n <Message\n translationKey=\"autoSave.loading\"\n defaultMessage=\"saving...\"\n icon={<RefreshCcw size=\"18px\" />}\n />\n ),\n idle = (\n <Message\n translationKey=\"autoSave.idle\"\n defaultMessage=\"waiting for changes\"\n icon={<Dot size=\"18px\" />}\n />\n ),\n } = {},\n}: AutoSaveIndicatorProps) => {\n return (\n <AutoSaveIndicatorCore\n status={status}\n elements={{\n success,\n error,\n loading,\n idle,\n }}\n />\n )\n}\n\nconst Message = ({\n translationKey,\n defaultMessage,\n icon,\n}: {\n translationKey: string\n defaultMessage: string\n icon: React.ReactNode\n}) => {\n const translate = useTranslate()\n\n return (\n <Text\n color=\"gray.700\"\n className=\"color-muted mr-2 flex flex-wrap items-center text-sm\"\n >\n {translate(translationKey, defaultMessage)}\n <span style={{ marginLeft: '3px' }}>{icon}</span>\n </Text>\n )\n}\n","import type { NotificationProvider } from '@refinedev/core'\nimport { UndoableNotification } from '@components/undoable-notification'\nimport { toast } from 'sonner'\n\nexport const useNotificationProvider = (): NotificationProvider => {\n return {\n open: ({\n key,\n message,\n type,\n description,\n undoableTimeout,\n cancelMutation,\n }) => {\n if (type === 'progress') {\n toast.custom(\n () => (\n <UndoableNotification\n notificationKey={key}\n message={message}\n cancelMutation={cancelMutation}\n undoableTimeout={undoableTimeout}\n />\n ),\n {\n id: key,\n duration: Infinity,\n }\n )\n return\n }\n\n const options: { id?: string | number; description?: string } = {}\n if (key !== undefined) options.id = key\n if (description) options.description = description\n\n if (type === 'success') {\n toast.success(message, options)\n } else if (type === 'error') {\n toast.error(message, options)\n } else {\n toast(message, options)\n }\n },\n close: (key) => toast.dismiss(key as any),\n }\n}\n","export type GreetingOptions = {\n name?: string\n}\n\nexport function greet(opts: GreetingOptions = {}): string {\n const name = opts.name ?? 'mundo'\n return `Hola, ${name}!`\n}\n\nexport * from './components'\n// export * from './hooks'\n// export * from './theme'\nexport * from './providers'\nexport * from './contexts'\n"]}
1
+ {"version":3,"sources":["../src/hooks/use-mobile.ts","../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/input.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/sidebar.tsx","../src/components/themed-layout/header/index.tsx","../src/components/themed-layout/title/index.tsx","../src/components/ui/collapsible.tsx","../src/components/themed-layout/sider/nav-main.tsx","../src/components/ui/avatar.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/themed-layout/sider/nav-user.tsx","../src/components/themed-layout/sider/index.tsx","../src/components/ui/theme-provider.tsx","../src/contexts/themed-layout-context/index.tsx","../src/components/themed-layout/index.tsx","../../../node_modules/.pnpm/@refinedev+ui-types@2.0.1_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19.2.1__@_bktr4bku2v5d5gvnmfyaharmpy/node_modules/@refinedev/ui-types/src/ids.tsx","../../../node_modules/.pnpm/@refinedev+ui-types@2.0.1_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19.2.1__@_bktr4bku2v5d5gvnmfyaharmpy/node_modules/@refinedev/ui-types/src/classNames.ts","../src/components/crud/list/index.tsx","../src/components/crud/create/index.tsx","../src/components/buttons/create/index.tsx","../src/components/buttons/edit/index.tsx","../src/components/ui/popover.tsx","../src/components/buttons/delete/index.tsx","../src/components/buttons/refresh/index.tsx","../src/components/buttons/show/index.tsx","../src/components/buttons/list/index.tsx","../src/components/buttons/export/index.tsx","../src/components/buttons/save/index.tsx","../src/components/buttons/clone/index.tsx","../src/components/buttons/import/index.tsx","../src/components/ui/text.tsx","../src/components/fields/text/index.tsx","../src/components/fields/boolean/index.tsx","../src/components/fields/number/index.tsx","../src/components/pages/error/index.tsx","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isDateObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getEventValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getNodeParentName.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isPlainObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isWeb.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/cloneObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isKey.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isUndefined.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/compact.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/stringToPath.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/get.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isBoolean.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/set.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/constants.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useFormContext.tsx","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getProxyFormState.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useIsomorphicLayoutEffect.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isString.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/generateWatchOutput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isPrimitive.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/deepEqual.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/appendErrors.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/convertToArrayPayload.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/createSubject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/extractFormValues.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isEmptyObject.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isFileInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isFunction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isHTMLElement.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRadioInput.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/live.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/unset.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/objectHasFunction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getDirtyFields.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getFieldValueAs.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getRadioValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getFieldValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getResolverOptions.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/utils/isRegex.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getRuleValue.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValidationModes.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/hasPromiseValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/hasValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/isWatched.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/iterateFieldsByAction.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/schemaErrorLookup.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/shouldRenderFormState.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/shouldSubscribeByName.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/skipValidation.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/unsetEmptyArray.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/updateFieldArrayRootError.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValidateError.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/validateField.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/logic/createFormControl.ts","../../../node_modules/.pnpm/react-hook-form@7.68.0_react@19.2.1/node_modules/react-hook-form/src/useForm.ts","../src/components/ui/label.tsx","../src/components/ui/checkbox.tsx","../src/components/ui/card.tsx","../src/components/pages/auth/components/login/index.tsx","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKey.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObject.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isFunction.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_coreJsData.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isMasked.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toSource.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsNative.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getValue.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getNative.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_nativeCreate.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hashSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Hash.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/eq.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_assocIndexOf.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_listCacheSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_ListCache.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Map.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheClear.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isKeyable.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getMapData.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheDelete.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_mapCacheSet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_MapCache.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/memoize.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_memoizeCapped.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_toKey.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGet.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseHas.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseIsArguments.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArguments.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_isIndex.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isLength.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasPath.js","../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/has.js","../../../node_modules/.pnpm/@refinedev+react-hook-form@5.0.3_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19_oxlvnpdrcdhpwomomsr34ve5ai/node_modules/@refinedev/react-hook-form/src/useModalForm/index.ts","../../../node_modules/.pnpm/@refinedev+react-hook-form@5.0.3_@refinedev+core@5.0.6_@tanstack+react-query@5.90.12_react@19_oxlvnpdrcdhpwomomsr34ve5ai/node_modules/@refinedev/react-hook-form/src/useForm/index.ts","../src/components/pages/auth/components/forgot-password/index.tsx","../src/components/pages/auth/index.tsx","../src/components/ui/breadcrumb.tsx","../src/components/breadcrumb/index.tsx","../src/components/undoable-notification/index.tsx","../src/components/auto-save-indicator/index.tsx","../src/providers/notification-provider.tsx","../src/index.ts"],"names":["MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","useState","useEffect","mql","onChange","cn","inputs","twMerge","clsx","buttonVariants","cva","Button","className","variant","size","asChild","props","jsx","Slot","Input","type","Separator","orientation","decorative","Or","Sheet","ae","SheetPortal","SheetOverlay","SheetContent","children","side","jsxs","XIcon","SheetHeader","SheetTitle","SheetDescription","TooltipProvider","delayDuration","me","Tooltip","TooltipTrigger","TooltipContent","sideOffset","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","se","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","style","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","Sidebar","collapsible","SidebarTrigger","onClick","PanelLeftIcon","SidebarInset","SidebarHeader","SidebarFooter","SidebarContent","SidebarGroup","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","tooltip","Comp","button","SidebarMenuSub","ThemedHeader","sticky","user","useGetIdentity","Fragment","ThemedTitle","collapsed","iconFromProps","textFromProps","defaultIcon","defaultText","useRefineOptions","icon","text","Link","useLink","Collapsible","Ke","CollapsibleTrigger","CollapsibleContent","TreeViewItem","item","selectedKey","defaultOpenKeys","activeItemDisabled","label","route","name","isSelected","isParent","isOpen","setIsOpen","CanAccess","ListIcon","ChevronRight","child","NavMain","meta","menuItems","useMenu","CirclePlus","Mail","Avatar","We","AvatarImage","AvatarFallback","DropdownMenu","U","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","inset","DropdownMenuLabel","DropdownMenuSeparator","NavUser","Dot","UserCircle","CreditCard","Bell","LogOut","data","ThemedSider","TitleFromProps","render","siderItemsAreCollapsed","rest","RenderToTitle","ThemeProvider","NextThemesProvider","ThemedLayoutContextProvider","ThemedLayout","Sider","Header","Title","Footer","OffLayoutArea","initialSiderCollapsed","onSiderCollapsed","RefineButtonTestIds","RefinePageHeaderClassNames","RefineButtonClassNames","List","canCreate","createButtonPropsFromProps","resourceFromProps","wrapperProps","contentProps","headerProps","headerButtonProps","headerButtonsFromProps","breadcrumbFromProps","title","translate","useTranslate","globalBreadcrumb","useRefineContext","getUserFriendlyName","useUserFriendlyName","resource","identifier","useResourceParams","isCreateButtonVisible","breadcrumb","createButtonProps","defaultHeaderButtons","CreateButton","headerButtons","renderTitle","Breadcrumb","Create","saveButtonPropsFromProps","isLoading","footerButtonsFromProps","footerButtonProps","goBackFromProps","back","useBack","action","saveButtonProps","defaultFooterButtons","SaveButton","buttonBack","ArrowLeft","footerButtons","Loader2","resourceNameFromProps","hideText","accessControl","hidden","disabled","LinkComponent","to","useCreateButton","isDisabled","e","PlusSquare","EditButton","recordItemId","useEditButton","FolderDown","Popover","we","PopoverTrigger","PopoverContent","align","DeleteButton","onSuccess","mutationModeProp","successNotification","errorNotification","invalidates","dataProviderName","confirmTitle","confirmOkText","confirmCancelText","onConfirm","loading","defaultConfirmTitle","defaultConfirmOkLabel","defaultCancelLabel","useDeleteButton","Trash","RefreshButton","onRefresh","useRefreshButton","RefreshCcw","ShowButton","useShowButton","Eye","ListButton","useListButton","ExportButton","useExportButton","FolderUp","useSaveButton","Save","CloneButton","useCloneButton","Copy","ImportButton","inputProps","useImportButton","textVariants","Text","ko","ref","TextField","BooleanField","valueLabelTrue","valueLabelFalse","trueIcon","falseIcon","svgIconProps","Check","Minus","toLocaleStringSupportsOptions","NumberField","locale","options","number","ErrorComponent","errorMessage","setErrorMessage","showTip","setShowTip","go","useGo","isCheckBoxInput","element","isDateObject","isNullOrUndefined","isObjectType","isObject","getEventValue","getNodeParentName","isNameInFieldArray","names","isPlainObject","tempObject","prototypeCopy","isWeb","cloneObject","copy","isArray","isFileListInstance","key","isKey","isUndefined","val","compact","stringToPath","input","get","object","path","defaultValue","result","isBoolean","set","index","tempPath","length","lastIndex","newValue","objValue","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","React","FormProvider","getProxyFormState","formState","control","localProxyFormState","isRoot","_key","useIsomorphicLayoutEffect","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","isPrimitive","deepEqual","object1","object2","_internal_visited","keys1","keys2","val1","val2","appendErrors","validateAllFieldCriteria","errors","message","convertToArrayPayload","createSubject","_observers","observer","o","extractFormValues","fieldsState","values","fieldState","fieldValue","nestedFieldsState","isEmptyObject","isFileInput","isFunction","isHTMLElement","owner","isMultipleSelect","isRadioInput","isRadioOrCheckbox","live","baseGet","updatePath","isEmptyArray","obj","unset","paths","childObject","objectHasFunction","isTraversable","markFieldsDirty","fields","getDirtyFields","dirtyFieldsFromValues","formValue","defaultResult","validResult","getCheckboxValue","option","getFieldValueAs","valueAsNumber","valueAsDate","setValueAs","defaultReturn","getRadioValue","previous","getFieldValue","_f","isCheckBox","getResolverOptions","fieldsNames","_fields","criteriaMode","shouldUseNativeValidation","field","isRegex","getRuleValue","rule","getValidationModes","mode","ASYNC_FUNCTION","hasPromiseValidation","fieldReference","validateFunction","hasValidation","isWatched","isBlurEvent","watchName","iterateFieldsByAction","abortEarly","currentField","schemaErrorLookup","error","foundError","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","shouldSubscribeByName","signalName","exact","currentName","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","updateFieldArrayRootError","fieldArrayErrors","getValidateError","getValueAndMessage","validationData","validateField","disabledFieldNames","isFieldArray","refs","required","maxLength","minLength","min","max","pattern","validate","mount","inputValue","inputRef","setCustomValidity","isRadio","isEmpty","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","time","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","defaultOptions","createFormControl","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","timer","_proxySubscribeFormState","_subjects","shouldDisplayAllAssociatedErrors","debounce","callback","wait","_setValid","shouldUpdateValid","isValid","_runSchema","executeBuiltInValidation","_updateIsValidating","isValidating","_setFieldArray","method","args","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","_setErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","isFieldArrayRoot","isPromiseFunction","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","optionRef","checkboxRef","radioRef","trigger","setValues","fieldKey","setValue","cloneValue","target","isFieldValueUpdated","_updateIsFieldValueUpdated","validationModeBeforeSubmit","validationModeAfterSubmit","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","config","getFieldState","clearErrors","inputName","setError","currentError","currentRef","restOfErrorTree","watch","payload","_subscribe","_setFormState","subscribe","_setDisabledField","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","_disableForm","handleSubmit","onValid","onInvalid","onValidError","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","fieldsToCheck","form","reset","setFocus","methods","useForm","_formControl","_values","formControl","sub","isDirty","_a","Label","ta","Checkbox","Mt","CheckIcon","Card","CardHeader","CardTitle","CardContent","LoginPage","providers","registerLink","forgotPasswordLink","rememberMe","renderContent","formProps","hideForm","mutationVariables","onSubmit","useFormProps","login","useLogin","renderProviders","provider","PageTitle","content","isArray_default","freeGlobal","freeGlobal_default","freeSelf","root","root_default","Symbol","Symbol_default","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","getRawTag_default","objectToString","objectToString_default","nullTag","undefinedTag","baseGetTag","baseGetTag_default","isObjectLike","isObjectLike_default","symbolTag","isSymbol","isSymbol_default","reIsDeepProp","reIsPlainProp","isKey_default","isObject_default","asyncTag","funcTag","genTag","proxyTag","isFunction_default","coreJsData","coreJsData_default","maskSrcKey","uid","isMasked","func","isMasked_default","funcProto","funcToString","toSource","toSource_default","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","baseIsNative_default","getValue","getValue_default","getNative","getNative_default","nativeCreate","nativeCreate_default","hashClear","hashClear_default","hashDelete","hashDelete_default","HASH_UNDEFINED","hashGet","hashGet_default","hashHas","hashHas_default","hashSet","hashSet_default","Hash","entries","entry","Hash_default","listCacheClear","listCacheClear_default","eq","other","eq_default","assocIndexOf","array","assocIndexOf_default","arrayProto","splice","listCacheDelete","listCacheDelete_default","listCacheGet","listCacheGet_default","listCacheHas","listCacheHas_default","listCacheSet","listCacheSet_default","ListCache","ListCache_default","Map","Map_default","mapCacheClear","mapCacheClear_default","isKeyable","isKeyable_default","getMapData","map","getMapData_default","mapCacheDelete","mapCacheDelete_default","mapCacheGet","mapCacheGet_default","mapCacheHas","mapCacheHas_default","mapCacheSet","mapCacheSet_default","MapCache","MapCache_default","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","memoize_default","MAX_MEMOIZE_SIZE","memoizeCapped","memoizeCapped_default","rePropName","reEscapeChar","string","match","quote","subString","stringToPath_default","arrayMap","iteratee","arrayMap_default","symbolProto","symbolToString","baseToString","INFINITY","baseToString_default","toString","toString_default","castPath","castPath_default","toKey","toKey_default","baseGet_default","get_default","baseHas","baseHas_default","argsTag","baseIsArguments","baseIsArguments_default","propertyIsEnumerable","isArguments","isArguments_default","MAX_SAFE_INTEGER","reIsUint","isIndex","isIndex_default","isLength","isLength_default","hasPath","hasFunc","hasPath_default","has","has_default","__name","refineCoreProps","warnWhenUnsavedChangesProp","disableServerSideValidationProp","disableServerSideValidation","warnWhenUnsavedChangesRefine","setWarnWhen","useWarnAboutChange","warnWhenUnsavedChanges","useHookFormResult","handleSubmitReactHookForm","useFormCoreResult","useFormCore","_variables","_context","_b","flattenObjectKeys","newError","query","onFinish","formLoading","onFinishAutoSave","hasValue","dataValue","subscription","onValuesChange","changeValues","onFinishProps","v","ForgotPasswordPage","loginLink","mutate","useForgotPassword","AuthPage","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbSeparator","breadcrumbProps","showHome","hideIcons","minItems","breadcrumbs","useBreadcrumb","resources","rootRouteResource","matchResourceFromRoute","Home","href","UndoableNotification","notificationKey","cancelMutation","undoableTimeout","toast","RotateCcwSquare","AutoSaveIndicator","status","success","Message","CheckCircle","FileExclamationPoint","idle","AutoSaveIndicatorCore","translationKey","defaultMessage","useNotificationProvider","description","greet","opts"],"mappings":"+gDAEA,IAAMA,EAAAA,CAAoB,GAAA,CAEnB,SAASC,EAAAA,EAAc,CAC5B,GAAM,CAACC,EAAUC,CAAW,CAAA,CAAIC,WAAAA,CAA8B,MAAS,CAAA,CAEvE,OAAAC,YAAAA,CAAU,IAAM,CACd,IAAMC,CAAAA,CAAM,MAAA,CAAO,UAAA,CAAW,CAAA,YAAA,EAAeN,GAAoB,CAAC,CAAA,GAAA,CAAK,CAAA,CACjEO,CAAAA,CAAW,IAAM,CACrBJ,CAAAA,CAAY,MAAA,CAAO,UAAA,CAAaH,EAAiB,EACnD,CAAA,CACA,OAAAM,CAAAA,CAAI,iBAAiB,QAAA,CAAUC,CAAQ,CAAA,CACvCJ,CAAAA,CAAY,MAAA,CAAO,UAAA,CAAaH,EAAiB,CAAA,CAC1C,IAAMM,CAAAA,CAAI,mBAAA,CAAoB,QAAA,CAAUC,CAAQ,CACzD,EAAG,EAAE,CAAA,CAEE,CAAC,CAACL,CACX,CCfO,SAASM,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCAA,IAAMG,EAAAA,CAAiBC,0BAAAA,CACrB,6bAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,wDAAA,CACT,WAAA,CACE,mJAAA,CACF,OAAA,CACE,uIAAA,CACF,SAAA,CACE,8DAAA,CACF,KAAA,CACE,sEAAA,CACF,IAAA,CAAM,iDACR,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,+BAAA,CACT,EAAA,CAAI,+CAAA,CACJ,EAAA,CAAI,sCAAA,CACJ,IAAA,CAAM,QAAA,CACN,SAAA,CAAW,QAAA,CACX,SAAA,CAAW,SACb,CACF,CAAA,CACA,gBAAiB,CACf,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CAOA,SAASC,CAAAA,CAAO,CACd,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,KAAA,CACV,GAAGC,CACL,CAAA,CAAgB,CAGd,OACEC,cAAAA,CAHWF,CAAAA,CAAUG,cAAAA,CAAO,QAAA,CAG3B,CACC,YAAU,QAAA,CACV,SAAA,CAAWb,CAAAA,CAAGI,EAAAA,CAAe,CAAE,OAAA,CAAAI,CAAAA,CAAS,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAF,CAAU,CAAC,CAAC,CAAA,CACzD,GAAGI,CAAAA,CACN,CAEJ,CCtDA,SAASG,EAAAA,CAAM,CAAE,SAAA,CAAAP,CAAAA,CAAW,IAAA,CAAAQ,CAAAA,CAAM,GAAGJ,CAAM,CAAA,CAAkC,CAC3E,OACEC,cAAAA,CAAC,OAAA,CAAA,CACC,IAAA,CAAMG,CAAAA,CACN,WAAA,CAAU,OAAA,CACV,SAAA,CAAWf,CAAAA,CACT,4bAAA,CACA,+EAAA,CACA,wGAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCXA,SAASK,EAAAA,CAAU,CACjB,SAAA,CAAAT,EACA,WAAA,CAAAU,CAAAA,CAAc,YAAA,CACd,UAAA,CAAAC,CAAAA,CAAa,IAAA,CACb,GAAGP,CACL,CAAA,CAAyD,CACvD,OACEC,cAAAA,CAAoBO,aAAA,CAAA,IAAA,CAAnB,CACC,YAAU,WAAA,CACV,UAAA,CAAYD,CAAAA,CACZ,WAAA,CAAaD,CAAAA,CACb,SAAA,CAAWjB,CAAAA,CACT,gKAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCjBA,SAASS,EAAAA,CAAM,CAAE,GAAGT,CAAM,CAAA,CAAqD,CAC7E,OAAOC,cAAAA,CAAgBS,aAAA,CAAA,IAAA,CAAf,CAAoB,WAAA,CAAU,OAAA,CAAS,GAAGV,CAAAA,CAAO,CAC3D,CAcA,SAASW,GAAY,CACnB,GAAGX,CACL,CAAA,CAAuD,CACrD,OAAOC,cAAAA,CAAgBS,aAAA,CAAA,MAAA,CAAf,CAAsB,WAAA,CAAU,cAAA,CAAgB,GAAGV,CAAAA,CAAO,CACpE,CAEA,SAASY,EAAAA,CAAa,CACpB,SAAA,CAAAhB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAwD,CACtD,OACEC,cAAAA,CAAgBS,aAAA,CAAA,OAAA,CAAf,CACC,WAAA,CAAU,gBACV,SAAA,CAAWrB,CAAAA,CACT,wJAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASa,EAAAA,CAAa,CACpB,SAAA,CAAAjB,CAAAA,CACA,QAAA,CAAAkB,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,OAAA,CACP,GAAGf,CACL,CAAA,CAEG,CACD,OACEgB,eAAAA,CAACL,EAAAA,CAAA,CACC,QAAA,CAAA,CAAAV,cAAAA,CAACW,EAAAA,CAAA,EAAa,CAAA,CACdI,eAAAA,CAAgBN,aAAA,CAAA,OAAA,CAAf,CACC,WAAA,CAAU,eAAA,CACV,SAAA,CAAWrB,CAAAA,CACT,4MAAA,CACA0B,CAAAA,GAAS,OAAA,EACP,kIAAA,CACFA,CAAAA,GAAS,MAAA,EACP,gIACFA,CAAAA,GAAS,KAAA,EACP,0GAAA,CACFA,CAAAA,GAAS,QAAA,EACP,mHAAA,CACFnB,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAA,CAAAc,CAAAA,CACDE,eAAAA,CAAgBN,aAAA,CAAA,KAAA,CAAf,CAAqB,SAAA,CAAU,4OAAA,CAC9B,QAAA,CAAA,CAAAT,cAAAA,CAACgB,iBAAAA,CAAA,CAAM,SAAA,CAAU,QAAA,CAAS,CAAA,CAC1BhB,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,OAAA,CAAK,CAAA,CAAA,CACjC,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,SAASiB,EAAAA,CAAY,CAAE,SAAA,CAAAtB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CACzE,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,cAAA,CACV,SAAA,CAAWZ,CAAAA,CAAG,2BAAA,CAA6BO,CAAS,CAAA,CACnD,GAAGI,CAAAA,CACN,CAEJ,CAYA,SAASmB,EAAAA,CAAW,CAClB,UAAAvB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAsD,CACpD,OACEC,cAAAA,CAAgBS,aAAA,CAAA,KAAA,CAAf,CACC,WAAA,CAAU,aAAA,CACV,SAAA,CAAWrB,CAAAA,CAAG,+BAAA,CAAiCO,CAAS,CAAA,CACvD,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASoB,EAAAA,CAAiB,CACxB,SAAA,CAAAxB,CAAAA,CACA,GAAGI,CACL,CAAA,CAA4D,CAC1D,OACEC,cAAAA,CAAgBS,aAAA,CAAA,WAAA,CAAf,CACC,WAAA,CAAU,mBAAA,CACV,SAAA,CAAWrB,CAAAA,CAAG,+BAAA,CAAiCO,CAAS,CAAA,CACvD,GAAGI,CAAAA,CACN,CAEJ,CCxHA,SAASqB,EAAAA,CAAgB,CACvB,aAAA,CAAAC,CAAAA,CAAgB,CAAA,CAChB,GAAGtB,CACL,EAA2D,CACzD,OACEC,cAAAA,CAAkBsB,aAAA,CAAA,QAAA,CAAjB,CACC,WAAA,CAAU,kBAAA,CACV,aAAA,CAAeD,CAAAA,CACd,GAAGtB,CAAAA,CACN,CAEJ,CAEA,SAASwB,GAAQ,CACf,GAAGxB,CACL,CAAA,CAAuD,CACrD,OACEC,cAAAA,CAACoB,EAAAA,CAAA,CACC,QAAA,CAAApB,cAAAA,CAAkBsB,aAAA,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,UAAW,GAAGvB,CAAAA,CAAO,CAAA,CACxD,CAEJ,CAEA,SAASyB,EAAAA,CAAe,CACtB,GAAGzB,CACL,CAAA,CAA0D,CACxD,OAAOC,cAAAA,CAAkBsB,sBAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAGvB,CAAAA,CAAO,CAC1E,CAEA,SAAS0B,EAAAA,CAAe,CACtB,SAAA,CAAA9B,CAAAA,CACA,UAAA,CAAA+B,CAAAA,CAAa,EACb,QAAA,CAAAb,CAAAA,CACA,GAAGd,CACL,CAAA,CAA0D,CACxD,OACEC,cAAAA,CAAkBsB,aAAA,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAP,eAAAA,CAAkBO,aAAA,CAAA,OAAA,CAAjB,CACC,YAAU,iBAAA,CACV,UAAA,CAAYI,CAAAA,CACZ,SAAA,CAAWtC,CAAAA,CACT,maAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAA,CAAAc,CAAAA,CACDb,cAAAA,CAAkBsB,aAAA,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAU,oGAAA,CAAqG,CAAA,CAAA,CACzI,CAAA,CACF,CAEJ,CC/BA,IAAMK,EAAAA,CAAsB,eAAA,CACtBC,EAAAA,CAAyB,KAAU,EAAA,CAAK,CAAA,CACxCC,EAAAA,CAAgB,OAAA,CAChBC,EAAAA,CAAuB,OAAA,CACvBC,EAAAA,CAAqB,MAAA,CACrBC,EAAAA,CAA4B,GAAA,CAY5BC,EAAAA,CAAuBC,aAAA,CAAA,aAAA,CAA0C,IAAI,CAAA,CAE3E,SAASC,EAAAA,EAAa,CACpB,IAAMC,CAAAA,CAAgBF,aAAA,CAAA,UAAA,CAAWD,EAAc,CAAA,CAC/C,GAAI,CAACG,CAAAA,CACH,MAAM,IAAI,KAAA,CAAM,mDAAmD,EAGrE,OAAOA,CACT,CAEA,SAASC,EAAAA,CAAgB,CACvB,WAAA,CAAAC,CAAAA,CAAc,IAAA,CACd,IAAA,CAAMC,CAAAA,CACN,YAAA,CAAcC,CAAAA,CACd,SAAA,CAAA7C,CAAAA,CACA,KAAA,CAAA8C,CAAAA,CACA,QAAA,CAAA5B,CAAAA,CACA,GAAGd,CACL,CAAA,CAIG,CACD,IAAMjB,CAAAA,CAAWD,EAAAA,EAAY,CACvB,CAAC6D,CAAAA,CAAYC,CAAa,EAAUT,aAAA,CAAA,QAAA,CAAS,KAAK,CAAA,CAIlD,CAACU,CAAAA,CAAOC,CAAQ,CAAA,CAAUX,aAAA,CAAA,QAAA,CAASI,CAAW,CAAA,CAC9CQ,CAAAA,CAAOP,CAAAA,EAAYK,CAAAA,CACnBG,CAAAA,CAAgBb,0BACnBc,CAAAA,EAAmD,CAClD,IAAMC,CAAAA,CAAY,OAAOD,CAAAA,EAAU,UAAA,CAAaA,CAAAA,CAAMF,CAAI,CAAA,CAAIE,CAAAA,CAC1DR,CAAAA,CACFA,CAAAA,CAAYS,CAAS,EAErBJ,CAAAA,CAASI,CAAS,CAAA,CAIpB,QAAA,CAAS,MAAA,CAAS,CAAA,EAAGtB,EAAmB,CAAA,CAAA,EAAIsB,CAAS,CAAA,kBAAA,EAAqBrB,EAAsB,CAAA,EAClG,CAAA,CACA,CAACY,CAAAA,CAAaM,CAAI,CACpB,CAAA,CAGMI,CAAAA,CAAsBhB,aAAA,CAAA,WAAA,CAAY,IAC/BpD,CAAAA,CAAW6D,CAAAA,CAAeG,CAAAA,EAAS,CAACA,CAAI,CAAA,CAAIC,CAAAA,CAASD,CAAAA,EAAS,CAACA,CAAI,CAAA,CACzE,CAAChE,CAAAA,CAAUiE,CAAAA,CAASJ,CAAa,CAAC,CAAA,CAG/BT,aAAA,CAAA,SAAA,CAAU,IAAM,CACpB,IAAMiB,CAAAA,CAAiBC,CAAAA,EAAyB,CAE5CA,EAAM,GAAA,GAAQpB,EAAAA,GACboB,CAAAA,CAAM,OAAA,EAAWA,CAAAA,CAAM,OAAA,CAAA,GAExBA,CAAAA,CAAM,cAAA,EAAe,CACrBF,CAAAA,EAAc,EAElB,CAAA,CAEA,OAAA,MAAA,CAAO,gBAAA,CAAiB,UAAWC,CAAa,CAAA,CACzC,IAAM,MAAA,CAAO,mBAAA,CAAoB,SAAA,CAAWA,CAAa,CAClE,CAAA,CAAG,CAACD,CAAa,CAAC,CAAA,CAIlB,IAAMG,EAAQP,CAAAA,CAAO,UAAA,CAAa,WAAA,CAE5BQ,CAAAA,CAAqBpB,aAAA,CAAA,OAAA,CACzB,KAAO,CACL,KAAA,CAAAmB,CAAAA,CACA,IAAA,CAAAP,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,QAAA,CAAAjE,EACA,UAAA,CAAA4D,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,aAAA,CAAAO,CACF,CAAA,CAAA,CACA,CAACG,CAAAA,CAAOP,CAAAA,CAAMC,CAAAA,CAASjE,CAAAA,CAAU4D,CAAAA,CAAYC,CAAAA,CAAeO,CAAa,CAC3E,CAAA,CAEA,OACElD,cAAAA,CAACiC,EAAAA,CAAe,QAAA,CAAf,CAAwB,KAAA,CAAOqB,CAAAA,CAC9B,QAAA,CAAAtD,cAAAA,CAACoB,EAAAA,CAAA,CAAgB,aAAA,CAAe,EAC9B,QAAA,CAAApB,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,iBAAA,CACV,KAAA,CACE,CACE,iBAAA,CAAmB6B,EAAAA,CACnB,sBAAA,CAAwBE,EAAAA,CACxB,GAAGU,CACL,CAAA,CAEF,SAAA,CAAWrD,CAAAA,CACT,iFAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAAc,CAAAA,CACH,CAAA,CACF,CAAA,CACF,CAEJ,CAEA,SAAS0C,EAAAA,CAAQ,CACf,KAAAzC,CAAAA,CAAO,MAAA,CACP,OAAA,CAAAlB,CAAAA,CAAU,SAAA,CACV,WAAA,CAAA4D,CAAAA,CAAc,WAAA,CACd,SAAA,CAAA7D,CAAAA,CACA,QAAA,CAAAkB,CAAAA,CACA,GAAGd,CACL,EAIG,CACD,GAAM,CAAE,QAAA,CAAAjB,CAAAA,CAAU,KAAA,CAAAuE,CAAAA,CAAO,UAAA,CAAAX,CAAAA,CAAY,aAAA,CAAAC,CAAc,CAAA,CAAIR,EAAAA,EAAW,CAElE,OAAIqB,CAAAA,GAAgB,MAAA,CAEhBxD,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,SAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,6EAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAAc,CAAAA,CACH,CAAA,CAIA/B,CAAAA,CAEAkB,cAAAA,CAACQ,EAAAA,CAAA,CAAM,IAAA,CAAMkC,CAAAA,CAAY,YAAA,CAAcC,CAAAA,CAAgB,GAAG5C,CAAAA,CACxD,QAAA,CAAAgB,eAAAA,CAACH,EAAAA,CAAA,CACC,eAAa,SAAA,CACb,WAAA,CAAU,SAAA,CACV,aAAA,CAAY,MAAA,CACZ,SAAA,CAAU,8EAAA,CACV,KAAA,CACE,CACE,iBAAA,CAAmBkB,EACrB,CAAA,CAEF,IAAA,CAAMhB,CAAAA,CAEN,UAAAC,eAAAA,CAACE,EAAAA,CAAA,CAAY,SAAA,CAAU,SAAA,CACrB,QAAA,CAAA,CAAAjB,cAAAA,CAACkB,EAAAA,CAAA,CAAW,QAAA,CAAA,SAAA,CAAO,CAAA,CACnBlB,cAAAA,CAACmB,EAAAA,CAAA,CAAiB,wCAA4B,CAAA,CAAA,CAChD,CAAA,CACAnB,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6BAAA,CAA+B,QAAA,CAAAa,CAAAA,CAAS,CAAA,CAAA,CACzD,CAAA,CACF,CAAA,CAKFE,eAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAU,oDAAA,CACV,YAAA,CAAYsC,CAAAA,CACZ,kBAAA,CAAkBA,CAAAA,GAAU,WAAA,CAAcG,CAAAA,CAAc,EAAA,CACxD,cAAA,CAAc5D,CAAAA,CACd,WAAA,CAAWkB,CAAAA,CACX,WAAA,CAAU,SAAA,CAGV,QAAA,CAAA,CAAAd,cAAAA,CAAC,OACC,WAAA,CAAU,aAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,yFAAA,CACA,wCAAA,CACA,oCAAA,CACAQ,CAAAA,GAAY,UAAA,EAAcA,CAAAA,GAAY,OAAA,CAClC,kFAAA,CACA,wDACN,CAAA,CACF,EACAI,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,mBAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,sHAAA,CACA0B,CAAAA,GAAS,MAAA,CACL,gFAAA,CACA,kFAAA,CAEJlB,CAAAA,GAAY,UAAA,EAAcA,CAAAA,GAAY,QAClC,0FAAA,CACA,yHAAA,CACJD,CACF,CAAA,CACC,GAAGI,CAAAA,CAEJ,QAAA,CAAAC,cAAAA,CAAC,KAAA,CAAA,CACC,cAAA,CAAa,SAAA,CACb,WAAA,CAAU,eAAA,CACV,SAAA,CAAU,mNAET,QAAA,CAAAa,CAAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAEA,SAAS4C,EAAAA,CAAe,CACtB,SAAA,CAAA9D,CAAAA,CACA,OAAA,CAAA+D,CAAAA,CACA,GAAG3D,CACL,CAAA,CAAwC,CACtC,GAAM,CAAE,aAAA,CAAAmD,CAAc,CAAA,CAAIf,EAAAA,EAAW,CAErC,OACEpB,eAAAA,CAACrB,CAAAA,CAAA,CACC,cAAA,CAAa,UACb,WAAA,CAAU,iBAAA,CACV,OAAA,CAAQ,OAAA,CACR,IAAA,CAAK,MAAA,CACL,SAAA,CAAWN,CAAAA,CAAG,QAAA,CAAUO,CAAS,CAAA,CACjC,OAAA,CAAUyD,CAAAA,EAAU,CAClBM,IAAUN,CAAK,CAAA,CACfF,CAAAA,GACF,CAAA,CACC,GAAGnD,CAAAA,CAEJ,QAAA,CAAA,CAAAC,cAAAA,CAAC2D,yBAAAA,CAAA,EAAc,CAAA,CACf3D,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,gBAAA,CAAc,CAAA,CAAA,CAC1C,CAEJ,CA2BA,SAAS4D,EAAAA,CAAa,CAAE,SAAA,CAAAjE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAiC,CAC3E,OACEC,eAAC,MAAA,CAAA,CACC,WAAA,CAAU,eAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,oDAAA,CACA,iNAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAgBA,SAAS8D,GAAc,CAAE,SAAA,CAAAlE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC3E,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,gBAAA,CACV,cAAA,CAAa,QAAA,CACb,UAAWZ,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS+D,EAAAA,CAAc,CAAE,SAAA,CAAAnE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC3E,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,gBAAA,CACV,cAAA,CAAa,QAAA,CACb,SAAA,CAAWZ,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,EACN,CAEJ,CAgBA,SAASgE,EAAAA,CAAe,CAAE,SAAA,CAAApE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC5E,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,YAAU,iBAAA,CACV,cAAA,CAAa,SAAA,CACb,SAAA,CAAWZ,CAAAA,CACT,gGAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASiE,EAAAA,CAAa,CAAE,SAAA,CAAArE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAC1E,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,eAAA,CACV,cAAA,CAAa,OAAA,CACb,SAAA,CAAWZ,CAAAA,CAAG,2CAAA,CAA6CO,CAAS,CAAA,CACnE,GAAGI,CAAAA,CACN,CAEJ,CA8CA,SAASkE,EAAAA,CAAoB,CAC3B,SAAA,CAAAtE,CAAAA,CACA,GAAGI,CACL,CAAA,CAAgC,CAC9B,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,uBAAA,CACV,cAAA,CAAa,eAAA,CACb,SAAA,CAAWZ,CAAAA,CAAG,gBAAA,CAAkBO,CAAS,CAAA,CACxC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASmE,EAAAA,CAAY,CAAE,SAAA,CAAAvE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CACxE,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,WAAA,CAAU,eACV,cAAA,CAAa,MAAA,CACb,SAAA,CAAWZ,CAAAA,CAAG,oCAAA,CAAsCO,CAAS,CAAA,CAC5D,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASoE,EAAAA,CAAgB,CAAE,UAAAxE,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC5E,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,WAAA,CAAU,mBAAA,CACV,cAAA,CAAa,WAAA,CACb,SAAA,CAAWZ,CAAAA,CAAG,2BAA4BO,CAAS,CAAA,CAClD,GAAGI,CAAAA,CACN,CAEJ,CAEA,IAAMqE,EAAAA,CAA4B3E,0BAAAA,CAChC,mzBAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,8DAAA,CACT,OAAA,CACE,8KACJ,CAAA,CACA,IAAA,CAAM,CACJ,OAAA,CAAS,aAAA,CACT,EAAA,CAAI,aAAA,CACJ,EAAA,CAAI,iDACN,CACF,EACA,eAAA,CAAiB,CACf,OAAA,CAAS,SAAA,CACT,IAAA,CAAM,SACR,CACF,CACF,CAAA,CAEA,SAAS4E,EAAAA,CAAkB,CACzB,OAAA,CAAAvE,CAAAA,CAAU,KAAA,CACV,QAAA,CAAAwE,CAAAA,CAAW,KAAA,CACX,OAAA,CAAA1E,CAAAA,CAAU,SAAA,CACV,IAAA,CAAAC,CAAAA,CAAO,SAAA,CACP,OAAA,CAAA0E,CAAAA,CACA,SAAA,CAAA5E,CAAAA,CACA,GAAGI,CACL,EAIoD,CAClD,IAAMyE,CAAAA,CAAO1E,CAAAA,CAAUG,cAAAA,CAAO,QAAA,CACxB,CAAE,QAAA,CAAAnB,CAAAA,CAAU,KAAA,CAAAuE,CAAM,CAAA,CAAIlB,EAAAA,EAAW,CAEjCsC,EACJzE,cAAAA,CAACwE,CAAAA,CAAA,CACC,WAAA,CAAU,qBAAA,CACV,cAAA,CAAa,aAAA,CACb,WAAA,CAAW3E,CAAAA,CACX,aAAA,CAAayE,CAAAA,CACb,SAAA,CAAWlF,CAAAA,CAAGgF,EAAAA,CAA0B,CAAE,OAAA,CAAAxE,CAAAA,CAAS,IAAA,CAAAC,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CACpE,GAAGI,CAAAA,CACN,CAAA,CAGF,OAAKwE,CAAAA,EAID,OAAOA,CAAAA,EAAY,QAAA,GACrBA,CAAAA,CAAU,CACR,QAAA,CAAUA,CACZ,CAAA,CAAA,CAIAxD,eAAAA,CAACQ,EAAAA,CAAA,CACC,QAAA,CAAA,CAAAvB,cAAAA,CAACwB,EAAAA,CAAA,CAAe,OAAA,CAAO,IAAA,CAAE,SAAAiD,CAAAA,CAAO,CAAA,CAChCzE,cAAAA,CAACyB,EAAAA,CAAA,CACC,IAAA,CAAK,OAAA,CACL,KAAA,CAAM,QAAA,CACN,MAAA,CAAQ4B,CAAAA,GAAU,WAAA,EAAevE,CAAAA,CAChC,GAAGyF,EACN,CAAA,CAAA,CACF,CAAA,EAlBOE,CAoBX,CA8FA,SAASC,EAAAA,CAAe,CAAE,SAAA,CAAA/E,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,eAAC,IAAA,CAAA,CACC,WAAA,CAAU,kBAAA,CACV,cAAA,CAAa,UAAA,CACb,SAAA,CAAWZ,CAAAA,CACT,gGAAA,CACA,sCAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCroBO,IAAM4E,EAAAA,CAAe,CAAC,CAAE,OAAAC,CAAO,CAAA,GAAqC,CACzE,GAAM,CAAE,IAAA,CAAMC,CAAK,CAAA,CAAIC,mBAAAA,EAAe,CAEtC,OACE9E,cAAAA,CAAA+E,mBAAAA,CAAA,CACE,SAAA/E,cAAAA,CAAC,QAAA,CAAA,CAAO,SAAA,CAAU,2KAAA,CAChB,QAAA,CAAAe,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sDAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACyD,EAAAA,CAAA,CAAe,SAAA,CAAU,QAAQ,CAAA,CAClCzD,cAAAA,CAACI,EAAAA,CAAA,CACC,WAAA,CAAY,UAAA,CACZ,SAAA,CAAU,sCAAA,CACZ,CAAA,CACAJ,cAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,uBAAA,CAAwB,QAAA,CAAA,WAAA,CAAS,EAC/CA,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,iCAAA,CACb,QAAA,CAAAA,cAAAA,CAACN,CAAAA,CAAA,CACC,OAAA,CAAQ,OAAA,CACR,OAAA,CAAO,IAAA,CACP,IAAA,CAAK,IAAA,CACL,UAAU,gBAAA,CAEV,QAAA,CAAAM,cAAAA,CAAC,GAAA,CAAA,CACC,IAAA,CAAK,4EAAA,CACL,GAAA,CAAI,qBAAA,CACJ,MAAA,CAAO,QAAA,CACP,SAAA,CAAU,sBAAA,CACX,QAAA,CAAA,QAAA,CAED,CAAA,CACF,EACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CA4BF,CAEJ,CAAA,CC9DO,IAAMgF,EAAAA,CAAc,CAAC,CAC1B,SAAA,CAAAC,CAAAA,CACA,IAAA,CAAMC,CAAAA,CACN,IAAA,CAAMC,CACR,CAAA,GAAoC,CAClC,GAAM,CAAE,KAAA,CAAO,CAAE,IAAA,CAAMC,CAAAA,CAAa,IAAA,CAAMC,CAAY,CAAA,CAAI,EAAG,CAAA,CAC3DC,qBAAAA,EAAiB,CACbC,CAAAA,CACJ,OAAOL,EAAkB,GAAA,CAAcE,CAAAA,CAAcF,CAAAA,CACjDM,CAAAA,CACJ,OAAOL,CAAAA,CAAkB,GAAA,CAAcE,CAAAA,CAAcF,CAAAA,CACjDM,CAAAA,CAAOC,YAAAA,EAAQ,CAEf,CAAE,KAAA,CAAArC,EAAO,QAAA,CAAAvE,CAAS,CAAA,CAAIqD,EAAAA,EAAW,CAEvC,OACEpB,eAAAA,CAAC0E,CAAAA,CAAA,CACC,EAAA,CAAG,GAAA,CACH,SAAA,CAAU,qFAAA,CAEV,QAAA,CAAA,CAAAzF,eAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sCAAA,CAAwC,QAAA,CAAAuF,CAAAA,CAAK,CAAA,CAAA,CAC1DzG,CAAAA,EAAa,CAACmG,CAAAA,EAAa5B,CAAAA,GAAU,UAAA,GACrCrD,cAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,yBAAA,CAA2B,QAAA,CAAAwF,CAAAA,CAAK,CAAA,CAAA,CAElD,CAEJ,ECzBA,SAASG,GAAY,CACnB,GAAG5F,CACL,CAAA,CAA2D,CACzD,OAAOC,cAAAA,CAAsB4F,aAAA,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,aAAA,CAAe,GAAG7F,CAAAA,CAAO,CACvE,CAEA,SAAS8F,EAAAA,CAAmB,CAC1B,GAAG9F,CACL,CAAA,CAAyE,CACvE,OACEC,cAAAA,CAAsB4F,aAAA,CAAA,kBAAA,CAArB,CACC,WAAA,CAAU,qBAAA,CACT,GAAG7F,CAAAA,CACN,CAEJ,CAEA,SAAS+F,EAAAA,CAAmB,CAC1B,SAAA,CAAAnG,CAAAA,CACA,QAAA,CAAAkB,CAAAA,CACA,GAAGd,CACL,CAAA,CAAyE,CACvE,OACEC,cAAAA,CAAsB4F,iCAArB,CACC,WAAA,CAAU,qBAAA,CACV,SAAA,CAAWxG,CAAAA,CACT,sHAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEH,QAAA,CAAAc,CAAAA,CACH,CAEJ,CCFA,SAASkF,EAAAA,CAAa,CACpB,IAAA,CAAAC,CAAAA,CACA,YAAAC,CAAAA,CACA,eAAA,CAAAC,CAAAA,CACA,IAAA,CAAAT,CAAAA,CACA,kBAAA,CAAAU,CAAAA,CAAqB,KACvB,CAAA,CAAsB,CACpB,GAAM,CAAE,KAAA,CAAAC,CAAAA,CAAO,KAAA,CAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAAA,CAAM,IAAA,CAAAf,CAAAA,CAAM,QAAA,CAAA1E,CAAS,CAAA,CAAImF,CAAAA,CACzCO,CAAAA,CAAaP,CAAAA,CAAK,GAAA,GAAQC,CAAAA,CAC1BO,CAAAA,CAAW3F,CAAAA,EAAYA,EAAS,MAAA,CAAS,CAAA,CACzCyB,CAAAA,CAAc4D,CAAAA,CAAgB,QAAA,CAASF,CAAAA,CAAK,GAAA,EAAO,EAAE,CAAA,CACrD,CAACS,CAAAA,CAAQC,CAAS,CAAA,CAAI1H,WAAAA,CAASsD,CAAW,CAAA,CAEhD,OAAKkE,CAAAA,CA0BHxG,cAAAA,CAAC2G,cAAAA,CAAA,CAEC,QAAA,CAAUL,CAAAA,CACV,MAAA,CAAO,MAAA,CACP,MAAA,CAAQ,CAAE,QAAA,CAAUN,CAAK,EAEzB,QAAA,CAAAhG,cAAAA,CAAC2F,EAAAA,CAAA,CACC,IAAA,CAAMc,CAAAA,CACN,YAAA,CAAcC,CAAAA,CACd,SAAA,CAAU,mBAAA,CAEV,QAAA,CAAA3F,eAAAA,CAACoD,EAAAA,CAAA,CACC,QAAA,CAAA,CAAAnE,cAAAA,CAAC6F,EAAAA,CAAA,CAAmB,OAAA,CAAO,IAAA,CACzB,QAAA,CAAA9E,eAAAA,CAACsD,EAAAA,CAAA,CAAkB,OAAA,CAAS+B,CAAAA,CAAO,QAAA,CAAUG,CAAAA,CAC1C,QAAA,CAAA,CAAAhB,CAAAA,EAAQvF,eAAC4G,oBAAAA,CAAA,CAAS,SAAA,CAAU,SAAA,CAAU,CAAA,CACvC5G,cAAAA,CAAC,MAAA,CAAA,CAAM,QAAA,CAAAoG,CAAAA,CAAM,CAAA,CACbpG,cAAAA,CAAC6G,wBAAAA,CAAA,CACC,SAAA,CAAWzH,EACT,mDAAA,CACAqH,CAAAA,EAAU,WACZ,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CACAzG,cAAAA,CAAC8F,EAAAA,CAAA,CACC,QAAA,CAAA9F,cAAAA,CAAC0E,EAAAA,CAAA,CACE,SAAA7D,CAAAA,CAAS,GAAA,CAAKiG,CAAAA,EACb9G,cAAAA,CAAC+F,EAAAA,CAAA,CAEC,IAAA,CAAMe,CAAAA,CACN,WAAA,CAAab,CAAAA,CACb,eAAA,CAAiBC,CAAAA,CACjB,IAAA,CAAMT,CAAAA,CACN,kBAAA,CAAoBU,CAAAA,CAAAA,CALfW,CAAAA,CAAM,GAMb,CACD,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAtCKd,CAAAA,CAAK,GAuCZ,CAAA,CAhEEhG,cAAAA,CAAC2G,cAAAA,CAAA,CAEC,SAAUL,CAAAA,CACV,MAAA,CAAO,MAAA,CACP,MAAA,CAAQ,CAAE,QAAA,CAAUN,CAAK,CAAA,CAEzB,QAAA,CAAAhG,cAAAA,CAACmE,EAAAA,CAAA,CACC,QAAA,CAAAnE,cAAAA,CAACqE,GAAA,CACC,OAAA,CAAS,CAACkC,CAAAA,EAAc,CAACJ,CAAAA,CACzB,OAAA,CAASC,CAAAA,CACT,QAAA,CAAUG,CAAAA,CACV,QAAA,CAAUA,CAAAA,EAAcJ,CAAAA,CAExB,QAAA,CAAApF,gBAAC0E,CAAAA,CAAA,CAAK,EAAA,CAAIY,CAAAA,CACP,QAAA,CAAA,CAAAd,CAAAA,EAAQvF,cAAAA,CAAC4G,oBAAAA,CAAA,CAAS,SAAA,CAAU,SAAA,CAAU,CAAA,CACvC5G,cAAAA,CAAC,MAAA,CAAA,CAAM,QAAA,CAAAoG,CAAAA,CAAM,CAAA,CAAA,CACf,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CAjBKJ,CAAAA,CAAK,GAkBZ,CA+CN,CAEO,SAASe,EAAAA,CAAQ,CAAE,IAAA,CAAAC,CAAAA,CAAM,kBAAA,CAAAb,EAAqB,KAAM,CAAA,CAAiB,CAC1E,IAAMV,CAAAA,CAAOC,YAAAA,EAAQ,CACf,CAAE,SAAA,CAAAuB,CAAAA,CAAW,WAAA,CAAAhB,CAAAA,CAAa,eAAA,CAAAC,CAAgB,EAAIgB,YAAAA,CAAQ,CAAE,IAAA,CAAAF,CAAK,CAAC,CAAA,CAEpE,OACEhH,cAAAA,CAACgE,EAAAA,CAAA,CACC,QAAA,CAAAjD,eAAAA,CAACkD,EAAAA,CAAA,CAAoB,UAAU,qBAAA,CAC7B,QAAA,CAAA,CAAAjE,cAAAA,CAACkE,EAAAA,CAAA,CACC,QAAA,CAAAnD,eAAAA,CAACoD,EAAAA,CAAA,CAAgB,SAAA,CAAU,yBAAA,CACzB,QAAA,CAAA,CAAApD,eAAAA,CAACsD,EAAAA,CAAA,CACC,OAAA,CAAQ,cAAA,CACR,SAAA,CAAU,2KAAA,CAEV,QAAA,CAAA,CAAArE,cAAAA,CAACmH,sBAAAA,CAAA,EAAW,CAAA,CACZnH,cAAAA,CAAC,MAAA,CAAA,CAAK,QAAA,CAAA,cAAA,CAAY,CAAA,CAAA,CACpB,CAAA,CACAe,gBAACrB,CAAAA,CAAA,CACC,IAAA,CAAK,MAAA,CACL,SAAA,CAAU,gDAAA,CACV,OAAA,CAAQ,SAAA,CAER,QAAA,CAAA,CAAAM,cAAAA,CAACoH,gBAAAA,CAAA,EAAK,CAAA,CACNpH,cAAAA,CAAC,QAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,OAAA,CAAK,CAAA,CAAA,CACjC,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CACAA,cAAAA,CAACkE,EAAAA,CAAA,CACE,QAAA,CAAA+C,CAAAA,CAAU,GAAA,CAAKjB,CAAAA,EACdhG,eAAC+F,EAAAA,CAAA,CAEC,IAAA,CAAMC,CAAAA,CACN,WAAA,CAAaC,CAAAA,CACb,eAAA,CAAiBC,CAAAA,CACjB,IAAA,CAAMT,CAAAA,CACN,kBAAA,CAAoBU,CAAAA,CAAAA,CALfH,CAAAA,CAAK,GAMZ,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAAA,CACF,CAEJ,CC5JA,SAASqB,EAAAA,CAAO,CACd,SAAA,CAAA1H,EACA,GAAGI,CACL,CAAA,CAAsD,CACpD,OACEC,cAAAA,CAAiBsH,aAAA,CAAA,IAAA,CAAhB,CACC,WAAA,CAAU,QAAA,CACV,SAAA,CAAWlI,CAAAA,CACT,4DAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASwH,EAAAA,CAAY,CACnB,SAAA,CAAA5H,CAAAA,CACA,GAAGI,CACL,CAAA,CAAuD,CACrD,OACEC,eAAiBsH,aAAA,CAAA,KAAA,CAAhB,CACC,WAAA,CAAU,cAAA,CACV,SAAA,CAAWlI,CAAAA,CAAG,yBAAA,CAA2BO,CAAS,CAAA,CACjD,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASyH,EAAAA,CAAe,CACtB,SAAA,CAAA7H,CAAAA,CACA,GAAGI,CACL,CAAA,CAA0D,CACxD,OACEC,cAAAA,CAAiBsH,aAAA,CAAA,QAAA,CAAhB,CACC,WAAA,CAAU,iBAAA,CACV,SAAA,CAAWlI,CAAAA,CACT,mEACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCzCA,SAAS0H,EAAAA,CAAa,CACpB,GAAG1H,CACL,CAAA,CAA4D,CAC1D,OAAOC,cAAAA,CAAuB0H,YAAA,CAAA,IAAA,CAAtB,CAA2B,WAAA,CAAU,eAAA,CAAiB,GAAG3H,CAAAA,CAAO,CAC1E,CAUA,SAAS4H,EAAAA,CAAoB,CAC3B,GAAG5H,CACL,CAAA,CAA+D,CAC7D,OACEC,cAAAA,CAAuB0H,qBAAtB,CACC,WAAA,CAAU,uBAAA,CACT,GAAG3H,CAAAA,CACN,CAEJ,CAEA,SAAS6H,EAAAA,CAAoB,CAC3B,SAAA,CAAAjI,CAAAA,CACA,UAAA,CAAA+B,CAAAA,CAAa,EACb,GAAG3B,CACL,CAAA,CAA+D,CAC7D,OACEC,cAAAA,CAAuB0H,YAAA,CAAA,MAAA,CAAtB,CACC,QAAA,CAAA1H,cAAAA,CAAuB0H,YAAA,CAAA,OAAA,CAAtB,CACC,WAAA,CAAU,uBAAA,CACV,WAAYhG,CAAAA,CACZ,SAAA,CAAWtC,CAAAA,CACT,wjBAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAAA,CACF,CAEJ,CAEA,SAAS8H,EAAAA,CAAkB,CACzB,GAAG9H,CACL,CAAA,CAA6D,CAC3D,OACEC,cAAAA,CAAuB0H,YAAA,CAAA,KAAA,CAAtB,CAA4B,WAAA,CAAU,qBAAA,CAAuB,GAAG3H,CAAAA,CAAO,CAE5E,CAEA,SAAS+H,GAAiB,CACxB,SAAA,CAAAnI,CAAAA,CACA,KAAA,CAAAoI,CAAAA,CACA,OAAA,CAAAnI,CAAAA,CAAU,SAAA,CACV,GAAGG,CACL,CAAA,CAGG,CACD,OACEC,cAAAA,CAAuB0H,kBAAtB,CACC,WAAA,CAAU,oBAAA,CACV,YAAA,CAAYK,CAAAA,CACZ,cAAA,CAAcnI,CAAAA,CACd,SAAA,CAAWR,CAAAA,CACT,6mBAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CA+DA,SAASiI,EAAAA,CAAkB,CACzB,SAAA,CAAArI,CAAAA,CACA,KAAA,CAAAoI,CAAAA,CACA,GAAGhI,CACL,CAAA,CAEG,CACD,OACEC,cAAAA,CAAuB0H,YAAA,CAAA,KAAA,CAAtB,CACC,WAAA,CAAU,qBAAA,CACV,YAAA,CAAYK,CAAAA,CACZ,SAAA,CAAW3I,CAAAA,CACT,mDAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASkI,GAAsB,CAC7B,SAAA,CAAAtI,CAAAA,CACA,GAAGI,CACL,CAAA,CAAiE,CAC/D,OACEC,cAAAA,CAAuB0H,YAAA,CAAA,SAAA,CAAtB,CACC,WAAA,CAAU,yBAAA,CACV,SAAA,CAAWtI,EAAG,2BAAA,CAA6BO,CAAS,CAAA,CACnD,GAAGI,CAAAA,CACN,CAEJ,CC7JO,SAASmI,GAAQ,CACtB,IAAA,CAAArD,CACF,CAAA,CAMG,CACD,GAAM,CAAE,QAAA,CAAA/F,CAAS,CAAA,CAAIqD,EAAAA,EAAW,CAEhC,OACEnC,cAAAA,CAACkE,EAAAA,CAAA,CACC,QAAA,CAAAlE,cAAAA,CAACmE,EAAAA,CAAA,CACC,QAAA,CAAApD,eAAAA,CAAC0G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAAzH,cAAAA,CAAC2H,EAAAA,CAAA,CAAoB,OAAA,CAAO,IAAA,CAC1B,SAAA5G,eAAAA,CAACsD,EAAAA,CAAA,CACC,IAAA,CAAK,IAAA,CACL,SAAA,CAAU,sFAAA,CAEV,QAAA,CAAA,CAAAtD,eAAAA,CAACsG,EAAAA,CAAA,CAAO,SAAA,CAAU,8BAAA,CAChB,QAAA,CAAA,CAAArH,eAACuH,EAAAA,CAAA,CAAY,GAAA,CAAK1C,CAAAA,CAAK,MAAA,CAAQ,GAAA,CAAKA,CAAAA,CAAK,IAAA,CAAM,CAAA,CAC/C7E,cAAAA,CAACwH,EAAAA,CAAA,CAAe,SAAA,CAAU,YAAA,CAAa,cAAE,CAAA,CAAA,CAC3C,CAAA,CACAzG,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6CAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,QAAA,CAAA6E,CAAAA,CAAK,IAAA,CAAK,CAAA,CAClD7E,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,wCAAA,CACb,QAAA,CAAA6E,CAAAA,CAAK,KAAA,CACR,CAAA,CAAA,CACF,CAAA,CACA7E,cAAAA,CAACmI,eAAAA,CAAA,CAAI,SAAA,CAAU,gBAAA,CAAiB,CAAA,CAAA,CAClC,EACF,CAAA,CACApH,eAAAA,CAAC6G,EAAAA,CAAA,CACC,SAAA,CAAU,6DAAA,CACV,IAAA,CAAM9I,CAAAA,CAAW,QAAA,CAAW,OAAA,CAC5B,KAAA,CAAM,KAAA,CACN,UAAA,CAAY,CAAA,CAEZ,UAAAkB,cAAAA,CAACgI,EAAAA,CAAA,CAAkB,SAAA,CAAU,iBAAA,CAC3B,QAAA,CAAAjH,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,uDAAA,CACb,QAAA,CAAA,CAAAA,eAAAA,CAACsG,EAAAA,CAAA,CAAO,UAAU,oBAAA,CAChB,QAAA,CAAA,CAAArH,cAAAA,CAACuH,EAAAA,CAAA,CAAY,GAAA,CAAK1C,CAAAA,CAAK,MAAA,CAAQ,GAAA,CAAKA,CAAAA,CAAK,IAAA,CAAM,CAAA,CAC/C7E,cAAAA,CAACwH,EAAAA,CAAA,CAAe,SAAA,CAAU,YAAA,CAAa,QAAA,CAAA,IAAA,CAAE,CAAA,CAAA,CAC3C,CAAA,CACAzG,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6CAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,sBAAA,CAAwB,SAAA6E,CAAAA,CAAK,IAAA,CAAK,CAAA,CAClD7E,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,wCAAA,CACb,QAAA,CAAA6E,CAAAA,CAAK,KAAA,CACR,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CACA7E,eAACiI,EAAAA,CAAA,EAAsB,CAAA,CACvBlH,eAAAA,CAAC8G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9G,eAAAA,CAAC+G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9H,cAAAA,CAACoI,sBAAAA,CAAA,EAAW,EAAE,SAAA,CAAA,CAEhB,CAAA,CACArH,eAAAA,CAAC+G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9H,cAAAA,CAACqI,sBAAAA,CAAA,EAAW,CAAA,CAAE,SAAA,CAAA,CAEhB,CAAA,CACAtH,eAAAA,CAAC+G,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA9H,cAAAA,CAACsI,gBAAAA,CAAA,EAAK,CAAA,CAAE,eAAA,CAAA,CAEV,CAAA,CAAA,CACF,CAAA,CACAtI,cAAAA,CAACiI,EAAAA,CAAA,EAAsB,CAAA,CACvBlH,eAAAA,CAAC+G,EAAAA,CAAA,CACC,UAAA9H,cAAAA,CAACuI,kBAAAA,CAAA,EAAO,CAAA,CAAE,SAAA,CAAA,CAEZ,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAEJ,CChFA,IAAMC,EAAAA,CAAO,CACX,IAAA,CAAM,CACJ,IAAA,CAAM,QAAA,CACN,KAAA,CAAO,eAAA,CACP,MAAA,CAAQ,qBACV,CACF,EAKO,SAASC,EAAAA,CAAY,CAC1B,KAAA,CAAOC,CAAAA,CACP,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3B,CAAAA,CACA,kBAAA,CAAAb,CAAAA,CAAqB,KAAA,CACrB,sBAAA,CAAAyC,CAAAA,CAAyB,IAAA,CACzB,GAAGC,CACL,CAAA,CAAqB,CACnB,IAAMC,CAAAA,CAAgBJ,CAAAA,EAAkB1D,EAAAA,CAClC,CAAE,KAAA,CAAA3B,CAAM,CAAA,CAAIlB,EAAAA,EAAW,CAG7B,OACEpB,gBAACwC,EAAAA,CAAA,CAAQ,WAAA,CAAY,MAAA,CAAQ,GAAGsF,CAAAA,CAC9B,QAAA,CAAA,CAAA7I,cAAAA,CAAC6D,EAAAA,CAAA,CACC,QAAA,CAAA7D,cAAAA,CAACkE,EAAAA,CAAA,CACC,SAAAlE,cAAAA,CAACmE,EAAAA,CAAA,CACC,QAAA,CAAAnE,cAAAA,CAACqE,EAAAA,CAAA,CACC,OAAA,CAAO,IAAA,CACP,SAAA,CAAU,wCAAA,CAEV,QAAA,CAAArE,cAAAA,CAAC8I,CAAAA,CAAA,CAAc,SAAA,CAXPzF,CAAAA,GAAU,WAAA,CAWqB,CAAA,CACzC,CAAA,CACF,CAAA,CACF,CAAA,CACF,CAAA,CACArD,cAAAA,CAAC+D,EAAAA,CAAA,CACC,QAAA,CAAA/D,cAAAA,CAAC+G,EAAAA,CAAA,CAAQ,IAAA,CAAMC,CAAAA,CAAM,kBAAA,CAAoBb,CAAAA,CAAoB,CAAA,CAC/D,CAAA,CACAnG,cAAAA,CAAC8D,EAAAA,CAAA,CACC,QAAA,CAAA9D,cAAAA,CAACkI,EAAAA,CAAA,CAAQ,IAAA,CAAMM,EAAAA,CAAK,KAAM,CAAA,CAC5B,CAAA,CAAA,CACF,CAEJ,CCzDO,SAASO,EAAAA,CAAc,CAC5B,SAAAlI,CAAAA,CACA,GAAGd,CACL,CAAA,CAAoD,CAClD,OAAOC,cAAAA,CAACgJ,wBAAAA,CAAA,CAAoB,GAAGjJ,CAAAA,CAAQ,QAAA,CAAAc,CAAAA,CAAS,CAClD,CCNO,IAAMoI,EAAAA,CAA8B,CAAC,CAC1C,QAAA,CAAApI,CAAAA,CACA,GAAGgI,CACL,CAAA,GAEI7I,cAAAA,CAAC+I,EAAAA,CAAA,CACC,SAAA,CAAU,YAAA,CACV,YAAA,CAAa,QAAA,CACb,YAAA,CAAY,IAAA,CACZ,yBAAA,CAAyB,IAAA,CACxB,GAAGF,CAAAA,CAEH,QAAA,CAAAhI,CAAAA,CACH,ECXG,IAAMqI,EAAAA,CAAe,CAAC,CAC3B,KAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,EACA,aAAA,CAAAC,CAAAA,CACA,QAAA,CAAA1I,CAAAA,CACA,qBAAA,CAAA2I,CAAAA,CACA,gBAAA,CAAAC,CACF,CAAA,GAKIzJ,cAAAA,CAACiJ,EAAAA,CAAA,CACC,QAAA,CAAAlI,eAAAA,CAACsB,GAAA,CACC,WAAA,CACEmH,CAAAA,GAA0B,MAAA,CAAY,CAACA,CAAAA,CAAwB,IAAA,CAEjE,YAAA,CACEC,CAAAA,CAAoB3G,CAAAA,EAAS2G,CAAAA,CAAiB,CAAC3G,CAAI,CAAA,CAAI,MAAA,CAEzD,KAAA,CACE,CACE,iBAAA,CAAmB,2BAAA,CACnB,iBAAA,CAAmB,2BACrB,CAAA,CAGF,QAAA,CAAA,CAAA9C,cAAAA,CAnBgBmJ,CAAAA,EAASV,EAAAA,CAmBxB,CAAc,KAAA,CAAOY,CAAAA,CAAO,CAAA,CAC7BtI,gBAAC6C,EAAAA,CAAA,CACC,QAAA,CAAA,CAAA5D,cAAAA,CApBeoJ,CAAAA,EAAUzE,EAAAA,CAoBxB,EAAe,CAAA,CAChB3E,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qCAAA,CAAuC,QAAA,CAAAa,CAAAA,CAAS,GACjE,CAAA,CAAA,CACF,CAAA,CACF,EC1CG,IAAM6I,EAAsB,CACjC,WAAA,CAAa,qBAAA,CACb,YAAA,CAAc,sBAAA,CACd,UAAA,CAAY,oBAAA,CACZ,UAAA,CAAY,oBAAA,CACZ,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,UAAA,CAAY,oBAAA,CACZ,aAAA,CAAe,uBAAA,CACf,UAAA,CAAY,oBACd,CAAA,CCXaC,EAAAA,CAA6B,CACxC,KAAA,CAAO,yBAET,CAAA,CAEaC,CAAAA,CAAyB,CACpC,WAAA,CAAa,qBAAA,CACb,YAAA,CAAc,sBAAA,CACd,UAAA,CAAY,oBAAA,CACZ,UAAA,CAAY,oBAAA,CACZ,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,YAAA,CAAc,sBAAA,CACd,WAAY,oBAAA,CACZ,aAAA,CAAe,uBAAA,CACf,UAAA,CAAY,oBACd,CAAA,KCHaC,EAAAA,CAAQ9J,CAAAA,EAAqB,CACxC,GAAM,CACJ,SAAA,CAAA+J,CAAAA,CACA,QAAA,CAAAjJ,CAAAA,CACA,iBAAA,CAAmBkJ,CAAAA,CACnB,QAAA,CAAUC,CAAAA,CACV,YAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,iBAAA,CAAAC,CAAAA,CACA,aAAA,CAAeC,CAAAA,CACf,UAAA,CAAYC,CAAAA,CACZ,KAAA,CAAAC,CACF,CAAA,CAAIxK,CAAAA,CACEyK,CAAAA,CAAYC,mBAAa,CACzB,CAAE,OAAA,CAAS,CAAE,UAAA,CAAYC,CAAiB,CAAA,CAAI,EAAG,CAAA,CAAIC,qBAAAA,EAAiB,CAEtEC,CAAAA,CAAsBC,wBAAAA,GAEtB,CAAE,QAAA,CAAAC,CAAAA,CAAU,UAAA,CAAAC,CAAW,CAAA,CAAIC,sBAAAA,CAAkB,CACjD,QAAA,CAAUhB,CACZ,CAAC,CAAA,CAEKiB,CAAAA,CACJnB,CAAAA,GAAc,CAAC,CAACgB,CAAAA,EAAU,MAAA,EAAUf,CAAAA,CAAAA,CAEhCmB,CAAAA,CACJ,OAAOZ,CAAAA,CAAwB,GAAA,CAC3BI,CAAAA,CACAJ,CAAAA,CAEAa,CAAAA,CAAmDF,CAAAA,CACrD,CACE,QAAA,CAAUF,EACV,GAAGhB,CACL,CAAA,CACA,MAAA,CAEEqB,CAAAA,CAAuBH,CAAAA,CAC3BjL,cAAAA,CAACqL,EAAAA,CAAA,CAAc,GAAGF,CAAAA,CAAmB,CAAA,CACnC,IAAA,CAEEG,CAAAA,CAAgBjB,EAClB,OAAOA,CAAAA,EAA2B,UAAA,CAChCA,CAAAA,CAAuB,CACrB,cAAA,CAAgBe,CAAAA,CAChB,iBAAA,CAAAD,CACF,CAAC,CAAA,CACDd,CAAAA,CACFe,CAAAA,CAEEG,EAAAA,CAAc,IACdhB,CAAAA,GAAU,KAAA,CAAc,IAAA,CAExBA,CAAAA,CACE,OAAOA,CAAAA,EAAU,QAAA,EAAY,OAAOA,CAAAA,EAAU,QAAA,CAE9CvK,cAAAA,CAAC,IAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,yBACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,QAAA,CAAAY,CAAAA,CACH,CAAA,CAIGA,CAAAA,CAIPvK,cAAAA,CAAC,IAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,wBAAA,CACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,QAAA,CAAAa,CAAAA,CACC,CAAA,EAAGO,CAAU,CAAA,YAAA,CAAA,CACbH,CAAAA,CAAoBE,CAAAA,EAAU,IAAA,EAAM,KAAA,EAASC,CAAAA,CAAY,QAAQ,CACnE,CAAA,CACF,CAAA,CAIJ,OACEhK,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAW3B,CAAAA,CAAG,oCAAoC,CAAA,CAAI,GAAG6K,CAAAA,CAC5D,QAAA,CAAA,CAAAlJ,eAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW3B,CAAAA,CACT,uEACF,CAAA,CACC,GAAG+K,CAAAA,CAEJ,QAAA,CAAA,CAAApJ,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,eAAA,CACZ,QAAA,CAAA,CAAA,OAAOmK,CAAAA,CAAe,GAAA,CACrBlL,cAAAA,CAAA+E,mBAAAA,CAAA,CAAG,QAAA,CAAAmG,CAAAA,CAAW,EAEdlL,cAAAA,CAACwL,EAAAA,CAAA,EAAW,CAAA,CAEbD,EAAAA,EAAY,CAAA,CACf,CAAA,CACAvL,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CAAG,mDAAmD,CAAA,CAChE,GAAGgL,CAAAA,CAEH,QAAA,CAAAkB,CAAAA,CACH,CAAA,CAAA,CACF,CAAA,CACAtL,cAAAA,CAAC,KAAA,CAAA,CAAK,GAAGkK,CAAAA,CAAe,QAAA,CAAArJ,CAAAA,CAAS,CAAA,CAAA,CACnC,CAEJ,ECzGO,IAAM4K,EAAAA,CAAU1L,CAAAA,EAAuB,CAC5C,GAAM,CACJ,SAAAc,CAAAA,CACA,eAAA,CAAiB6K,CAAAA,CACjB,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAU3B,CAAAA,CACV,aAAA,CAAe4B,CAAAA,CACf,iBAAA,CAAAC,CAAAA,CACA,aAAA,CAAexB,CAAAA,CACf,iBAAA,CAAAD,CAAAA,CACA,YAAA,CAAAH,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CACA,MAAA,CAAQ2B,CAAAA,CACR,UAAA,CAAYxB,CAAAA,CACZ,KAAA,CAAAC,CACF,CAAA,CAAIxK,CAAAA,CACEyK,CAAAA,CAAYC,mBAAa,CACzB,CAAE,OAAA,CAAS,CAAE,UAAA,CAAYC,CAAiB,CAAA,CAAI,EAAG,CAAA,CAAIC,qBAAAA,EAAiB,CAEtEoB,CAAAA,CAAOC,YAAAA,GACPpB,CAAAA,CAAsBC,wBAAAA,EAAoB,CAC1C,CAAE,QAAA,CAAAC,CAAAA,CAAU,MAAA,CAAAmB,CAAAA,CAAQ,UAAA,CAAAlB,CAAW,CAAA,CAAIC,sBAAAA,EAAkB,CAErDE,EAAAA,CACJ,OAAOZ,CAAAA,CAAwB,GAAA,CAC3BI,CAAAA,CACAJ,CAAAA,CAEA4B,CAAAA,CAAmC,CACvC,GAAIP,CAAAA,CAAY,CAAE,QAAA,CAAU,IAAK,CAAA,CAAI,EAAC,CACtC,GAAGD,CACL,CAAA,CAEMS,CAAAA,CAAuBnM,cAAAA,CAACoM,EAAAA,CAAA,CAAY,GAAGF,CAAAA,CAAiB,CAAA,CAExDG,CAAAA,CACJP,CAAAA,GAA8B,IAAA,CAAQ,IAAA,CACpC9L,cAAAA,CAACN,EAAA,CACC,OAAA,CAAQ,OAAA,CACR,IAAA,CAAK,IAAA,CACL,OAAA,CACEuM,CAAAA,GAAW,MAAA,EAAU,OAAOA,CAAAA,CAAW,GAAA,CAAcF,CAAAA,CAAO,MAAA,CAG7D,QAAA,CAAA,OAAOD,EAAoB,GAAA,CAC1BA,CAAAA,CAEA9L,cAAAA,CAACsM,qBAAAA,CAAA,CAAU,SAAA,CAAU,SAAA,CAAU,CAAA,CAEnC,CAAA,CAGEhB,CAAAA,CAAgBjB,CAAAA,CAClB,OAAOA,CAAAA,EAA2B,UAAA,CAChCA,EAAuB,CACrB,cAAA,CAAgB,IAClB,CAAC,CAAA,CACDA,CAAAA,CACF,IAAA,CAEEkC,CAAAA,CAAgBX,CAAAA,CAClB,OAAOA,CAAAA,EAA2B,UAAA,CAChCA,CAAAA,CAAuB,CACrB,cAAA,CAAgBO,CAAAA,CAChB,eAAA,CAAAD,CACF,CAAC,CAAA,CACDN,CAAAA,CACFO,CAAAA,CAEEZ,CAAAA,CAAc,IACdhB,CAAAA,GAAU,KAAA,CAAc,IAAA,CAExBA,CAAAA,CACE,OAAOA,CAAAA,EAAU,UAAY,OAAOA,CAAAA,EAAU,QAAA,CAE9CvK,cAAAA,CAAC,IAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,wBAAA,CACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,QAAA,CAAAY,CAAAA,CACH,CAAA,CAIGA,EAIPvK,cAAAA,CAAC,IAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,wBAAA,CACAuK,EAAAA,CAA2B,KAC7B,CAAA,CAEC,QAAA,CAAAa,CAAAA,CACC,CAAA,EAAGO,CAAU,CAAA,cAAA,CAAA,CACb,CAAA,OAAA,EAAUH,EACRE,CAAAA,EAAU,IAAA,EAAM,KAAA,EAASC,CAAAA,CACzB,UACF,CAAC,CAAA,CACH,CAAA,CACF,CAAA,CAIJ,OACEhK,eAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW3B,CAAAA,CAAG,6CAA6C,CAAA,CAC1D,GAAG6K,CAAAA,CAEH,QAAA,CAAA,CAAA0B,CAAAA,EACC3L,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6DAAA,CACb,QAAA,CAAAA,cAAAA,CAACwM,mBAAAA,CAAA,CAAQ,SAAA,CAAU,sBAAA,CAAuB,EAC5C,CAAA,CAEFzL,eAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAW3B,CAAAA,CACT,uEACF,CAAA,CACC,GAAG+K,CAAAA,CAEJ,QAAA,CAAA,CAAApJ,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,eAAA,CACZ,iBAAOmK,EAAAA,CAAe,GAAA,CACrBlL,cAAAA,CAAA+E,mBAAAA,CAAA,CAAG,QAAA,CAAAmG,EAAAA,CAAW,CAAA,CAEdlL,cAAAA,CAACwL,EAAAA,CAAA,EAAW,CAAA,CAEdzK,eAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,yBAAA,CACZ,QAAA,CAAA,CAAAsL,CAAAA,CACAd,CAAAA,EAAY,CAAA,CACf,CAAA,CAAA,CACF,CAAA,CACAvL,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CAAG,mDAAmD,CAAA,CAChE,GAAGgL,CAAAA,CAEH,QAAA,CAAAkB,CAAAA,CACH,CAAA,CAAA,CACF,CAAA,CACAtL,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWZ,CAAAA,CAAGuM,CAAAA,EAAa,YAAY,CAAA,CAAI,GAAGzB,CAAAA,CAChD,QAAA,CAAArJ,CAAAA,CACH,EACAb,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWZ,CAAAA,CAAG,6BAA6B,CAAA,CAAI,GAAGyM,CAAAA,CACpD,QAAA,CAAAU,CAAAA,CACH,CAAA,CAAA,CACF,CAEJ,EC/JO,IAAMlB,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAUoB,CAAAA,CACV,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,EAAe,EAAA,CAAAC,CAAG,CAAA,CAAIC,oBAAAA,CAC5D,CACE,QAAA,CAAUP,CAAAA,CACV,IAAA,CAAAzF,CAAAA,CACA,aAAA,CAAA2F,CACF,CACF,CAAA,CAEMM,CAAAA,CAAaJ,GAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,QAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,QAAA,CAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,YAAA,CACjC,SAAA,CAAWE,EAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACmN,sBAAAA,CAAA,EAAW,CAAA,CAAE,GAAA,CAAE,CAACT,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAAA,CACF,CAEJ,EChDO,IAAMgH,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAUX,CAAAA,CACV,YAAA,CAAAY,CAAAA,CACA,QAAA,CAAAX,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,EAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAIO,kBAAAA,CAAc,CAC1E,QAAA,CAAUb,CAAAA,CACV,EAAA,CAAIY,CAAAA,CACJ,IAAA,CAAArG,EACA,aAAA,CAAA2F,CACF,CAAC,CAAA,CAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,EAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,QAAA,CAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,MAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,UAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACuN,sBAAAA,CAAA,EAAW,CAAA,CAAE,IAAE,CAACb,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAAA,CACF,CAEJ,ECpDA,SAASoH,GAAQ,CACf,GAAGzN,CACL,CAAA,CAAuD,CACrD,OAAOC,cAAAA,CAAkByN,aAAA,CAAA,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAG1N,CAAAA,CAAO,CAC/D,CAEA,SAAS2N,EAAAA,CAAe,CACtB,GAAG3N,CACL,CAAA,CAA0D,CACxD,OAAOC,cAAAA,CAAkByN,aAAA,CAAA,OAAA,CAAjB,CAAyB,WAAA,CAAU,iBAAA,CAAmB,GAAG1N,CAAAA,CAAO,CAC1E,CAEA,SAAS4N,EAAAA,CAAe,CACtB,SAAA,CAAAhO,CAAAA,CACA,KAAA,CAAAiO,CAAAA,CAAQ,QAAA,CACR,UAAA,CAAAlM,CAAAA,CAAa,CAAA,CACb,GAAG3B,CACL,EAA0D,CACxD,OACEC,cAAAA,CAAkByN,aAAA,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAzN,cAAAA,CAAkByN,aAAA,CAAA,OAAA,CAAjB,CACC,WAAA,CAAU,iBAAA,CACV,KAAA,CAAOG,CAAAA,CACP,UAAA,CAAYlM,EACZ,SAAA,CAAWtC,CAAAA,CACT,geAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAAA,CACF,CAEJ,CC3BO,IAAM8N,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAUpB,CAAAA,CACV,YAAA,CAAAY,CAAAA,CACA,SAAA,CAAAS,CAAAA,CACA,YAAA,CAAcC,CAAAA,CACd,QAAA,CAAAlN,CAAAA,CACA,mBAAA,CAAAmN,CAAAA,CACA,iBAAA,CAAAC,EACA,QAAA,CAAAvB,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,WAAA,CAAAkH,CAAAA,CACA,gBAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,GAAGzF,CACL,CAAA,GAAyB,CACvB,GAAM,CAAC/F,CAAAA,CAAMC,CAAO,CAAA,CAAI/D,WAAAA,CAAS,KAAK,CAAA,CAChC,CACJ,SAAA,CAAAuP,CAAAA,CACA,KAAA,CAAAnI,CAAAA,CACA,KAAA,CAAAmE,CAAAA,CACA,QAAA,CAAAsC,CAAAA,CACA,MAAA,CAAAD,EAAAA,CACA,OAAA,CAAA4B,CAAAA,CACA,YAAA,CAAcC,CAAAA,CACd,cAAA,CAAgBC,EAChB,WAAA,CAAaC,CACf,CAAA,CAAIC,oBAAAA,CAAgB,CAClB,QAAA,CAAUnC,CAAAA,CACV,EAAA,CAAIY,CAAAA,CACJ,SAAA,CAAAS,CAAAA,CACA,YAAA,CAAcC,CAAAA,CACd,mBAAA,CAAAC,EACA,iBAAA,CAAAC,CAAAA,CACA,aAAA,CAAAtB,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,gBAAA,CAAAmH,CAAAA,CACA,WAAA,CAAAD,CACF,CAAC,CAAA,CAEKjB,CAAAA,CAAaJ,CAAAA,EAAYhE,EAAK,QAAA,CAGpC,OAFiB+D,EAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB9H,eAAAA,CAACyM,EAAAA,CAAA,CAAQ,IAAA,CAAM1K,CAAAA,CAAM,YAAA,CAAcC,CAAAA,CACjC,QAAA,CAAA,CAAA/C,cAAAA,CAAC0N,EAAAA,CAAA,CAAe,OAAA,CAAO,IAAA,CACrB,QAAA,CAAA3M,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,YAAA,CACjC,UAAWE,CAAAA,CAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC6O,iBAAAA,CAAA,EAAM,CAAA,CAAE,GAAA,CAAE,CAACnC,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CACvC,EACF,CAAA,CACArF,eAAAA,CAAC4M,EAAAA,CAAA,CACE,QAAA,CAAA,CAAAS,CAAAA,EAAgBK,CAAAA,CACjB1N,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,SAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACN,CAAAA,CAAA,CAAO,OAAA,CAAS,IAAMqD,CAAAA,CAAQ,KAAK,CAAA,CACjC,QAAA,CAAAuL,CAAAA,EAAqBK,CAAAA,CACxB,CAAA,CACA3O,cAAAA,CAACN,CAAAA,CAAA,CACC,OAAA,CAAS,IAAM,CACb6O,CAAAA,EAAU,CACVxL,CAAAA,CAAQ,KAAK,EACf,CAAA,CAEC,QAAA,CAAAsL,CAAAA,EAAiBK,CAAAA,CACpB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,EChFO,IAAMI,GAAgB,CAAC,CAC5B,QAAA,CAAUrC,CAAAA,CACV,YAAA,CAAAY,CAAAA,CACA,QAAA,CAAAX,CAAAA,CAAW,KAAA,CACX,gBAAA,CAAAyB,CAAAA,CACA,QAAA,CAAAtN,CAAAA,CACA,GAAGgI,CACL,CAAA,GAA0B,CACxB,GAAM,CACJ,OAAA,CAASkG,CAAAA,CACT,KAAA,CAAA3I,CAAAA,CACA,OAAA,CAAAoI,CACF,CAAA,CAAIQ,qBAAAA,CAAiB,CACnB,QAAA,CAAUvC,CAAAA,CACV,EAAA,CAAIY,CAAAA,CACJ,gBAAA,CAAAc,CACF,CAAC,CAAA,CAEKlB,CAAAA,CAAauB,CAAAA,EAAW3F,CAAAA,CAAK,QAAA,CAEnC,OACE9H,eAAAA,CAACrB,CAAAA,CAAA,CACC,OAAA,CAASqP,EACT,QAAA,CAAU9B,CAAAA,CACV,aAAA,CAAavD,CAAAA,CAAoB,aAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,aAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACiP,sBAAAA,CAAA,EAAW,EAAE,GAAA,CAAE,CAACvC,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAEJ,EC9BO,IAAM8I,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAUzC,CAAAA,CACV,YAAA,CAAAY,CAAAA,CACA,QAAA,CAAAX,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAIoC,kBAAAA,CAAc,CAC1E,QAAA,CAAU1C,CAAAA,CACV,EAAA,CAAIY,CAAAA,CACJ,IAAA,CAAArG,CAAAA,CACA,aAAA,CAAA2F,CACF,CAAC,CAAA,CAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,SAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,UAAA,CACjC,GAAGf,EAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACoP,eAAAA,CAAA,EAAI,CAAA,CAAE,GAAA,CAAE,CAAC1C,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CACrC,CAAA,CACF,CAEJ,EChDO,IAAMiJ,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAU5C,CAAAA,CACV,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,aAAA,CAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,MAAA,CAAA+D,CAAAA,CAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,EAAe,EAAA,CAAAC,CAAG,CAAA,CAAIuC,kBAAAA,CAAc,CAC1E,QAAA,CAAU7C,CAAAA,CACV,IAAA,CAAAzF,CAAAA,CACA,aAAA,CAAA2F,CACF,CAAC,CAAA,CAEKM,CAAAA,CAAaJ,GAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,CAAAA,CAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,QAAA,CAAAnM,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,EAAuB,UAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC6J,gBAAAA,CAAA,EAAK,CAAA,CAAE,GAAA,CAAE,CAAC6C,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CACtC,CAAA,CACF,CAEJ,EC/CO,IAAMmJ,EAAAA,CAAe,CAAC,CAC3B,QAAA,CAAA7C,CAAAA,CAAW,KAAA,CACX,OAAA,CAAA8B,CAAAA,CAAU,KAAA,CACV,QAAA,CAAA3N,CAAAA,CACA,GAAGgI,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,KAAA,CAAAzC,CAAM,CAAA,CAAIoJ,oBAAAA,EAAgB,CAE5BvC,CAAAA,CAAauB,CAAAA,EAAW3F,CAAAA,CAAK,QAAA,CAEnC,OACE9H,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,aAAA,CAAavD,CAAAA,CAAoB,YAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACyP,oBAAAA,CAAA,EAAS,EAAE,GAAA,CAAE,CAAC/C,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CAC1C,CAEJ,ECpBO,IAAMgG,EAAAA,CAAa,CAAC,CACzB,QAAA,CAAAM,CAAAA,CAAW,KAAA,CACX,QAAA,CAAA7L,CAAAA,CACA,GAAGgI,CACL,CAAA,GAAuB,CACrB,GAAM,CAAE,KAAA,CAAAzC,CAAM,CAAA,CAAIsJ,kBAAAA,EAAc,CAEhC,OACE3O,eAAAA,CAACrB,CAAAA,CAAA,CACC,cAAagK,CAAAA,CAAoB,UAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,UAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAAC2P,gBAAAA,CAAA,EAAK,CAAA,CAAE,GAAA,CAAE,CAACjD,IAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CACtC,CAEJ,ECfO,IAAMwJ,EAAAA,CAAc,CAAC,CAC1B,QAAA,CAAUnD,CAAAA,CACV,YAAA,CAAAY,CAAAA,CACA,QAAA,CAAAX,CAAAA,CAAW,KAAA,CACX,cAAAC,CAAAA,CACA,IAAA,CAAA3F,CAAAA,CACA,QAAA,CAAAnG,CAAAA,CACA,OAAA,CAAA6C,CAAAA,CACA,GAAGmF,CACL,CAAA,GAAwB,CACtB,GAAM,CAAE,MAAA,CAAA+D,EAAQ,QAAA,CAAAC,CAAAA,CAAU,KAAA,CAAAzG,CAAAA,CAAO,KAAA,CAAAmE,CAAAA,CAAO,aAAA,CAAAuC,CAAAA,CAAe,EAAA,CAAAC,CAAG,CAAA,CAAI8C,mBAAAA,CAAe,CAC3E,QAAA,CAAUpD,EACV,EAAA,CAAIY,CAAAA,CACJ,IAAA,CAAArG,CAAAA,CACA,aAAA,CAAA2F,CACF,CAAC,CAAA,CAEKM,CAAAA,CAAaJ,CAAAA,EAAYhE,CAAAA,CAAK,QAAA,CAGpC,OAFiB+D,CAAAA,EAAU/D,CAAAA,CAAK,MAAA,CAEX,IAAA,CAGnB7I,cAAAA,CAAC8M,CAAAA,CAAA,CACC,EAAA,CAAIC,CAAAA,CACJ,OAAA,CAAS,KAAA,CACT,OAAA,CAAUG,CAAAA,EAA6C,CACrD,GAAID,CAAAA,CAAY,CACdC,EAAE,cAAA,EAAe,CACjB,MACF,CACIxJ,CAAAA,GACFwJ,CAAAA,CAAE,cAAA,EAAe,CACjBxJ,CAAAA,CAAQwJ,CAAC,CAAA,EAEb,CAAA,CAEA,QAAA,CAAAnM,eAAAA,CAACrB,EAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,KAAA,CAAO1C,CAAAA,CACP,aAAA,CAAab,CAAAA,CAAoB,WAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,WAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,eAAC8P,gBAAAA,CAAA,EAAK,CAAA,CAAE,GAAA,CAAE,CAACpD,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CACtC,CAAA,CACF,CAEJ,ECjDO,IAAM2J,EAAAA,CAAe,CAAC,CAC3B,UAAA,CAAAC,EACA,QAAA,CAAAtD,CAAAA,CAAW,KAAA,CACX,OAAA,CAAA8B,CAAAA,CAAU,KAAA,CACV,QAAA,CAAA3N,CAAAA,CACA,GAAGgI,CACL,CAAA,GAAyB,CACvB,GAAM,CAAE,MAAAzC,CAAM,CAAA,CAAI6J,oBAAAA,EAAgB,CAE5BhD,CAAAA,CAAauB,CAAAA,EAAW3F,CAAAA,CAAK,QAAA,CAEnC,OACE9H,eAAAA,CAACrB,CAAAA,CAAA,CACC,QAAA,CAAUuN,CAAAA,CACV,cAAavD,CAAAA,CAAoB,YAAA,CACjC,SAAA,CAAWE,CAAAA,CAAuB,YAAA,CACjC,GAAGf,CAAAA,CAEJ,QAAA,CAAA,CAAA7I,cAAAA,CAACmN,sBAAAA,CAAA,EAAW,CAAA,CAAE,GAAA,CAAE,CAACT,CAAAA,GAAa7L,CAAAA,EAAYuF,CAAAA,CAAAA,CAAAA,CAC5C,CAEJ,EC1BA,IAAM8J,EAAAA,CAAezQ,0BAAAA,CAAI,iBAAA,CAAmB,CAC1C,QAAA,CAAU,CACR,IAAA,CAAM,CACJ,EAAA,CAAI,SAAA,CACJ,EAAA,CAAI,YACJ,EAAA,CAAI,SACN,CACF,CAAA,CACA,eAAA,CAAiB,CACf,IAAA,CAAM,IACR,CACF,CAAC,CAAA,CASY0Q,EAAAA,CAAaC,aAAA,CAAA,UAAA,CACxB,CAAC,CAAE,SAAA,CAAAzQ,CAAAA,CAAW,IAAA,CAAAE,CAAAA,CAAM,OAAA,CAAAC,CAAAA,CAAS,GAAGC,CAAM,CAAA,CAAGsQ,CAAAA,GAGrCrQ,cAAAA,CAFWF,CAAAA,CAAUG,cAAAA,CAAO,MAAA,CAE3B,CACC,GAAA,CAAKoQ,CAAAA,CACL,SAAA,CAAWjR,CAAAA,CAAG8Q,EAAAA,CAAa,CAAE,IAAA,CAAArQ,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CAC9C,GAAGI,CAAAA,CACN,CAGN,CAAA,CACAoQ,EAAAA,CAAK,WAAA,CAAc,MAAA,CClCZ,IAAMG,EAAAA,CAAY,CAAC,CAAE,KAAA,CAAAtN,CAAAA,CAAO,GAAG6F,CAAK,CAAA,GAClC7I,cAAAA,CAACmQ,EAAAA,CAAA,CAAM,GAAGtH,CAAAA,CAAO,QAAA,CAAA7F,CAAAA,CAAM,ECCzB,IAAMuN,EAAAA,CAAe,CAAC,CAC3B,KAAA,CAAAvN,CAAAA,CACA,cAAA,CAAAwN,CAAAA,CAAiB,MAAA,CACjB,eAAA,CAAAC,CAAAA,CAAkB,OAAA,CAClB,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,GAAG/H,CACL,CAAA,GAEI7I,cAAAA,CAACuB,EAAAA,CAAA,CAAS,GAAGsH,CAAAA,CACX,QAAA,CAAA7I,eAAC,MAAA,CAAA,CACE,QAAA,CAAAgD,CAAAA,CACI0N,CAAAA,EACC1Q,cAAAA,CAAC6Q,iBAAAA,CAAA,CACC,IAAA,CAAM,EAAA,CACL,GAAGD,CAAAA,CACJ,SAAA,CAAW,CAAA,UAAA,EAAaA,CAAAA,EAAc,UAAY,CAAA,CAAA,EAAIA,CAAAA,CAAa,SAAS,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CACrF,CAAA,CAEDD,CAAAA,EACC3Q,cAAAA,CAAC8Q,iBAAAA,CAAA,CACC,IAAA,CAAM,EAAA,CACL,GAAGF,EACJ,SAAA,CAAW,CAAA,UAAA,EAAaA,CAAAA,EAAc,SAAA,CAAY,CAAA,CAAA,EAAIA,CAAAA,CAAa,SAAS,CAAA,CAAA,CAAK,EAAE,CAAA,CAAA,CACrF,CAAA,CAER,CAAA,CACF,EC9BJ,SAASG,EAAAA,EAAgC,CACvC,OAAO,CAAC,EACN,OAAO,IAAA,EAAS,QAAA,EAChB,IAAA,EACA,OAAO,IAAA,CAAK,YAAA,EAAiB,UAAA,CAEjC,CAEO,IAAMC,EAAAA,CAAc,CAAC,CAC1B,KAAA,CAAAhO,CAAAA,CACA,MAAA,CAAAiO,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGrI,CACL,CAAA,GAAwB,CACtB,IAAMsI,CAAAA,CAAS,MAAA,CAAOnO,CAAK,CAAA,CAE3B,OACEhD,cAAAA,CAACmQ,EAAAA,CAAA,CAAM,GAAGtH,CAAAA,CACP,QAAA,CAAAkI,EAAAA,EAA8B,CAC3BI,CAAAA,CAAO,eAAeF,CAAAA,CAAQC,CAAO,CAAA,CACrCC,CAAAA,CACN,CAEJ,ECrBO,IAAMC,EAAAA,CAAiB,IAAM,CAClC,GAAM,CAACC,CAAAA,CAAcC,CAAe,CAAA,CAAItS,WAAAA,CAAwB,IAAI,CAAA,CAC9D,CAACuS,CAAAA,CAASC,CAAU,CAAA,CAAIxS,WAAAA,CAAS,KAAK,CAAA,CACtCwL,CAAAA,CAAYC,mBAAa,CACzBgH,CAAAA,CAAKC,UAAAA,EAAM,CACX,CAAE,MAAA,CAAAzF,CAAAA,CAAQ,QAAA,CAAAnB,CAAS,CAAA,CAAIE,sBAAAA,EAAkB,CAE/C,OAAA/L,YAAAA,CAAU,IAAM,CACV6L,CAAAA,EAAYmB,CAAAA,EACdqF,CAAAA,CACE9G,CAAAA,CACE,kBAAA,CACA,CAAE,QAAA,CAAUM,CAAAA,CAAS,IAAA,CAAM,MAAA,CAAAmB,CAAO,CAAA,CAClC,CAAA,8BAAA,EAAiCA,CAAM,CAAA,iBAAA,EAAoBnB,CAAAA,CAAS,IAAI,CAAA,kCAAA,CAC1E,CACF,EAEJ,CAAA,CAAG,CAACA,CAAAA,CAAUmB,CAAAA,CAAQzB,CAAS,CAAC,CAAA,CAG9BzJ,eAAAA,CAAC,OACC,QAAA,CAAA,CAAAf,cAAAA,CAAC,IAAA,CAAA,CAAG,QAAA,CAAA,KAAA,CAAG,CAAA,CACPA,cAAAA,CAAC,GAAA,CAAA,CACE,QAAA,CAAAwK,CAAAA,CACC,iBAAA,CACA,6CACF,CAAA,CACF,CAAA,CACC6G,CAAAA,EAAgBrR,eAAC,GAAA,CAAA,CAAG,QAAA,CAAAqR,CAAAA,CAAa,CAAA,CACjCvG,CAAAA,EAAYmB,CAAAA,EAAU,CAAC,QAAA,CAAU,MAAA,CAAQ,MAAM,CAAA,CAAE,QAAA,CAASA,CAAM,CAAA,EAC/DlL,gBAAC,KAAA,CAAA,CACC,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CACC,aAAA,CAAY,yBAAA,CACZ,WAAA,CAAa,IAAMwR,CAAAA,CAAW,IAAI,CAAA,CAClC,UAAA,CAAY,IAAMA,CAAAA,CAAW,KAAK,CAAA,CACpC,CAAA,CACCD,CAAAA,EACCvR,cAAAA,CAAC,GAAA,CAAA,CACE,QAAA,CAAAwK,CAAAA,CACC,mCAAA,CACA,CAAE,QAAA,CAAUM,CAAAA,CAAS,IAAA,CAAM,MAAA,CAAAmB,CAAO,CAAA,CAClC,sCAAsCA,CAAM,CAAA,gBAAA,EAAmBnB,CAAAA,CAAS,IAAI,CAAA,WAAA,CAC9E,CAAA,CACF,CAAA,CAAA,CAEJ,CAAA,CAEF9K,cAAAA,CAACN,CAAAA,CAAA,CACC,OAAA,CAAS,IAAM,CACb+R,EAAG,CAAE,EAAA,CAAI,GAAI,CAAC,EAChB,CAAA,CAEC,QAAA,CAAAjH,CAAAA,CAAU,sBAAA,CAAwB,WAAW,CAAA,CAChD,CAAA,CAAA,CACF,CAEJ,EC3DA,IAAAmH,EAAAA,CAAgBC,CAAAA,EACdA,CAAAA,CAAQ,IAAA,GAAS,UAAA,CCHnBC,EAAAA,CAAgB7O,CAAAA,EAAkCA,CAAAA,YAAiB,IAAA,CCAnE8O,EAAAA,CAAgB9O,CAAAA,EAA8CA,CAAAA,EAAS,IAAA,CCG1D+O,EAAAA,CAAgB/O,CAAAA,EAC3B,OAAOA,CAAAA,EAAU,QAAA,CAEnBgP,CAAAA,CAAkChP,CAAAA,EAChC,CAAC8O,EAAAA,CAAkB9O,CAAK,CAAA,EACxB,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,EACpB+O,EAAAA,CAAa/O,CAAK,CAAA,EAClB,CAAC6O,EAAAA,CAAa7O,CAAK,CAAA,CCLrBiP,EAAAA,CAAgB7O,GACd4O,CAAAA,CAAS5O,CAAK,CAAA,EAAMA,CAAAA,CAAgB,MAAA,CAChCuO,EAAAA,CAAiBvO,CAAAA,CAAgB,MAAM,CAAA,CACpCA,CAAAA,CAAgB,MAAA,CAAO,OAAA,CACvBA,CAAAA,CAAgB,MAAA,CAAO,MAC1BA,CAAAA,CCVN8O,EAAAA,CAAgB5L,CAAAA,EACdA,CAAAA,CAAK,SAAA,CAAU,CAAA,CAAGA,CAAAA,CAAK,MAAA,CAAO,aAAa,CAAC,CAAA,EAAKA,CAAAA,CCGnD6L,EAAAA,CAAe,CAACC,CAAAA,CAA+B9L,CAAAA,GAC7C8L,CAAAA,CAAM,GAAA,CAAIF,EAAAA,CAAkB5L,CAAI,CAAC,CAAA,CCHnC+L,EAAAA,CAAgBC,CAAAA,EAAsB,CACpC,IAAMC,CAAAA,CACJD,CAAAA,CAAW,WAAA,EAAeA,CAAAA,CAAW,YAAY,SAAA,CAEnD,OACEN,CAAAA,CAASO,CAAa,CAAA,EAAKA,CAAAA,CAAc,cAAA,CAAe,eAAe,CAE3E,CAAA,CCTAC,EAAAA,CAAe,OAAO,MAAA,CAAW,GAAA,EAC/B,OAAO,MAAA,CAAO,WAAA,CAAgB,GAAA,EAC9B,OAAO,QAAA,CAAa,GAAA,CCER,SAAUC,EAAAA,CAAejK,CAAAA,CAAO,CAC5C,IAAIkK,CAAAA,CACEC,CAAAA,CAAU,KAAA,CAAM,QAAQnK,CAAI,CAAA,CAC5BoK,CAAAA,CACJ,OAAO,QAAA,CAAa,GAAA,CAAcpK,CAAAA,YAAgB,QAAA,CAAW,KAAA,CAE/D,GAAIA,CAAAA,YAAgB,IAAA,CAClBkK,CAAAA,CAAO,IAAI,KAAKlK,CAAI,CAAA,CAAA,KAAA,GAEpB,EAAEgK,EAAAA,GAAUhK,CAAAA,YAAgB,IAAA,EAAQoK,CAAAA,CAAAA,CAAAA,GACnCD,CAAAA,EAAWX,CAAAA,CAASxJ,CAAI,CAAA,CAAA,CAIzB,GAFAkK,CAAAA,CAAOC,CAAAA,CAAU,EAAA,CAAK,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,cAAA,CAAenK,CAAI,CAAC,CAAA,CAE3D,CAACmK,CAAAA,EAAW,CAACN,EAAAA,CAAc7J,CAAI,CAAA,CACjCkK,EAAOlK,CAAAA,CAAAA,KAEP,IAAA,IAAWqK,CAAAA,IAAOrK,CAAAA,CACZA,CAAAA,CAAK,cAAA,CAAeqK,CAAG,CAAA,GACzBH,CAAAA,CAAKG,CAAG,CAAA,CAAIJ,EAAAA,CAAYjK,CAAAA,CAAKqK,CAAG,CAAC,CAAA,CAAA,CAAA,KAKvC,OAAOrK,CAAAA,CAGT,OAAOkK,CACT,CChCA,IAAAI,EAAAA,CAAgB9P,CAAAA,EAAkB,OAAA,CAAQ,IAAA,CAAKA,CAAK,CAAA,CCApD+P,CAAAA,CAAgBC,CAAAA,EAAmCA,CAAAA,GAAQ,MAAA,CCA3DC,EAAAA,CAAwBjQ,CAAAA,EACtB,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAIA,CAAAA,CAAM,MAAA,CAAO,OAAO,CAAA,CAAI,EAAA,CCCjDkQ,EAAAA,CAAgBC,GACdF,EAAAA,CAAQE,CAAAA,CAAM,OAAA,CAAQ,WAAA,CAAa,EAAE,CAAA,CAAE,KAAA,CAAM,OAAO,CAAC,CAAA,CCGvDC,CAAAA,CAAe,CACbC,CAAAA,CACAC,CAAAA,CACAC,IACO,CACP,GAAI,CAACD,CAAAA,EAAQ,CAACtB,CAAAA,CAASqB,CAAM,CAAA,CAC3B,OAAOE,CAAAA,CAGT,IAAMC,CAAAA,CAAAA,CAAUV,EAAAA,CAAMQ,CAAI,EAAI,CAACA,CAAI,CAAA,CAAIJ,EAAAA,CAAaI,CAAI,CAAA,EAAG,MAAA,CACzD,CAACE,CAAAA,CAAQX,CAAAA,GACPf,EAAAA,CAAkB0B,CAAM,CAAA,CAAIA,CAAAA,CAASA,CAAAA,CAAOX,CAAuB,CAAA,CACrEQ,CAAM,CAAA,CAGR,OAAON,CAAAA,CAAYS,CAAM,CAAA,EAAKA,CAAAA,GAAWH,CAAAA,CACrCN,CAAAA,CAAYM,CAAAA,CAAOC,CAAe,CAAC,CAAA,CACjCC,EACAF,CAAAA,CAAOC,CAAe,CAAA,CACxBE,CACN,CAAA,CC1BAC,EAAAA,CAAgBzQ,CAAAA,EAAqC,OAAOA,CAAAA,EAAU,SAAA,CCMtE0Q,CAAAA,CAAe,CACbL,CAAAA,CACAC,CAAAA,CACAtQ,IACE,CACF,IAAI2Q,CAAAA,CAAQ,EAAA,CACNC,CAAAA,CAAWd,EAAAA,CAAMQ,CAAI,CAAA,CAAI,CAACA,CAAI,CAAA,CAAIJ,EAAAA,CAAaI,CAAI,CAAA,CACnDO,EAASD,CAAAA,CAAS,MAAA,CAClBE,CAAAA,CAAYD,CAAAA,CAAS,CAAA,CAE3B,KAAO,EAAEF,CAAAA,CAAQE,CAAAA,EAAQ,CACvB,IAAMhB,CAAAA,CAAMe,CAAAA,CAASD,CAAK,CAAA,CACtBI,CAAAA,CAAW/Q,CAAAA,CAEf,GAAI2Q,CAAAA,GAAUG,CAAAA,CAAW,CACvB,IAAME,CAAAA,CAAWX,CAAAA,CAAOR,CAAG,CAAA,CAC3BkB,CAAAA,CACE/B,CAAAA,CAASgC,CAAQ,CAAA,EAAK,MAAM,OAAA,CAAQA,CAAQ,CAAA,CACxCA,CAAAA,CACC,KAAA,CAAM,CAACJ,CAAAA,CAASD,CAAAA,CAAQ,CAAC,CAAC,CAAA,CAEzB,EAAA,CADA,GAEV,CAEA,GAAId,CAAAA,GAAQ,WAAA,EAAeA,CAAAA,GAAQ,aAAA,EAAiBA,CAAAA,GAAQ,WAAA,CAC1D,OAGFQ,CAAAA,CAAOR,CAAG,CAAA,CAAIkB,CAAAA,CACdV,CAAAA,CAASA,EAAOR,CAAG,EACrB,CACF,CAAA,CCrCaoB,EAAAA,CAAS,CACpB,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,UACH,CAAA,CAGGC,EAAAA,CAAkB,CAC7B,OAAQ,QAAA,CACR,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CACV,SAAA,CAAW,WAAA,CACX,GAAA,CAAK,KAAA,CAAA,CAGMC,EAAAA,CAAyB,CACpC,GAAA,CAAK,KAAA,CACL,GAAA,CAAK,MACL,SAAA,CAAW,WAAA,CACX,SAAA,CAAW,WAAA,CACX,OAAA,CAAS,SAAA,CACT,QAAA,CAAU,UAAA,CACV,QAAA,CAAU,UAAA,CAAA,CCjBNC,EAAAA,CAAkBC,qBAAAA,CAAM,aAAA,CAAoC,IAAI,EACtED,EAAAA,CAAgB,WAAA,CAAc,iBAAA,CAyEvB,IAAME,EAAAA,CAKXvU,CAAAA,EACE,CACF,GAAM,CAAE,QAAA,CAAAc,CAAAA,CAAU,GAAG2H,CAAI,CAAA,CAAKzI,EAC9B,OACEsU,qBAAAA,CAAA,aAAA,CAACD,EAAAA,CAAgB,QAAA,CAAQ,CAAC,KAAA,CAAO5L,CAAgC,CAAA,CAC9D3H,CAAQ,CAGf,CAAA,CCxFA0T,EAAAA,CAAe,CAKbC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAS,IAAA,GACP,CACF,IAAMnB,CAAAA,CAAS,CACb,aAAA,CAAeiB,CAAAA,CAAQ,cAAA,CAAA,CAGzB,IAAA,IAAW5B,CAAAA,IAAO2B,CAAAA,CAChB,MAAA,CAAO,eAAehB,CAAAA,CAAQX,CAAAA,CAAK,CACjC,GAAA,CAAK,IAAK,CACR,IAAM+B,CAAAA,CAAO/B,CAAAA,CAEb,OAAI4B,CAAAA,CAAQ,eAAA,CAAgBG,CAAI,CAAA,GAAMV,GAAgB,GAAA,GACpDO,CAAAA,CAAQ,eAAA,CAAgBG,CAAI,CAAA,CAAI,CAACD,CAAAA,EAAUT,EAAAA,CAAgB,GAAA,CAAA,CAItDM,EAAUI,CAAI,CACvB,CACD,CAAA,CAAA,CAGH,OAAOpB,CACT,CAAA,CC/BaqB,EAAAA,CACX,OAAO,MAAA,CAAW,GAAA,CAAcR,qBAAAA,CAAM,eAAA,CAAkBA,qBAAAA,CAAM,SAAA,CCHhE,IAAAS,EAAAA,CAAgB9R,CAAAA,EAAoC,OAAOA,CAAAA,EAAU,QAAA,CCIrE+R,EAAAA,CAAe,CACb3C,CAAAA,CACA4C,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACA3B,CAAAA,GAEIuB,EAAAA,CAAS1C,CAAK,CAAA,EAChB8C,CAAAA,EAAYF,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI5C,CAAK,CAAA,CAC3BgB,CAAAA,CAAI6B,CAAAA,CAAY7C,CAAAA,CAAOmB,CAAY,CAAA,EAGxC,KAAA,CAAM,OAAA,CAAQnB,CAAK,CAAA,CACdA,CAAAA,CAAM,GAAA,CACV+C,CAAAA,GACCD,CAAAA,EAAYF,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAIG,CAAS,CAAA,CACtC/B,CAAAA,CAAI6B,CAAAA,CAAYE,CAAS,CAAA,CAC1B,GAILD,CAAAA,GAAaF,CAAAA,CAAO,QAAA,CAAW,IAAA,CAAA,CAExBC,CAAAA,CAAAA,CCtBTG,EAAAA,CAAgBpS,CAAAA,EACd8O,EAAAA,CAAkB9O,CAAK,CAAA,EAAK,CAAC+O,EAAAA,CAAa/O,CAAK,CAAA,CCFnC,SAAUqS,EAAAA,CACtBC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAoB,IAAI,OAAA,CAAS,CAEjC,GAAIJ,EAAAA,CAAYE,CAAO,CAAA,EAAKF,EAAAA,CAAYG,CAAO,CAAA,CAC7C,OAAO,OAAO,EAAA,CAAGD,CAAAA,CAASC,CAAO,CAAA,CAGnC,GAAI1D,EAAAA,CAAayD,CAAO,CAAA,EAAKzD,EAAAA,CAAa0D,CAAO,CAAA,CAC/C,OAAOD,CAAAA,CAAQ,OAAA,KAAcC,CAAAA,CAAQ,OAAA,EAAO,CAG9C,IAAME,CAAAA,CAAQ,MAAA,CAAO,IAAA,CAAKH,CAAO,CAAA,CAC3BI,CAAAA,CAAQ,MAAA,CAAO,IAAA,CAAKH,CAAO,CAAA,CAEjC,GAAIE,CAAAA,CAAM,MAAA,GAAWC,CAAAA,CAAM,MAAA,CACzB,OAAO,MAAA,CAGT,GAAIF,CAAAA,CAAkB,GAAA,CAAIF,CAAO,CAAA,EAAKE,CAAAA,CAAkB,GAAA,CAAID,CAAO,CAAA,CACjE,OAAO,KAAA,CAETC,CAAAA,CAAkB,GAAA,CAAIF,CAAO,CAAA,CAC7BE,CAAAA,CAAkB,GAAA,CAAID,CAAO,CAAA,CAE7B,IAAA,IAAW1C,CAAAA,IAAO4C,CAAAA,CAAO,CACvB,IAAME,EAAOL,CAAAA,CAAQzC,CAAG,CAAA,CAExB,GAAI,CAAC6C,CAAAA,CAAM,QAAA,CAAS7C,CAAG,CAAA,CACrB,OAAO,MAAA,CAGT,GAAIA,CAAAA,GAAQ,KAAA,CAAO,CACjB,IAAM+C,CAAAA,CAAOL,CAAAA,CAAQ1C,CAAG,CAAA,CAExB,GACGhB,EAAAA,CAAa8D,CAAI,CAAA,EAAK9D,EAAAA,CAAa+D,CAAI,CAAA,EACvC5D,CAAAA,CAAS2D,CAAI,GAAK3D,CAAAA,CAAS4D,CAAI,CAAA,EAC/B,KAAA,CAAM,OAAA,CAAQD,CAAI,CAAA,EAAK,KAAA,CAAM,OAAA,CAAQC,CAAI,CAAA,CACtC,CAACP,EAAAA,CAAUM,CAAAA,CAAMC,CAAAA,CAAMJ,CAAiB,CAAA,CACxC,CAAC,MAAA,CAAO,EAAA,CAAGG,CAAAA,CAAMC,CAAI,CAAA,CAEzB,OAAO,MAEX,CACF,CAEA,OAAO,KACT,CC/CA,IAAAC,EAAAA,CAAe,CACbvP,CAAAA,CACAwP,CAAAA,CACAC,CAAAA,CACA5V,CAAAA,CACA6V,CAAAA,GAEAF,CAAAA,CACI,CACE,GAAGC,CAAAA,CAAOzP,CAAI,CAAA,CACd,KAAA,CAAO,CACL,GAAIyP,CAAAA,CAAOzP,CAAI,CAAA,EAAKyP,CAAAA,CAAOzP,CAAI,CAAA,CAAG,KAAA,CAAQyP,CAAAA,CAAOzP,CAAI,CAAA,CAAG,KAAA,CAAQ,EAAA,CAChE,CAACnG,CAAI,EAAG6V,CAAAA,EAAW,IACpB,CACF,CAAA,CACD,EAAA,CCrBNC,EAAAA,CAAmBjT,CAAAA,EAAc,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAIA,CAAAA,CAAQ,CAACA,CAAK,CAAA,CCgBtEkT,EAAAA,CAAe,IAAoB,CACjC,IAAIC,CAAAA,CAA4B,EAAA,CAqBhC,OAAO,CACL,IAAI,SAAA,EAAS,CACX,OAAOA,CACT,CAAA,CACA,IAAA,CAvBYnT,CAAAA,EAAY,CACxB,IAAA,IAAWoT,CAAAA,IAAYD,CAAAA,CACrBC,CAAAA,CAAS,IAAA,EAAQA,CAAAA,CAAS,IAAA,CAAKpT,CAAK,EAExC,EAoBE,SAAA,CAlBiBoT,CAAAA,GACjBD,CAAAA,CAAW,IAAA,CAAKC,CAAQ,CAAA,CACjB,CACL,WAAA,CAAa,IAAK,CAChBD,CAAAA,CAAaA,CAAAA,CAAW,MAAA,CAAQE,CAAAA,EAAMA,IAAMD,CAAQ,EACtD,CAAA,CAAA,CAAA,CAcF,WAAA,CAVkB,IAAK,CACvBD,CAAAA,CAAa,GACf,CAAA,CAUF,CAAA,CC5Cc,SAAUG,EAAAA,CAGtBC,CAAAA,CAAgBtB,CAAAA,CAAa,CAC7B,IAAMuB,CAAAA,CAAkC,EAAA,CAExC,IAAA,IAAW3D,CAAAA,IAAO0D,CAAAA,CAChB,GAAIA,CAAAA,CAAY,cAAA,CAAe1D,CAAG,CAAA,CAAG,CACnC,IAAM4D,EAAaF,CAAAA,CAAY1D,CAAG,CAAA,CAC5B6D,CAAAA,CAAazB,CAAAA,CAAWpC,CAAG,CAAA,CAEjC,GAAI4D,CAAAA,EAAczE,CAAAA,CAASyE,CAAU,CAAA,EAAKC,CAAAA,CAAY,CACpD,IAAMC,CAAAA,CAAoBL,EAAAA,CACxBG,CAAAA,CACAC,CAAe,CAAA,CAGb1E,CAAAA,CAAS2E,CAAiB,CAAA,GAC5BH,CAAAA,CAAO3D,CAAG,CAAA,CAAI8D,CAAAA,EAElB,CAAA,KAAWJ,CAAAA,CAAY1D,CAAG,CAAA,GACxB2D,CAAAA,CAAO3D,CAAG,CAAA,CAAI6D,CAAAA,EAElB,CAGF,OAAOF,CACT,CCzBA,IAAAI,EAAAA,CAAgB5T,CAAAA,EACdgP,CAAAA,CAAShP,CAAK,GAAK,CAAC,MAAA,CAAO,IAAA,CAAKA,CAAK,CAAA,CAAE,MAAA,CCHzC6T,EAAAA,CAAgBjF,CAAAA,EACdA,CAAAA,CAAQ,IAAA,GAAS,MAAA,CCHnBkF,EAAAA,CAAgB9T,CAAAA,EACd,OAAOA,GAAU,UAAA,CCCnB+T,EAAAA,CAAgB/T,CAAAA,EAAwC,CACtD,GAAI,CAACwP,EAAAA,CACH,OAAO,MAAA,CAGT,IAAMwE,CAAAA,CAAQhU,CAAAA,CAAUA,CAAAA,CAAsB,aAAA,CAA6B,EAC3E,OACEA,CAAAA,YACCgU,CAAAA,EAASA,CAAAA,CAAM,WAAA,CAAcA,CAAAA,CAAM,WAAA,CAAY,WAAA,CAAc,WAAA,CAElE,CAAA,CCVAC,EAAAA,CAAgBrF,CAAAA,EACdA,CAAAA,CAAQ,IAAA,GAAS,kBCDnBsF,EAAAA,CAAgBtF,CAAAA,EACdA,CAAAA,CAAQ,IAAA,GAAS,OAAA,CCEnBuF,EAAAA,CAAgB9G,CAAAA,EACd6G,EAAAA,CAAa7G,CAAG,CAAA,EAAKsB,EAAAA,CAAgBtB,CAAG,CAAA,CCF1C+G,EAAAA,CAAgB/G,CAAAA,EAAa0G,EAAAA,CAAc1G,CAAG,CAAA,EAAKA,CAAAA,CAAI,WAAA,CCEvD,SAASgH,EAAAA,CAAQhE,CAAAA,CAAaiE,CAAAA,CAA+B,CAC3D,IAAMzD,CAAAA,CAASyD,CAAAA,CAAW,KAAA,CAAM,CAAA,CAAG,EAAE,CAAA,CAAE,MAAA,CACnC3D,CAAAA,CAAQ,CAAA,CAEZ,KAAOA,CAAAA,CAAQE,CAAAA,EACbR,CAAAA,CAASN,CAAAA,CAAYM,CAAM,CAAA,CAAIM,CAAAA,EAAAA,CAAUN,CAAAA,CAAOiE,CAAAA,CAAW3D,GAAO,CAAC,CAAA,CAGrE,OAAON,CACT,CAEA,SAASkE,EAAAA,CAAaC,CAAAA,CAAc,CAClC,IAAA,IAAW3E,CAAAA,IAAO2E,CAAAA,CAChB,GAAIA,CAAAA,CAAI,eAAe3E,CAAG,CAAA,EAAK,CAACE,CAAAA,CAAYyE,CAAAA,CAAI3E,CAAG,CAAC,CAAA,CAClD,OAAO,MAAA,CAGX,OAAO,KACT,CAEc,SAAU4E,CAAAA,CAAMpE,CAAAA,CAAaC,CAAAA,CAAkC,CAC3E,IAAMoE,CAAAA,CAAQ,KAAA,CAAM,OAAA,CAAQpE,CAAI,CAAA,CAC5BA,CAAAA,CACAR,EAAAA,CAAMQ,CAAI,CAAA,CACR,CAACA,CAAI,EACLJ,EAAAA,CAAaI,CAAI,CAAA,CAEjBqE,CAAAA,CAAcD,CAAAA,CAAM,MAAA,GAAW,CAAA,CAAIrE,CAAAA,CAASgE,EAAAA,CAAQhE,CAAAA,CAAQqE,CAAK,CAAA,CAEjE/D,CAAAA,CAAQ+D,CAAAA,CAAM,OAAS,CAAA,CACvB7E,CAAAA,CAAM6E,CAAAA,CAAM/D,CAAK,CAAA,CAEvB,OAAIgE,CAAAA,EACF,OAAOA,CAAAA,CAAY9E,CAAG,CAAA,CAItBc,CAAAA,GAAU,CAAA,GACR3B,CAAAA,CAAS2F,CAAW,CAAA,EAAKf,EAAAA,CAAce,CAAW,CAAA,EACjD,KAAA,CAAM,OAAA,CAAQA,CAAW,CAAA,EAAKJ,EAAAA,CAAaI,CAAW,CAAA,CAAA,EAEzDF,CAAAA,CAAMpE,CAAAA,CAAQqE,CAAAA,CAAM,KAAA,CAAM,CAAA,CAAG,EAAE,CAAC,CAAA,CAG3BrE,CACT,CCjDA,IAAAuE,EAAAA,CAAmBpP,CAAAA,EAAoB,CACrC,IAAA,IAAWqK,CAAAA,IAAOrK,CAAAA,CAChB,GAAIsO,EAAAA,CAAWtO,EAAKqK,CAAG,CAAC,CAAA,CACtB,OAAO,KAAA,CAGX,OAAO,MACT,CAAA,CCFA,SAASgF,EAAAA,CAAc7U,CAAAA,CAAU,CAC/B,OAAO,KAAA,CAAM,QAAQA,CAAK,CAAA,EAAMgP,CAAAA,CAAShP,CAAK,CAAA,EAAK,CAAC4U,EAAAA,CAAkB5U,CAAK,CAC7E,CAEA,SAAS8U,EAAAA,CAAmBtP,CAAAA,CAASuP,CAAAA,CAA8B,EAAA,CAAE,CACnE,IAAA,IAAWlF,CAAAA,IAAOrK,CAAAA,CAAM,CACtB,IAAMxF,CAAAA,CAAQwF,CAAAA,CAAKqK,CAAG,CAAA,CAElBgF,EAAAA,CAAc7U,CAAK,CAAA,EACrB+U,EAAOlF,CAAG,CAAA,CAAI,KAAA,CAAM,OAAA,CAAQ7P,CAAK,CAAA,CAAI,EAAA,CAAK,EAAA,CAC1C8U,EAAAA,CAAgB9U,CAAAA,CAAO+U,CAAAA,CAAOlF,CAAG,CAAC,CAAA,EACxBE,CAAAA,CAAY/P,CAAK,CAAA,GAC3B+U,CAAAA,CAAOlF,CAAG,CAAA,CAAI,IAAA,EAElB,CAEA,OAAOkF,CACT,CAEc,SAAUC,EAAAA,CACtBxP,EACAyM,CAAAA,CACAgD,CAAAA,CAGC,CAEIA,CAAAA,GACHA,CAAAA,CAAwBH,EAAAA,CAAgB7C,CAAU,CAAA,CAAA,CAGpD,IAAA,IAAWpC,CAAAA,IAAOrK,CAAAA,CAAM,CACtB,IAAMxF,CAAAA,CAAQwF,EAAKqK,CAAG,CAAA,CAEtB,GAAIgF,EAAAA,CAAc7U,CAAK,CAAA,CACjB+P,CAAAA,CAAYkC,CAAU,CAAA,EAAKG,EAAAA,CAAY6C,CAAAA,CAAsBpF,CAAG,CAAC,CAAA,CACnEoF,CAAAA,CAAsBpF,CAAG,CAAA,CAAIiF,EAAAA,CAC3B9U,CAAAA,CACA,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,CAAI,EAAA,CAAK,EAAE,CAAA,CAGhCgV,EAAAA,CACEhV,CAAAA,CACA8O,GAAkBmD,CAAU,CAAA,CAAI,EAAA,CAAKA,CAAAA,CAAWpC,CAAG,CAAA,CACnDoF,CAAAA,CAAsBpF,CAAG,CAAC,CAAA,CAAA,KAGzB,CACL,IAAMqF,CAAAA,CAAYjD,EAAWpC,CAAG,CAAA,CAChCoF,CAAAA,CAAsBpF,CAAG,CAAA,CAAI,CAACwC,EAAAA,CAAUrS,CAAAA,CAAOkV,CAAS,EAC1D,CACF,CAEA,OAAOD,CACT,CCtDA,IAAME,EAAAA,CAAqC,CACzC,KAAA,CAAO,KAAA,CACP,OAAA,CAAS,KAAA,CAAA,CAGLC,EAAAA,CAAc,CAAE,KAAA,CAAO,IAAA,CAAM,OAAA,CAAS,IAAI,CAAA,CAEhDC,EAAAA,CAAgBnH,CAAAA,EAAqD,CACnE,GAAI,KAAA,CAAM,OAAA,CAAQA,CAAO,CAAA,CAAG,CAC1B,GAAIA,CAAAA,CAAQ,MAAA,CAAS,CAAA,CAAG,CACtB,IAAMsF,CAAAA,CAAStF,EACZ,MAAA,CAAQoH,CAAAA,EAAWA,CAAAA,EAAUA,CAAAA,CAAO,OAAA,EAAW,CAACA,CAAAA,CAAO,QAAQ,CAAA,CAC/D,GAAA,CAAKA,CAAAA,EAAWA,CAAAA,CAAO,KAAK,CAAA,CAC/B,OAAO,CAAE,KAAA,CAAO9B,CAAAA,CAAQ,OAAA,CAAS,CAAC,CAACA,CAAAA,CAAO,MAAM,CAClD,CAEA,OAAOtF,CAAAA,CAAQ,CAAC,CAAA,CAAE,SAAW,CAACA,CAAAA,CAAQ,CAAC,CAAA,CAAE,QAAA,CAErCA,CAAAA,CAAQ,CAAC,CAAA,CAAE,UAAA,EAAc,CAAC6B,CAAAA,CAAY7B,CAAAA,CAAQ,CAAC,CAAA,CAAE,UAAA,CAAW,KAAK,CAAA,CAC/D6B,CAAAA,CAAY7B,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAK,CAAA,EAAKA,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,GAAU,EAAA,CACpDkH,EAAAA,CACA,CAAE,MAAOlH,CAAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAAO,OAAA,CAAS,IAAI,CAAA,CAC1CkH,EAAAA,CACFD,EACN,CAEA,OAAOA,EACT,CAAA,CC9BAI,EAAAA,CAAe,CACbvV,CAAAA,CACA,CAAE,aAAA,CAAAwV,CAAAA,CAAe,WAAA,CAAAC,CAAAA,CAAa,UAAA,CAAAC,CAAU,CAAA,GAExC3F,CAAAA,CAAY/P,CAAK,CAAA,CACbA,CAAAA,CACAwV,CAAAA,CACExV,IAAU,EAAA,CACR,GAAA,CACAA,CAAAA,EACE,CAACA,CAAAA,CAELyV,CAAAA,EAAe3D,EAAAA,CAAS9R,CAAK,CAAA,CAC3B,IAAI,IAAA,CAAKA,CAAK,CAAA,CACd0V,CAAAA,CACEA,EAAW1V,CAAK,CAAA,CAChBA,CAAAA,CCfN2V,EAAAA,CAAkC,CACtC,OAAA,CAAS,KAAA,CACT,KAAA,CAAO,IAAA,CAAA,CAGTC,EAAAA,CAAgB1H,CAAAA,EACd,KAAA,CAAM,OAAA,CAAQA,CAAO,EACjBA,CAAAA,CAAQ,MAAA,CACN,CAAC2H,CAAAA,CAAUP,CAAAA,GACTA,CAAAA,EAAUA,CAAAA,CAAO,OAAA,EAAW,CAACA,CAAAA,CAAO,QAAA,CAChC,CACE,OAAA,CAAS,IAAA,CACT,MAAOA,CAAAA,CAAO,KACf,CAAA,CACDO,CAAAA,CACNF,EAAa,CAAA,CAEfA,EAAAA,CCXQ,SAAUG,EAAAA,CAAcC,CAAAA,CAAe,CACnD,IAAM1I,CAAAA,CAAM0I,CAAAA,CAAG,IAEf,OAAIlC,EAAAA,CAAYxG,CAAG,CAAA,CACVA,CAAAA,CAAI,KAAA,CAGT6G,EAAAA,CAAa7G,CAAG,CAAA,CACXuI,EAAAA,CAAcG,CAAAA,CAAG,IAAI,CAAA,CAAE,KAAA,CAG5B9B,EAAAA,CAAiB5G,CAAG,CAAA,CACf,CAAC,GAAGA,CAAAA,CAAI,eAAe,CAAA,CAAE,GAAA,CAAI,CAAC,CAAE,KAAA,CAAArN,CAAK,CAAA,GAAOA,CAAK,CAAA,CAGtDgW,GAAW3I,CAAG,CAAA,CACTgI,EAAAA,CAAiBU,CAAAA,CAAG,IAAI,CAAA,CAAE,KAAA,CAG5BR,EAAAA,CAAgBxF,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,CAAA,CAAI0I,CAAAA,CAAG,GAAA,CAAI,MAAQ1I,CAAAA,CAAI,KAAA,CAAO0I,CAAE,CAC9E,CCpBA,IAAAE,EAAAA,CAAe,CACbC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,GACE,CACF,IAAMtB,EAAiD,EAAA,CAEvD,IAAA,IAAWzR,CAAAA,IAAQ4S,CAAAA,CAAa,CAC9B,IAAMI,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEtCgT,CAAAA,EAAS5F,CAAAA,CAAIqE,CAAAA,CAAQzR,CAAAA,CAAMgT,CAAAA,CAAM,EAAE,EACrC,CAEA,OAAO,CACL,YAAA,CAAAF,CAAAA,CACA,KAAA,CAAO,CAAC,GAAGF,CAAW,CAAA,CACtB,MAAA,CAAAnB,EACA,yBAAA,CAAAsB,CAAAA,CAEJ,CAAA,CC/BAE,EAAAA,CAAgBvW,CAAAA,EAAoCA,CAAAA,YAAiB,MAAA,CCSrEwW,EAAAA,CACEC,CAAAA,EAEA1G,CAAAA,CAAY0G,CAAI,CAAA,CACZA,CAAAA,CACAF,EAAAA,CAAQE,CAAI,CAAA,CACVA,CAAAA,CAAK,MAAA,CACLzH,CAAAA,CAASyH,CAAI,CAAA,CACXF,EAAAA,CAAQE,CAAAA,CAAK,KAAK,CAAA,CAChBA,CAAAA,CAAK,KAAA,CAAM,MAAA,CACXA,CAAAA,CAAK,MACPA,CAAAA,CCjBVC,EAAAA,CAAgBC,CAAAA,GAAsC,CACpD,UAAA,CAAY,CAACA,CAAAA,EAAQA,CAAAA,GAASzF,EAAAA,CAAgB,QAAA,CAC9C,QAAA,CAAUyF,CAAAA,GAASzF,EAAAA,CAAgB,MAAA,CACnC,UAAA,CAAYyF,CAAAA,GAASzF,EAAAA,CAAgB,QAAA,CACrC,OAAA,CAASyF,CAAAA,GAASzF,EAAAA,CAAgB,GAAA,CAClC,SAAA,CAAWyF,CAAAA,GAASzF,EAAAA,CAAgB,SACrC,CAAA,CAAA,CCLK0F,EAAAA,CAAiB,eAAA,CAEvBC,EAAAA,CAAgBC,GACd,CAAC,CAACA,CAAAA,EACF,CAAC,CAACA,CAAAA,CAAe,QAAA,EACjB,CAAC,EACEhD,EAAAA,CAAWgD,CAAAA,CAAe,QAAQ,CAAA,EACjCA,CAAAA,CAAe,SAAS,WAAA,CAAY,IAAA,GAASF,EAAAA,EAC9C5H,CAAAA,CAAS8H,CAAAA,CAAe,QAAQ,CAAA,EAC/B,MAAA,CAAO,MAAA,CAAOA,CAAAA,CAAe,QAAQ,CAAA,CAAE,IAAA,CACpCC,CAAAA,EACCA,EAAiB,WAAA,CAAY,IAAA,GAASH,EAAc,CAAA,CAAA,CCb9DI,EAAAA,CAAgB9I,CAAAA,EACdA,CAAAA,CAAQ,KAAA,GACPA,CAAAA,CAAQ,QAAA,EACPA,CAAAA,CAAQ,GAAA,EACRA,CAAAA,CAAQ,GAAA,EACRA,CAAAA,CAAQ,SAAA,EACRA,CAAAA,CAAQ,SAAA,EACRA,CAAAA,CAAQ,OAAA,EACRA,CAAAA,CAAQ,QAAA,CAAA,CCRZ+I,EAAAA,CAAe,CACb3T,CAAAA,CACA0O,CAAAA,CACAkF,CAAAA,GAEA,CAACA,CAAAA,GACAlF,CAAAA,CAAO,UACNA,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,EACrB,CAAC,GAAG0O,CAAAA,CAAO,KAAK,CAAA,CAAE,IAAA,CACfmF,CAAAA,EACC7T,CAAAA,CAAK,UAAA,CAAW6T,CAAS,CAAA,EACzB,QAAA,CAAS,IAAA,CAAK7T,CAAAA,CAAK,KAAA,CAAM6T,CAAAA,CAAU,MAAM,CAAC,CAAC,CAAA,CAAA,CCT7CC,EAAAA,CAAwB,CAC5BrC,CAAAA,CACA9L,CAAAA,CACAiN,EACAmB,CAAAA,GACE,CACF,IAAA,IAAWxH,CAAAA,IAAOqG,CAAAA,EAAe,MAAA,CAAO,IAAA,CAAKnB,CAAM,CAAA,CAAG,CACpD,IAAMuB,CAAAA,CAAQlG,CAAAA,CAAI2E,CAAAA,CAAQlF,CAAG,CAAA,CAE7B,GAAIyG,CAAAA,CAAO,CACT,GAAM,CAAE,EAAA,CAAAP,CAAAA,CAAI,GAAGuB,CAAY,CAAA,CAAKhB,CAAAA,CAEhC,GAAIP,CAAAA,CAAI,CACN,GAAIA,CAAAA,CAAG,IAAA,EAAQA,CAAAA,CAAG,IAAA,CAAK,CAAC,CAAA,EAAK9M,CAAAA,CAAO8M,CAAAA,CAAG,IAAA,CAAK,CAAC,CAAA,CAAGlG,CAAG,CAAA,EAAK,CAACwH,EACvD,OAAO,KAAA,CACF,GAAItB,CAAAA,CAAG,GAAA,EAAO9M,CAAAA,CAAO8M,CAAAA,CAAG,GAAA,CAAKA,CAAAA,CAAG,IAAI,CAAA,EAAK,CAACsB,CAAAA,CAC/C,OAAO,MAEP,GAAID,EAAAA,CAAsBE,CAAAA,CAAcrO,CAAM,CAAA,CAC5C,KAGN,CAAA,KAAA,GAAW+F,CAAAA,CAASsI,CAAY,CAAA,EAC1BF,EAAAA,CAAsBE,CAAAA,CAA2BrO,CAAM,CAAA,CACzD,KAGN,CACF,CAEF,CAAA,CC9Bc,SAAUsO,EAAAA,CACtBxE,CAAAA,CACAoD,CAAAA,CACA7S,CAAAA,CAAY,CAKZ,IAAMkU,CAAAA,CAAQpH,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,CAAA,CAE9B,GAAIkU,CAAAA,EAAS1H,EAAAA,CAAMxM,CAAI,CAAA,CACrB,OAAO,CACL,KAAA,CAAAkU,CAAAA,CACA,IAAA,CAAAlU,CAAAA,CAAAA,CAIJ,IAAM8L,CAAAA,CAAQ9L,CAAAA,CAAK,KAAA,CAAM,GAAG,CAAA,CAE5B,KAAO8L,CAAAA,CAAM,MAAA,EAAQ,CACnB,IAAM+C,CAAAA,CAAY/C,CAAAA,CAAM,IAAA,CAAK,GAAG,CAAA,CAC1BkH,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAShE,CAAS,CAAA,CAC9BsF,CAAAA,CAAarH,CAAAA,CAAI2C,CAAAA,CAAQZ,CAAS,CAAA,CAExC,GAAImE,CAAAA,EAAS,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAK,CAAA,EAAKhT,CAAAA,GAAS6O,CAAAA,CAC7C,OAAO,CAAE,IAAA,CAAA7O,CAAI,CAAA,CAGf,GAAImU,CAAAA,EAAcA,CAAAA,CAAW,IAAA,CAC3B,OAAO,CACL,IAAA,CAAMtF,CAAAA,CACN,KAAA,CAAOsF,CAAAA,CAAAA,CAIX,GAAIA,CAAAA,EAAcA,CAAAA,CAAW,IAAA,EAAQA,CAAAA,CAAW,IAAA,CAAK,IAAA,CACnD,OAAO,CACL,IAAA,CAAM,CAAA,EAAGtF,CAAS,CAAA,KAAA,CAAA,CAClB,KAAA,CAAOsF,CAAAA,CAAW,MAItBrI,CAAAA,CAAM,GAAA,GACR,CAEA,OAAO,CACL,IAAA,CAAA9L,CAAAA,CAEJ,CC3CA,IAAAoU,EAAAA,CAAe,CACbC,CAAAA,CAIAC,CAAAA,CACAC,EACAlG,CAAAA,GACE,CACFkG,CAAAA,CAAgBF,CAAa,CAAA,CAC7B,GAAM,CAAE,IAAA,CAAArU,CAAAA,CAAM,GAAGkO,CAAS,CAAA,CAAKmG,CAAAA,CAE/B,OACE/D,GAAcpC,CAAS,CAAA,EACvB,MAAA,CAAO,IAAA,CAAKA,CAAS,CAAA,CAAE,MAAA,EAAU,MAAA,CAAO,IAAA,CAAKoG,CAAe,CAAA,CAAE,MAAA,EAC9D,MAAA,CAAO,IAAA,CAAKpG,CAAS,CAAA,CAAE,IAAA,CACpB3B,CAAAA,EACC+H,CAAAA,CAAgB/H,CAA0B,CAAA,IACzC,CAAC8B,CAAAA,EAAUT,EAAAA,CAAgB,GAAA,CAAI,CAGxC,CAAA,CC5BA4G,EAAAA,CAAe,CACbxU,EACAyU,CAAAA,CACAC,CAAAA,GAEA,CAAC1U,CAAAA,EACD,CAACyU,CAAAA,EACDzU,CAAAA,GAASyU,CAAAA,EACT9E,EAAAA,CAAsB3P,CAAI,CAAA,CAAE,IAAA,CACzB2U,CAAAA,EACCA,CAAAA,GACCD,EACGC,CAAAA,GAAgBF,CAAAA,CAChBE,CAAAA,CAAY,UAAA,CAAWF,CAAU,CAAA,EACjCA,CAAAA,CAAW,UAAA,CAAWE,CAAW,CAAA,CAAE,CAAA,CCd7CC,EAAAA,CAAe,CACbhB,CAAAA,CACAiB,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAIA1B,CAAAA,GAEIA,CAAAA,CAAK,OAAA,CACA,KAAA,CACE,CAACyB,CAAAA,EAAezB,CAAAA,CAAK,SAAA,CACvB,EAAEwB,CAAAA,EAAajB,CAAAA,CAAAA,CAAAA,CACbkB,CAAAA,CAAcC,CAAAA,CAAe,SAAW1B,CAAAA,CAAK,QAAA,EAC/C,CAACO,CAAAA,CAAAA,CACCkB,CAAAA,CAAcC,CAAAA,CAAe,UAAA,CAAa1B,CAAAA,CAAK,UAAA,EACjDO,CAAAA,CAEF,IAAA,CCjBToB,EAAAA,CAAe,CAAIjL,CAAAA,CAAQ/J,IACzB,CAAC2M,EAAAA,CAAQG,CAAAA,CAAI/C,CAAAA,CAAK/J,CAAI,CAAC,CAAA,CAAE,MAAA,EAAUmR,CAAAA,CAAMpH,CAAAA,CAAK/J,CAAI,CAAA,CCKpDiV,EAAAA,CAAe,CACbxF,EACAyE,CAAAA,CACAlU,CAAAA,GACkB,CAClB,IAAMkV,CAAAA,CAAmBvF,EAAAA,CAAsB7C,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,CAAC,CAAA,CAChE,OAAAoN,CAAAA,CAAI8H,CAAAA,CAAkB,MAAA,CAAQhB,CAAAA,CAAMlU,CAAI,CAAC,CAAA,CACzCoN,CAAAA,CAAIqC,CAAAA,CAAQzP,CAAAA,CAAMkV,CAAgB,CAAA,CAC3BzF,CACT,CAAA,CCfc,SAAU0F,EAAAA,CACtBjI,CAAAA,CACAnD,CAAAA,CACAlQ,EAAO,UAAA,CAAU,CAEjB,GACE2U,EAAAA,CAAStB,CAAM,CAAA,EACd,KAAA,CAAM,OAAA,CAAQA,CAAM,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAMsB,EAAQ,CAAA,EAC9CrB,GAAUD,CAAM,CAAA,EAAK,CAACA,CAAAA,CAEvB,OAAO,CACL,IAAA,CAAArT,CAAAA,CACA,OAAA,CAAS2U,EAAAA,CAAStB,CAAM,CAAA,CAAIA,CAAAA,CAAS,EAAA,CACrC,IAAAnD,CAAAA,CAGN,CChBA,IAAAqL,EAAAA,CAAgBC,CAAAA,EACd3J,CAAAA,CAAS2J,CAAc,CAAA,EAAK,CAACpC,EAAAA,CAAQoC,CAAc,CAAA,CAC/CA,CAAAA,CACA,CACE,KAAA,CAAOA,CAAAA,CACP,OAAA,CAAS,EAAA,CAAA,CCuBjBC,EAAAA,CAAe,MACbtC,CAAAA,CACAuC,CAAAA,CACA5G,CAAAA,CACAa,CAAAA,CACAuD,CAAAA,CACAyC,CAAAA,GACgC,CAChC,GAAM,CACJ,GAAA,CAAAzL,EACA,IAAA,CAAA0L,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,SAAAC,CAAAA,CACA,IAAA,CAAAhW,CAAAA,CACA,aAAA,CAAAkS,CAAAA,CACA,KAAA,CAAA+D,CAAK,CAAA,CACHjD,CAAAA,CAAM,EAAA,CACJkD,CAAAA,CAA+BpJ,CAAAA,CAAI6B,CAAAA,CAAY3O,CAAI,EACzD,GAAI,CAACiW,CAAAA,EAASV,CAAAA,CAAmB,GAAA,CAAIvV,CAAI,CAAA,CACvC,OAAO,EAAA,CAET,IAAMmW,CAAAA,CAA6BV,CAAAA,CAAOA,CAAAA,CAAK,CAAC,CAAA,CAAK1L,CAAAA,CAC/CqM,CAAAA,CAAqB1G,CAAAA,EAA8B,CACnDqD,CAAAA,EAA6BoD,CAAAA,CAAS,cAAA,GACxCA,CAAAA,CAAS,iBAAA,CAAkBhJ,EAAAA,CAAUuC,CAAO,CAAA,CAAI,EAAA,CAAKA,GAAW,EAAE,CAAA,CAClEyG,CAAAA,CAAS,cAAA,EAAc,EAE3B,CAAA,CACMjC,CAAAA,CAA6B,EAAA,CAC7BmC,EAAAA,CAAUzF,EAAAA,CAAa7G,CAAG,CAAA,CAC1B2I,CAAAA,CAAarH,GAAgBtB,CAAG,CAAA,CAChC8G,CAAAA,CAAoBwF,EAAAA,EAAW3D,CAAAA,CAC/B4D,CAAAA,CAAAA,CACFpE,CAAAA,EAAiB3B,EAAAA,CAAYxG,CAAG,CAAA,GAChC0C,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,CAAA,EACrB0C,EAAYyJ,CAAU,CAAA,EACvBzF,EAAAA,CAAc1G,CAAG,CAAA,EAAKA,CAAAA,CAAI,KAAA,GAAU,EAAA,EACrCmM,CAAAA,GAAe,EAAA,EACd,KAAA,CAAM,OAAA,CAAQA,CAAU,CAAA,EAAK,CAACA,CAAAA,CAAW,MAAA,CACtCK,CAAAA,CAAoBhH,EAAAA,CAAa,IAAA,CACrC,IAAA,CACAvP,CAAAA,CACAwP,CAAAA,CACA0E,CAAK,CAAA,CAEDsC,CAAAA,CAAmB,CACvBC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACAC,GAAmB/I,EAAAA,CAAuB,SAAA,CAC1CgJ,CAAAA,CAAmBhJ,EAAAA,CAAuB,SAAA,GACxC,CACF,IAAM6B,EAAAA,CAAU+G,CAAAA,CAAYC,CAAAA,CAAmBC,CAAAA,CAC/CzC,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAMyW,CAAAA,CAAYG,EAAAA,CAAUC,CAAAA,CAC5B,OAAA,CAAAnH,EAAAA,CACA,GAAA,CAAA3F,CAAAA,CACA,GAAGwM,CAAAA,CAAkBE,CAAAA,CAAYG,EAAAA,CAAUC,CAAAA,CAASnH,EAAO,GAE/D,CAAA,CAEA,GACE8F,CAAAA,CACI,CAAC,KAAA,CAAM,OAAA,CAAQU,CAAU,CAAA,EAAK,CAACA,CAAAA,CAAW,MAAA,CAC1CR,CAAAA,GACE,CAAC7E,CAAAA,GAAsByF,CAAAA,EAAW9K,EAAAA,CAAkB0K,CAAU,CAAA,CAAA,EAC7D/I,EAAAA,CAAU+I,CAAU,CAAA,EAAK,CAACA,CAAAA,EAC1BxD,CAAAA,EAAc,CAACX,EAAAA,CAAiB0D,CAAI,CAAA,CAAE,OAAA,EACtCY,EAAAA,EAAW,CAAC/D,EAAAA,CAAcmD,CAAI,CAAA,CAAE,OAAA,CAAA,CACvC,CACA,GAAM,CAAE,KAAA,CAAA/Y,CAAAA,CAAO,OAAA,CAAAgT,CAAO,CAAA,CAAKlB,EAAAA,CAASkH,CAAQ,EACxC,CAAE,KAAA,CAAO,CAAC,CAACA,CAAAA,CAAU,OAAA,CAASA,CAAQ,CAAA,CACtCN,EAAAA,CAAmBM,CAAQ,CAAA,CAE/B,GAAIhZ,CAAAA,GACFwX,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAM6N,EAAAA,CAAuB,QAAA,CAC7B,OAAA,CAAA6B,CAAAA,CACA,GAAA,CAAKyG,CAAAA,CACL,GAAGI,CAAAA,CAAkB1I,EAAAA,CAAuB,QAAA,CAAU6B,CAAO,CAAA,CAAA,CAE3D,CAACF,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkB1G,CAAO,CAAA,CAClBwE,CAGb,CAEA,GAAI,CAACoC,CAAAA,GAAY,CAAC9K,EAAAA,CAAkBqK,CAAG,CAAA,EAAK,CAACrK,EAAAA,CAAkBsK,CAAG,CAAA,CAAA,CAAI,CACpE,IAAIW,CAAAA,CACAK,CAAAA,CACEC,CAAAA,CAAY3B,EAAAA,CAAmBU,CAAG,CAAA,CAClCkB,EAAAA,CAAY5B,EAAAA,CAAmBS,CAAG,EAExC,GAAI,CAACrK,EAAAA,CAAkB0K,CAAU,CAAA,EAAK,CAAC,KAAA,CAAMA,CAAoB,CAAA,CAAG,CAClE,IAAMe,CAAAA,CACHlN,CAAAA,CAAyB,aAAA,EACzBmM,GAAa,CAACA,CAAAA,CACZ1K,EAAAA,CAAkBuL,CAAAA,CAAU,KAAK,CAAA,GACpCN,CAAAA,CAAYQ,CAAAA,CAAcF,CAAAA,CAAU,KAAA,CAAA,CAEjCvL,EAAAA,CAAkBwL,EAAAA,CAAU,KAAK,CAAA,GACpCF,EAAYG,CAAAA,CAAcD,EAAAA,CAAU,KAAA,EAExC,CAAA,KAAO,CACL,IAAME,CAAAA,CACHnN,CAAAA,CAAyB,WAAA,EAAe,IAAI,IAAA,CAAKmM,CAAoB,CAAA,CAClEiB,EAAAA,CAAqBC,IACzB,IAAI,IAAA,CAAK,IAAI,IAAA,EAAI,CAAG,YAAA,EAAY,CAAK,GAAA,CAAMA,EAAI,CAAA,CAC3CC,EAAAA,CAAStN,CAAAA,CAAI,IAAA,EAAQ,MAAA,CACrBuN,GAASvN,CAAAA,CAAI,IAAA,EAAQ,MAAA,CAEvByE,EAAAA,CAASuI,CAAAA,CAAU,KAAK,CAAA,EAAKb,CAAAA,GAC/BO,CAAAA,CAAYY,EAAAA,CACRF,EAAAA,CAAkBjB,CAAU,CAAA,CAAIiB,EAAAA,CAAkBJ,EAAU,KAAK,CAAA,CACjEO,EAAAA,CACEpB,CAAAA,CAAaa,CAAAA,CAAU,KAAA,CACvBG,CAAAA,CAAY,IAAI,IAAA,CAAKH,CAAAA,CAAU,KAAK,CAAA,CAAA,CAGxCvI,EAAAA,CAASwI,EAAAA,CAAU,KAAK,CAAA,EAAKd,CAAAA,GAC/BY,CAAAA,CAAYO,EAAAA,CACRF,EAAAA,CAAkBjB,CAAU,CAAA,CAAIiB,EAAAA,CAAkBH,EAAAA,CAAU,KAAK,CAAA,CACjEM,EAAAA,CACEpB,CAAAA,CAAac,EAAAA,CAAU,KAAA,CACvBE,EAAY,IAAI,IAAA,CAAKF,EAAAA,CAAU,KAAK,CAAA,EAE9C,CAEA,GAAA,CAAIP,CAAAA,EAAaK,CAAAA,IACfN,CAAAA,CACE,CAAC,CAACC,CAAAA,CACFM,CAAAA,CAAU,QACVC,EAAAA,CAAU,OAAA,CACVnJ,EAAAA,CAAuB,GAAA,CACvBA,EAAAA,CAAuB,GAAG,CAAA,CAExB,CAAC2B,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBlC,CAAAA,CAAMlU,CAAI,CAAA,CAAG,OAAO,CAAA,CAC/BkU,CAGb,CAEA,GAAA,CACGyB,CAAAA,EAAaC,CAAAA,GACd,CAACU,CAAAA,GACA9H,EAAAA,CAAS0H,CAAU,CAAA,EAAMV,CAAAA,EAAgB,KAAA,CAAM,OAAA,CAAQU,CAAU,CAAA,CAAA,CAClE,CACA,IAAMqB,CAAAA,CAAkBnC,EAAAA,CAAmBO,CAAS,CAAA,CAC9C6B,CAAAA,CAAkBpC,EAAAA,CAAmBQ,CAAS,CAAA,CAC9Ca,CAAAA,CACJ,CAACjL,EAAAA,CAAkB+L,CAAAA,CAAgB,KAAK,CAAA,EACxCrB,CAAAA,CAAW,MAAA,CAAS,CAACqB,CAAAA,CAAgB,KAAA,CACjCT,EAAAA,CACJ,CAACtL,EAAAA,CAAkBgM,CAAAA,CAAgB,KAAK,CAAA,EACxCtB,CAAAA,CAAW,MAAA,CAAS,CAACsB,CAAAA,CAAgB,KAAA,CAEvC,GAAA,CAAIf,CAAAA,EAAaK,EAAAA,IACfN,CAAAA,CACEC,CAAAA,CACAc,CAAAA,CAAgB,OAAA,CAChBC,CAAAA,CAAgB,OAAO,CAAA,CAErB,CAAChI,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBlC,CAAAA,CAAMlU,CAAI,CAAA,CAAG,OAAO,CAAA,CAC/BkU,CAGb,CAEA,GAAI6B,CAAAA,EAAW,CAACO,CAAAA,EAAW9H,EAAAA,CAAS0H,CAAU,CAAA,CAAG,CAC/C,GAAM,CAAE,KAAA,CAAOuB,CAAAA,CAAc,OAAA,CAAA/H,CAAO,CAAA,CAAK0F,EAAAA,CAAmBW,CAAO,CAAA,CAEnE,GAAI9C,EAAAA,CAAQwE,CAAY,CAAA,EAAK,CAACvB,CAAAA,CAAW,KAAA,CAAMuB,CAAY,CAAA,GACzDvD,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,IAAA,CAAM6N,EAAAA,CAAuB,OAAA,CAC7B,OAAA,CAAA6B,CAAAA,CACA,GAAA,CAAA3F,EACA,GAAGwM,CAAAA,CAAkB1I,EAAAA,CAAuB,OAAA,CAAS6B,CAAO,CAAA,CAAA,CAE1D,CAACF,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkB1G,CAAO,CAAA,CAClBwE,CAGb,CAEA,GAAI8B,CAAAA,CAAAA,CACF,GAAIxF,EAAAA,CAAWwF,CAAQ,CAAA,CAAG,CACxB,IAAM9I,CAAAA,CAAS,MAAM8I,CAAAA,CAASE,CAAAA,CAAYvH,CAAU,CAAA,CAC9C+I,CAAAA,CAAgBvC,EAAAA,CAAiBjI,CAAAA,CAAQiJ,CAAQ,CAAA,CAEvD,GAAIuB,CAAAA,GACFxD,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,GAAG0X,CAAAA,CACH,GAAGnB,CAAAA,CACD1I,EAAAA,CAAuB,QAAA,CACvB6J,EAAc,OAAO,CAAA,CAAA,CAGrB,CAAClI,CAAAA,CAAAA,CACH,OAAA4G,CAAAA,CAAkBsB,CAAAA,CAAc,OAAO,CAAA,CAChCxD,CAGb,CAAA,KAAA,GAAWxI,CAAAA,CAASsK,CAAQ,CAAA,CAAG,CAC7B,IAAI2B,CAAAA,CAAmB,EAAA,CAEvB,IAAA,IAAWpL,CAAAA,IAAOyJ,CAAAA,CAAU,CAC1B,GAAI,CAAC1F,EAAAA,CAAcqH,CAAgB,CAAA,EAAK,CAACnI,EACvC,MAGF,IAAMkI,CAAAA,CAAgBvC,EAAAA,CACpB,MAAMa,CAAAA,CAASzJ,CAAG,CAAA,CAAE2J,CAAAA,CAAYvH,CAAU,CAAA,CAC1CwH,CAAAA,CACA5J,CAAG,CAAA,CAGDmL,CAAAA,GACFC,CAAAA,CAAmB,CACjB,GAAGD,CAAAA,CACH,GAAGnB,CAAAA,CAAkBhK,CAAAA,CAAKmL,CAAAA,CAAc,OAAO,CAAA,CAAA,CAGjDtB,CAAAA,CAAkBsB,CAAAA,CAAc,OAAO,CAAA,CAEnClI,CAAAA,GACF0E,EAAMlU,CAAI,CAAA,CAAI2X,CAAAA,CAAAA,EAGpB,CAEA,GAAI,CAACrH,EAAAA,CAAcqH,CAAgB,CAAA,GACjCzD,CAAAA,CAAMlU,CAAI,CAAA,CAAI,CACZ,GAAA,CAAKmW,EACL,GAAGwB,CAAAA,CAAAA,CAED,CAACnI,CAAAA,CAAAA,CACH,OAAO0E,CAGb,CAAA,CAGF,OAAAkC,CAAAA,CAAkB,IAAI,CAAA,CACflC,CACT,CAAA,CCjMM0D,EAAAA,CAAiB,CACrB,IAAA,CAAMhK,EAAAA,CAAgB,QAAA,CACtB,cAAA,CAAgBA,EAAAA,CAAgB,QAAA,CAChC,gBAAA,CAAkB,IAAA,CAAA,CAGd,SAAUiK,EAAAA,CAKdpe,CAAAA,CAAkE,EAAA,CAAE,CAUpE,IAAIqe,CAAAA,CAAW,CACb,GAAGF,EAAAA,CACH,GAAGne,CAAAA,CAAAA,CAEDse,CAAAA,CAAsC,CACxC,WAAA,CAAa,CAAA,CACb,OAAA,CAAS,KAAA,CACT,OAAA,CAAS,KAAA,CACT,SAAA,CAAWvH,GAAWsH,CAAAA,CAAS,aAAa,CAAA,CAC5C,YAAA,CAAc,KAAA,CACd,WAAA,CAAa,KAAA,CACb,YAAA,CAAc,KAAA,CACd,kBAAA,CAAoB,KAAA,CACpB,OAAA,CAAS,KAAA,CACT,aAAA,CAAe,EAAA,CACf,WAAA,CAAa,EAAA,CACb,gBAAA,CAAkB,EAAA,CAClB,MAAA,CAAQA,CAAAA,CAAS,MAAA,EAAU,EAAA,CAC3B,QAAA,CAAUA,CAAAA,CAAS,UAAY,KAAA,CAAA,CAE7BjF,CAAAA,CAAqB,EAAA,CACrBmF,CAAAA,CACFtM,CAAAA,CAASoM,CAAAA,CAAS,aAAa,CAAA,EAAKpM,CAAAA,CAASoM,CAAAA,CAAS,MAAM,CAAA,CACxD3L,EAAAA,CAAY2L,CAAAA,CAAS,aAAA,EAAiBA,CAAAA,CAAS,MAAM,CAAA,EAAK,EAAA,CAC1D,EAAA,CACFG,CAAAA,CAAcH,CAAAA,CAAS,gBAAA,CACtB,EAAA,CACA3L,EAAAA,CAAY6L,CAAc,EAC3BE,CAAAA,CAAS,CACX,MAAA,CAAQ,KAAA,CACR,KAAA,CAAO,KAAA,CACP,KAAA,CAAO,KAAA,CAAA,CAELxJ,CAAAA,CAAgB,CAClB,KAAA,CAAO,IAAI,GAAA,CACX,QAAA,CAAU,IAAI,GAAA,CACd,OAAA,CAAS,IAAI,GAAA,CACb,KAAA,CAAO,IAAI,GAAA,CACX,KAAA,CAAO,IAAI,GAAA,CAAA,CAETyJ,CAAAA,CACAC,CAAAA,CAAQ,CAAA,CACN9D,CAAAA,CAAiC,CACrC,OAAA,CAAS,KAAA,CACT,WAAA,CAAa,KAAA,CACb,gBAAA,CAAkB,KAAA,CAClB,aAAA,CAAe,KAAA,CACf,YAAA,CAAc,KAAA,CACd,OAAA,CAAS,KAAA,CACT,MAAA,CAAQ,KAAA,CAAA,CAEN+D,EAA2B,CAC7B,GAAG/D,CAAAA,CAAAA,CAECgE,CAAAA,CAAoC,CACxC,KAAA,CAAO1I,EAAAA,EAAa,CACpB,KAAA,CAAOA,EAAAA,EAAa,CAAA,CAGhB2I,CAAAA,CACJT,CAAAA,CAAS,YAAA,GAAiBlK,GAAgB,GAAA,CAEtC4K,CAAAA,CACiBC,CAAAA,EACpBC,CAAAA,EAAgB,CACf,YAAA,CAAaN,CAAK,CAAA,CAClBA,CAAAA,CAAQ,UAAA,CAAWK,CAAAA,CAAUC,CAAI,EACnC,CAAA,CAEIC,EAAY,MAAOC,CAAAA,EAA+B,CACtD,GACE,CAACd,CAAAA,CAAS,QAAA,GACTxD,CAAAA,CAAgB,OAAA,EACf+D,CAAAA,CAAyB,OAAA,EACzBO,CAAAA,CAAAA,CACF,CACA,IAAMC,EAAUf,CAAAA,CAAS,QAAA,CACrBxH,EAAAA,CAAAA,CAAe,MAAMwI,CAAAA,EAAU,EAAI,MAAM,CAAA,CACzC,MAAMC,CAAAA,CAAyBlG,CAAAA,CAAS,IAAI,CAAA,CAE5CgG,CAAAA,GAAYd,CAAAA,CAAW,OAAA,EACzBO,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,OAAA,CAAAO,CACD,CAAA,EAEL,CACF,CAAA,CAEMG,CAAAA,CAAsB,CAAClN,CAAAA,CAAkBmN,CAAAA,GAA0B,CAErE,CAACnB,CAAAA,CAAS,QAAA,GACTxD,CAAAA,CAAgB,YAAA,EACfA,CAAAA,CAAgB,gBAAA,EAChB+D,CAAAA,CAAyB,YAAA,EACzBA,CAAAA,CAAyB,gBAAA,CAAA,GAAA,CAE1BvM,CAAAA,EAAS,KAAA,CAAM,IAAA,CAAK4C,EAAO,KAAK,CAAA,EAAG,OAAA,CAAS1O,CAAAA,EAAQ,CAC/CA,CAAAA,GACFiZ,CAAAA,CACI7L,CAAAA,CAAI2K,CAAAA,CAAW,gBAAA,CAAkB/X,CAAAA,CAAMiZ,CAAY,CAAA,CACnD9H,CAAAA,CAAM4G,EAAW,gBAAA,CAAkB/X,CAAI,CAAA,EAE/C,CAAC,CAAA,CAEDsY,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,gBAAA,CAAkBP,CAAAA,CAAW,gBAAA,CAC7B,YAAA,CAAc,CAACzH,EAAAA,CAAcyH,CAAAA,CAAW,gBAAgB,CACzD,CAAA,CAAA,EAEL,CAAA,CAEMmB,CAAAA,CAAwC,CAC5ClZ,CAAAA,CACAkQ,CAAAA,CAAS,EAAA,CACTiJ,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CAAkB,KAClBC,CAAAA,CAA6B,IAAA,GAC3B,CACF,GAAIF,CAAAA,EAAQD,CAAAA,EAAU,CAACrB,CAAAA,CAAS,QAAA,CAAU,CAExC,GADAI,CAAAA,CAAO,MAAA,CAAS,IAAA,CACZoB,GAA8B,KAAA,CAAM,OAAA,CAAQxM,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAC,CAAA,CAAG,CACnE,IAAMuZ,CAAAA,CAAcJ,CAAAA,CAAOrM,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,EAAGoZ,CAAAA,CAAK,IAAA,CAAMA,CAAAA,CAAK,IAAI,CAAA,CACnEC,CAAAA,EAAmBjM,CAAAA,CAAIyF,CAAAA,CAAS7S,CAAAA,CAAMuZ,CAAW,EACnD,CAEA,GACED,CAAAA,EACA,KAAA,CAAM,OAAA,CAAQxM,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAC,CAAA,CAC1C,CACA,IAAMyP,CAAAA,CAAS0J,CAAAA,CACbrM,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,EAC3BoZ,CAAAA,CAAK,IAAA,CACLA,CAAAA,CAAK,IAAI,CAAA,CAEXC,CAAAA,EAAmBjM,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,CAAAA,CAAMyP,CAAM,CAAA,CACtDuF,EAAAA,CAAgB+C,CAAAA,CAAW,OAAQ/X,CAAI,EACzC,CAEA,GAAA,CACGsU,CAAAA,CAAgB,aAAA,EACf+D,CAAAA,CAAyB,aAAA,GAC3BiB,CAAAA,EACA,KAAA,CAAM,OAAA,CAAQxM,CAAAA,CAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAC,CAAA,CACjD,CACA,IAAMwZ,CAAAA,CAAgBL,CAAAA,CACpBrM,CAAAA,CAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAClCoZ,CAAAA,CAAK,IAAA,CACLA,CAAAA,CAAK,IAAI,CAAA,CAEXC,CAAAA,EAAmBjM,CAAAA,CAAI2K,CAAAA,CAAW,aAAA,CAAe/X,CAAAA,CAAMwZ,CAAa,EACtE,CAAA,CAEIlF,CAAAA,CAAgB,WAAA,EAAe+D,CAAAA,CAAyB,WAAA,IAC1DN,CAAAA,CAAW,YAAcrG,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CAAA,CAGrEK,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,OAAA,CAASyZ,CAAAA,CAAUzZ,CAAAA,CAAMkQ,CAAM,EAC/B,WAAA,CAAa6H,CAAAA,CAAW,WAAA,CACxB,MAAA,CAAQA,CAAAA,CAAW,MAAA,CACnB,OAAA,CAASA,CAAAA,CAAW,OACrB,CAAA,EACH,CAAA,KACE3K,CAAAA,CAAI6K,CAAAA,CAAajY,EAAMkQ,CAAM,EAEjC,CAAA,CAEMwJ,CAAAA,CAAe,CAAC1Z,CAAAA,CAAyBkU,CAAAA,GAAqB,CAClE9G,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,CAAAA,CAAMkU,CAAK,CAAA,CAClCoE,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQP,CAAAA,CAAW,MACpB,CAAA,EACH,CAAA,CAEM4B,CAAAA,CAAclK,CAAAA,EAAqC,CACvDsI,CAAAA,CAAW,MAAA,CAAStI,CAAAA,CACpB6I,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQP,CAAAA,CAAW,MAAA,CACnB,OAAA,CAAS,KACV,CAAA,EACH,CAAA,CAEM6B,CAAAA,CAAsB,CAC1B5Z,CAAAA,CACA6Z,EACAnd,CAAAA,CACAqN,CAAAA,GACE,CACF,IAAMiJ,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEtC,GAAIgT,CAAAA,CAAO,CACT,IAAM/F,CAAAA,CAAeH,EACnBmL,CAAAA,CACAjY,CAAAA,CACAyM,CAAAA,CAAY/P,CAAK,CAAA,CAAIoQ,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,CAAA,CAAItD,CAAK,CAAA,CAGxD+P,CAAAA,CAAYQ,CAAY,CAAA,EACvBlD,CAAAA,EAAQA,CAAAA,CAAyB,cAAA,EAClC8P,CAAAA,CACIzM,CAAAA,CACE6K,CAAAA,CACAjY,CAAAA,CACA6Z,CAAAA,CAAuB5M,CAAAA,CAAeuF,EAAAA,CAAcQ,CAAAA,CAAM,EAAE,CAAC,CAAA,CAE/D8G,CAAAA,CAAc9Z,CAAAA,CAAMiN,CAAY,CAAA,CAEpCiL,CAAAA,CAAO,KAAA,EAAS,CAACA,CAAAA,CAAO,MAAA,EAAUS,CAAAA,GACpC,CACF,CAAA,CAEMoB,CAAAA,CAAsB,CAC1B/Z,CAAAA,CACAoQ,CAAAA,CACAwD,EACAoG,CAAAA,CACAC,CAAAA,GAGE,CACF,IAAIC,CAAAA,CAAoB,KAAA,CACpBC,CAAAA,CAAkB,KAAA,CAChBC,CAAAA,CAA8D,CAClE,IAAA,CAAApa,CAAAA,CAAAA,CAGF,GAAI,CAAC8X,EAAS,QAAA,CAAU,CACtB,GAAI,CAAClE,CAAAA,EAAeoG,CAAAA,CAAa,CAAA,CAC3B1F,CAAAA,CAAgB,OAAA,EAAW+D,CAAAA,CAAyB,OAAA,IACtD8B,CAAAA,CAAkBpC,CAAAA,CAAW,OAAA,CAC7BA,CAAAA,CAAW,OAAA,CAAUqC,CAAAA,CAAO,OAAA,CAAUX,CAAAA,EAAS,CAC/CS,CAAAA,CAAoBC,CAAAA,GAAoBC,CAAAA,CAAO,OAAA,CAAA,CAGjD,IAAMC,CAAAA,CAAyBtL,EAAAA,CAC7BjC,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,EACxBoQ,CAAU,CAAA,CAGZ+J,CAAAA,CAAkB,CAAC,CAACrN,CAAAA,CAAIiL,CAAAA,CAAW,WAAA,CAAa/X,CAAI,CAAA,CACpDqa,CAAAA,CACIlJ,CAAAA,CAAM4G,CAAAA,CAAW,WAAA,CAAa/X,CAAI,CAAA,CAClCoN,CAAAA,CAAI2K,CAAAA,CAAW,WAAA,CAAa/X,CAAAA,CAAM,IAAI,CAAA,CAC1Coa,CAAAA,CAAO,WAAA,CAAcrC,CAAAA,CAAW,WAAA,CAChCmC,CAAAA,CACEA,CAAAA,EAAAA,CACE5F,CAAAA,CAAgB,aAChB+D,CAAAA,CAAyB,WAAA,GACzB8B,CAAAA,GAAoB,CAACE,EAC3B,CAEA,GAAIzG,CAAAA,CAAa,CACf,IAAM0G,CAAAA,CAAyBxN,CAAAA,CAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAE5Dsa,CAAAA,GACHlN,CAAAA,CAAI2K,CAAAA,CAAW,aAAA,CAAe/X,CAAAA,CAAM4T,CAAW,CAAA,CAC/CwG,CAAAA,CAAO,aAAA,CAAgBrC,CAAAA,CAAW,aAAA,CAClCmC,CAAAA,CACEA,CAAAA,EAAAA,CACE5F,EAAgB,aAAA,EAChB+D,CAAAA,CAAyB,aAAA,GACzBiC,CAAAA,GAA2B1G,CAAAA,EAEnC,CAEAsG,CAAAA,EAAqBD,CAAAA,EAAgB3B,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK8B,CAAM,EAClE,CAEA,OAAOF,CAAAA,CAAoBE,CAAAA,CAAS,EACtC,CAAA,CAEMG,EAAAA,CAAsB,CAC1Bva,CAAAA,CACA6Y,CAAAA,CACA3E,CAAAA,CACA/D,CAAAA,GAKE,CACF,IAAMqK,CAAAA,CAAqB1N,EAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,CAChD4Y,CAAAA,CAAAA,CACHtE,CAAAA,CAAgB,OAAA,EAAW+D,CAAAA,CAAyB,OAAA,GACrDlL,EAAAA,CAAU0L,CAAO,CAAA,EACjBd,CAAAA,CAAW,OAAA,GAAYc,CAAAA,CAazB,GAXIf,CAAAA,CAAS,UAAA,EAAc5D,CAAAA,EACzBiE,CAAAA,CAAqBK,CAAAA,CAAS,IAAMkB,CAAAA,CAAa1Z,CAAAA,CAAMkU,CAAK,CAAC,CAAA,CAC7DiE,CAAAA,CAAmBL,CAAAA,CAAS,UAAU,IAEtC,YAAA,CAAaM,CAAK,CAAA,CAClBD,CAAAA,CAAqB,IAAA,CACrBjE,CAAAA,CACI9G,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,CAAAA,CAAMkU,CAAK,CAAA,CAClC/C,CAAAA,CAAM4G,CAAAA,CAAW,OAAQ/X,CAAI,CAAA,CAAA,CAAA,CAIhCkU,CAAAA,CAAQ,CAACnF,EAAAA,CAAUyL,CAAAA,CAAoBtG,CAAK,CAAA,CAAIsG,CAAAA,GACjD,CAAClK,EAAAA,CAAcH,CAAU,CAAA,EACzByI,CAAAA,CACA,CACA,IAAM6B,CAAAA,CAAmB,CACvB,GAAGtK,CAAAA,CACH,GAAIyI,CAAAA,EAAqBzL,EAAAA,CAAU0L,CAAO,CAAA,CAAI,CAAE,OAAA,CAAAA,CAAO,CAAA,CAAK,EAAA,CAC5D,MAAA,CAAQd,CAAAA,CAAW,MAAA,CACnB,IAAA,CAAA/X,CAAAA,CAAAA,CAGF+X,CAAAA,CAAa,CACX,GAAGA,CAAAA,CACH,GAAG0C,CAAAA,CAAAA,CAGLnC,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAKmC,CAAgB,EACvC,CACF,CAAA,CAEM3B,CAAAA,CAAa,MAAO9Y,CAAAA,EAA8B,CACtDgZ,CAAAA,CAAoBhZ,CAAAA,CAAM,IAAI,CAAA,CAC9B,IAAMkN,CAAAA,CAAS,MAAM4K,EAAS,QAAA,CAC5BG,CAAAA,CACAH,CAAAA,CAAS,OAAA,CACTnF,EAAAA,CACE3S,CAAAA,EAAQ0O,CAAAA,CAAO,KAAA,CACfmE,CAAAA,CACAiF,CAAAA,CAAS,YAAA,CACTA,CAAAA,CAAS,yBAAyB,CACnC,EAEH,OAAAkB,CAAAA,CAAoBhZ,CAAI,CAAA,CACjBkN,CACT,CAAA,CAEMwN,CAAAA,CAA8B,MAAO5O,CAAAA,EAA+B,CACxE,GAAM,CAAE,MAAA,CAAA2D,CAAM,CAAA,CAAK,MAAMqJ,CAAAA,CAAWhN,CAAK,CAAA,CAEzC,GAAIA,CAAAA,CACF,IAAA,IAAW9L,CAAAA,IAAQ8L,CAAAA,CAAO,CACxB,IAAMoI,CAAAA,CAAQpH,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,EAC9BkU,CAAAA,CACI9G,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,CAAAA,CAAMkU,CAAK,CAAA,CAClC/C,CAAAA,CAAM4G,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,EACnC,CAAA,KAEA+X,CAAAA,CAAW,OAAStI,CAAAA,CAGtB,OAAOA,CACT,CAAA,CAEMsJ,CAAAA,CAA2B,MAC/BtH,CAAAA,CACAkJ,CAAAA,CACA7e,CAAAA,CAEI,CACF,KAAA,CAAO,IACR,CAAA,GACC,CACF,QAAWkE,CAAAA,IAAQyR,CAAAA,CAAQ,CACzB,IAAMuB,CAAAA,CAAQvB,CAAAA,CAAOzR,CAAI,CAAA,CAEzB,GAAIgT,CAAAA,CAAO,CACT,GAAM,CAAE,EAAA,CAAAP,EAAI,GAAGrC,CAAU,CAAA,CAAK4C,CAAAA,CAE9B,GAAIP,CAAAA,CAAI,CACN,IAAMmI,CAAAA,CAAmBlM,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI+D,CAAAA,CAAG,IAAI,EAC3CoI,CAAAA,CACJ7H,CAAAA,CAAM,EAAA,EAAMO,EAAAA,CAAsBP,CAAAA,CAAgB,EAAE,CAAA,CAElD6H,CAAAA,EAAqBvG,CAAAA,CAAgB,gBAAA,EACvC0E,CAAAA,CAAoB,CAACvG,CAAAA,CAAG,IAAI,EAAG,IAAI,CAAA,CAGrC,IAAMqI,EAAAA,CAAa,MAAMxF,EAAAA,CACvBtC,CAAAA,CACAtE,CAAAA,CAAO,QAAA,CACPuJ,CAAAA,CACAM,CAAAA,CACAT,CAAAA,CAAS,yBAAA,EAA6B,CAAC6C,EACvCC,CAAgB,CAAA,CAOlB,GAJIC,CAAAA,EAAqBvG,CAAAA,CAAgB,gBAAA,EACvC0E,CAAAA,CAAoB,CAACvG,CAAAA,CAAG,IAAI,CAAC,CAAA,CAG3BqI,EAAAA,CAAWrI,CAAAA,CAAG,IAAI,CAAA,GACpB3W,CAAAA,CAAQ,KAAA,CAAQ,KAAA,CACZ6e,CAAAA,CAAAA,CACF,MAIJ,CAACA,CAAAA,GACE7N,CAAAA,CAAIgO,EAAAA,CAAYrI,CAAAA,CAAG,IAAI,CAAA,CACpBmI,CAAAA,CACE3F,EAAAA,CACE8C,EAAW,MAAA,CACX+C,EAAAA,CACArI,CAAAA,CAAG,IAAI,CAAA,CAETrF,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQtF,CAAAA,CAAG,IAAA,CAAMqI,EAAAA,CAAWrI,CAAAA,CAAG,IAAI,CAAC,EACrDtB,CAAAA,CAAM4G,CAAAA,CAAW,MAAA,CAAQtF,CAAAA,CAAG,IAAI,CAAA,EACxC,CAEA,CAACnC,EAAAA,CAAcF,CAAU,CAAA,EACtB,MAAM2I,CAAAA,CACL3I,CAAAA,CACAuK,EACA7e,CAAO,EAEb,CACF,CAEA,OAAOA,CAAAA,CAAQ,KACjB,CAAA,CAEMif,CAAAA,CAAmB,IAAK,CAC5B,IAAA,IAAW/a,CAAAA,IAAQ0O,CAAAA,CAAO,OAAA,CAAS,CACjC,IAAMsE,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEtCgT,CAAAA,GACGA,CAAAA,CAAM,EAAA,CAAG,IAAA,CACNA,CAAAA,CAAM,EAAA,CAAG,IAAA,CAAK,KAAA,CAAOjJ,GAAQ,CAAC+G,EAAAA,CAAK/G,CAAG,CAAC,CAAA,CACvC,CAAC+G,EAAAA,CAAKkC,CAAAA,CAAM,EAAA,CAAG,GAAG,CAAA,CAAA,EACtBgI,EAAAA,CAAWhb,CAA+B,EAC9C,CAEA0O,CAAAA,CAAO,OAAA,CAAU,IAAI,IACvB,CAAA,CAEM+K,CAAAA,CAAwB,CAACzZ,CAAAA,CAAMkC,CAAAA,GACnC,CAAC4V,CAAAA,CAAS,QAAA,GACT9X,CAAAA,EAAQkC,CAAAA,EAAQkL,EAAI6K,CAAAA,CAAajY,CAAAA,CAAMkC,CAAI,CAAA,CAC5C,CAAC6M,EAAAA,CAAUkM,EAAAA,EAAS,CAAIjD,CAAc,CAAA,CAAA,CAElCkD,CAAAA,CAAyC,CAC7CpP,CAAAA,CACAmB,CAAAA,CACA2B,CAAAA,GAEAH,EAAAA,CACE3C,CAAAA,CACA4C,CAAAA,CACA,CACE,GAAIwJ,CAAAA,CAAO,KAAA,CACPD,CAAAA,CACAxL,CAAAA,CAAYQ,CAAY,CAAA,CACtB+K,CAAAA,CACAxJ,EAAAA,CAAS1C,CAAK,CAAA,CACZ,CAAE,CAACA,CAAK,EAAGmB,CAAY,CAAA,CACvBA,CACT,CAAA,CACD2B,CAAAA,CACA3B,CAAY,CAAA,CAGVkO,CAAAA,CACJnb,CAAAA,EAEA2M,EAAAA,CACEG,CAAAA,CACEoL,EAAO,KAAA,CAAQD,CAAAA,CAAcD,CAAAA,CAC7BhY,CAAAA,CACA8X,CAAAA,CAAS,gBAAA,CAAmBhL,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAAA,CAAM,EAAE,CAAA,CAAI,EAAE,CAC/D,CAAA,CAGC8Z,CAAAA,CAAgB,CACpB9Z,CAAAA,CACAtD,CAAAA,CACAkO,CAAAA,CAA0B,EAAA,GACxB,CACF,IAAMoI,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,EAClCoQ,CAAAA,CAAsB1T,CAAAA,CAE1B,GAAIsW,CAAAA,CAAO,CACT,IAAMQ,CAAAA,CAAiBR,CAAAA,CAAM,EAAA,CAEzBQ,CAAAA,GACF,CAACA,CAAAA,CAAe,QAAA,EACdpG,CAAAA,CAAI6K,EAAajY,CAAAA,CAAMiS,EAAAA,CAAgBvV,CAAAA,CAAO8W,CAAc,CAAC,CAAA,CAE/DpD,CAAAA,CACEK,EAAAA,CAAc+C,CAAAA,CAAe,GAAG,CAAA,EAAKhI,EAAAA,CAAkB9O,CAAK,CAAA,CACxD,GACAA,CAAAA,CAEFiU,EAAAA,CAAiB6C,CAAAA,CAAe,GAAG,CAAA,CACrC,CAAC,GAAGA,CAAAA,CAAe,GAAA,CAAI,OAAO,CAAA,CAAE,OAAA,CAC7B4H,CAAAA,EACEA,CAAAA,CAAU,SACThL,CAAAA,CACA,QAAA,CAASgL,CAAAA,CAAU,KAAK,CAAE,CAAA,CAEvB5H,CAAAA,CAAe,IAAA,CACpBnI,EAAAA,CAAgBmI,CAAAA,CAAe,GAAG,CAAA,CACpCA,CAAAA,CAAe,IAAA,CAAK,OAAA,CAAS6H,CAAAA,EAAe,CAAA,CACtC,CAACA,CAAAA,CAAY,cAAA,EAAkB,CAACA,CAAAA,CAAY,QAAA,IAC1C,KAAA,CAAM,OAAA,CAAQjL,CAAU,CAAA,CAC1BiL,CAAAA,CAAY,OAAA,CAAU,CAAC,CAACjL,CAAAA,CAAW,IAAA,CAChClO,CAAAA,EAAiBA,CAAAA,GAASmZ,CAAAA,CAAY,KAAK,CAAA,CAG9CA,CAAAA,CAAY,OAAA,CACVjL,CAAAA,GAAeiL,CAAAA,CAAY,KAAA,EAAS,CAAC,CAACjL,GAG9C,CAAC,CAAA,CAEDoD,CAAAA,CAAe,IAAA,CAAK,OAAA,CACjB8H,CAAAA,EACEA,CAAAA,CAAS,OAAA,CAAUA,CAAAA,CAAS,KAAA,GAAUlL,CAAW,CAAA,CAG/CG,EAAAA,CAAYiD,CAAAA,CAAe,GAAG,CAAA,CACvCA,CAAAA,CAAe,GAAA,CAAI,KAAA,CAAQ,EAAA,EAE3BA,CAAAA,CAAe,GAAA,CAAI,KAAA,CAAQpD,CAAAA,CAEtBoD,CAAAA,CAAe,GAAA,CAAI,IAAA,EACtB8E,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,MAAA,CAAQmM,EAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAAA,EAIT,CAAA,CAECrN,CAAAA,CAAQ,WAAA,EAAeA,CAAAA,CAAQ,WAAA,GAC9BmP,CAAAA,CACE/Z,EACAoQ,CAAAA,CACAxF,CAAAA,CAAQ,WAAA,CACRA,CAAAA,CAAQ,WAAA,CACR,IAAI,CAAA,CAGRA,CAAAA,CAAQ,cAAA,EAAkB2Q,EAAAA,CAAQvb,CAA0B,EAC9D,CAAA,CAEMwb,EAAAA,CAAY,CAKhBxb,CAAAA,CACAtD,CAAAA,CACAkO,CAAAA,GACE,CACF,IAAA,IAAW6Q,CAAAA,IAAY/e,CAAAA,CAAO,CAC5B,GAAI,CAACA,CAAAA,CAAM,cAAA,CAAe+e,CAAQ,CAAA,CAChC,OAEF,IAAMrL,CAAAA,CAAa1T,CAAAA,CAAM+e,CAAQ,CAAA,CAC3B5M,CAAAA,CAAY7O,CAAAA,CAAO,GAAA,CAAMyb,CAAAA,CACzBzI,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAShE,CAAS,CAAA,CAAA,CAEnCH,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,EACpB0L,CAAAA,CAAS0E,CAAU,CAAA,EAClB4C,CAAAA,EAAS,CAACA,CAAAA,CAAM,EAAA,GACnB,CAACzH,EAAAA,CAAa6E,CAAU,CAAA,CACpBoL,GAAU3M,CAAAA,CAAWuB,CAAAA,CAAYxF,CAAO,CAAA,CACxCkP,CAAAA,CAAcjL,CAAAA,CAAWuB,CAAAA,CAAYxF,CAAO,EAClD,CACF,CAAA,CAEM8Q,CAAAA,CAA0C,CAC9C1b,CAAAA,CACAtD,EACAkO,CAAAA,CAAU,EAAA,GACR,CACF,IAAMoI,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CACzBwV,CAAAA,CAAe9G,CAAAA,CAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,CACpC2b,CAAAA,CAAaxP,EAAAA,CAAYzP,CAAK,CAAA,CAEpC0Q,CAAAA,CAAI6K,CAAAA,CAAajY,CAAAA,CAAM2b,CAAU,CAAA,CAE7BnG,CAAAA,EACF8C,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,MAAA,CAAQmM,EAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAAA,CAGE3D,CAAAA,CAAgB,OAAA,EACfA,CAAAA,CAAgB,WAAA,EAChB+D,CAAAA,CAAyB,OAAA,EACzBA,EAAyB,WAAA,GAC3BzN,CAAAA,CAAQ,WAAA,EAER0N,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,WAAA,CAAa0R,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CACvD,QAASwB,CAAAA,CAAUzZ,CAAAA,CAAM2b,CAAU,CACpC,CAAA,CAAA,EAGH3I,CAAAA,EAAS,CAACA,CAAAA,CAAM,EAAA,EAAM,CAACxH,EAAAA,CAAkBmQ,CAAU,CAAA,CAC/CH,GAAUxb,CAAAA,CAAM2b,CAAAA,CAAY/Q,CAAO,CAAA,CACnCkP,CAAAA,CAAc9Z,CAAAA,CAAM2b,CAAAA,CAAY/Q,CAAO,CAAA,CAG7C+I,EAAAA,CAAU3T,CAAAA,CAAM0O,CAAM,CAAA,EAAK4J,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGP,CAAAA,CAAY,IAAA,CAAA/X,CAAI,CAAE,CAAA,CACvEsY,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAMJ,CAAAA,CAAO,KAAA,CAAQlY,EAAO,MAAA,CAC5B,MAAA,CAAQmM,EAAAA,CAAY8L,CAAW,CAChC,CAAA,EACH,CAAA,CAEMpf,EAAAA,CAA0B,MAAOiE,CAAAA,EAAS,CAC9Cob,CAAAA,CAAO,KAAA,CAAQ,KACf,IAAM0D,CAAAA,CAAS9e,CAAAA,CAAM,MAAA,CACjBkD,CAAAA,CAAe4b,CAAAA,CAAO,IAAA,CACtBC,CAAAA,CAAsB,IAAA,CACpB7I,CAAAA,CAAelG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAChC8b,EAA8B1L,CAAAA,EAAuB,CACzDyL,CAAAA,CACE,MAAA,CAAO,KAAA,CAAMzL,CAAU,CAAA,EACtB7E,EAAAA,CAAa6E,CAAU,CAAA,EAAK,KAAA,CAAMA,CAAAA,CAAW,OAAA,EAAS,CAAA,EACvDrB,EAAAA,CAAUqB,CAAAA,CAAYtD,CAAAA,CAAImL,CAAAA,CAAajY,CAAAA,CAAMoQ,CAAU,CAAC,EAC5D,CAAA,CACM2L,CAAAA,CAA6B3I,EAAAA,CAAmB0E,CAAAA,CAAS,IAAI,CAAA,CAC7DkE,CAAAA,CAA4B5I,GAChC0E,CAAAA,CAAS,cAAc,CAAA,CAGzB,GAAI9E,CAAAA,CAAO,CACT,IAAIkB,CAAAA,CACA2E,EAAAA,CACEzI,EAAAA,CAAawL,CAAAA,CAAO,IAAA,CACtBpJ,EAAAA,CAAcQ,CAAAA,CAAM,EAAE,CAAA,CACtBrH,EAAAA,CAAc7O,CAAK,CAAA,CACjB8W,EAAAA,CACJ9W,CAAAA,CAAM,IAAA,GAAS6Q,EAAAA,CAAO,IAAA,EAAQ7Q,CAAAA,CAAM,IAAA,GAAS6Q,EAAAA,CAAO,SAAA,CAChDsO,EAAAA,CACH,CAACvI,EAAAA,CAAcV,CAAAA,CAAM,EAAE,CAAA,EACtB,CAAC8E,CAAAA,CAAS,QAAA,EACV,CAAChL,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,EAC5B,CAACgT,CAAAA,CAAM,EAAA,CAAG,IAAA,EACZ4B,EAAAA,CACEhB,EAAAA,CACA9G,CAAAA,CAAIiL,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAClC+X,CAAAA,CAAW,WAAA,CACXiE,CAAAA,CACAD,CAA0B,CAAA,CAExBG,EAAAA,CAAUvI,GAAU3T,CAAAA,CAAM0O,CAAAA,CAAQkF,EAAW,CAAA,CAEnDxG,CAAAA,CAAI6K,CAAAA,CAAajY,CAAAA,CAAMoQ,EAAU,CAAA,CAE7BwD,EAAAA,CAAAA,CACE,CAACgI,CAAAA,EAAU,CAACA,CAAAA,CAAO,YACrB5I,CAAAA,CAAM,EAAA,CAAG,MAAA,EAAUA,CAAAA,CAAM,EAAA,CAAG,MAAA,CAAOlW,CAAK,CAAA,CACxCqb,CAAAA,EAAsBA,CAAAA,CAAmB,CAAC,CAAA,CAAA,CAEnCnF,CAAAA,CAAM,EAAA,CAAG,UAClBA,CAAAA,CAAM,EAAA,CAAG,QAAA,CAASlW,CAAK,CAAA,CAGzB,IAAMqT,EAAAA,CAAa4J,CAAAA,CAAoB/Z,CAAAA,CAAMoQ,EAAAA,CAAYwD,EAAW,CAAA,CAE9DqG,EAAAA,CAAe,CAAC3J,GAAcH,EAAU,CAAA,EAAK+L,EAAAA,CASnD,GAPA,CAACtI,EAAAA,EACC0E,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,IAAA,CAAMlD,CAAAA,CAAM,KACZ,MAAA,CAAQqP,EAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAECgE,EAAAA,CACF,OAAA,CAAI3H,CAAAA,CAAgB,OAAA,EAAW+D,CAAAA,CAAyB,OAAA,IAClDP,CAAAA,CAAS,IAAA,GAAS,SAChBlE,EAAAA,EACF+E,CAAAA,EAAS,CAED/E,EAAAA,EACV+E,CAAAA,EAAS,CAAA,CAKXsB,EAAAA,EACA3B,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,IAAA,CAAAtY,CAAAA,CAAM,GAAIkc,GAAU,EAAA,CAAK/L,EAAW,CAAE,CAAA,CAMjE,GAFA,CAACyD,EAAAA,EAAesI,EAAAA,EAAW5D,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGP,CAAU,CAAE,CAAA,CAE7DD,CAAAA,CAAS,QAAA,CAAU,CACrB,GAAM,CAAE,MAAA,CAAArI,EAAM,CAAA,CAAK,MAAMqJ,CAAAA,CAAW,CAAC9Y,CAAI,CAAC,EAI1C,GAFA8b,CAAAA,CAA2B1L,EAAU,CAAA,CAEjCyL,CAAAA,CAAqB,CACvB,IAAMM,EAAAA,CAA4BlI,EAAAA,CAChC8D,CAAAA,CAAW,MAAA,CACXlF,CAAAA,CACA7S,CAAI,CAAA,CAEAoc,GAAoBnI,EAAAA,CACxBxE,EAAAA,CACAoD,CAAAA,CACAsJ,EAAAA,CAA0B,IAAA,EAAQnc,CAAI,CAAA,CAGxCkU,CAAAA,CAAQkI,EAAAA,CAAkB,KAAA,CAC1Bpc,CAAAA,CAAOoc,EAAAA,CAAkB,IAAA,CAEzBvD,EAAAA,CAAUvI,GAAcb,EAAM,EAChC,CACF,CAAA,KACEuJ,CAAAA,CAAoB,CAAChZ,CAAI,CAAA,CAAG,IAAI,CAAA,CAChCkU,CAAAA,CAAAA,CACE,MAAMoB,EAAAA,CACJtC,CAAAA,CACAtE,CAAAA,CAAO,QAAA,CACPuJ,CAAAA,CACAM,CAAAA,CACAT,CAAAA,CAAS,yBAAyB,CAAA,EAEpC9X,CAAI,CAAA,CACNgZ,CAAAA,CAAoB,CAAChZ,CAAI,CAAC,CAAA,CAE1B8b,CAAAA,CAA2B1L,EAAU,EAEjCyL,CAAAA,GACE3H,CAAAA,CACF2E,EAAAA,CAAU,KAAA,CAAA,CAEVvE,CAAAA,CAAgB,OAAA,EAChB+D,CAAAA,CAAyB,OAAA,IAEzBQ,EAAAA,CAAU,MAAME,CAAAA,CAAyBlG,CAAAA,CAAS,IAAI,CAAA,CAAA,CAAA,CAKxDgJ,IACF7I,CAAAA,CAAM,EAAA,CAAG,IAAA,GACN,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAAA,CAAM,EAAA,CAAG,IAAI,CAAA,EAAKA,CAAAA,CAAM,EAAA,CAAG,IAAA,CAAK,MAAA,CAAS,IACzDuI,EAAAA,CACEvI,CAAAA,CAAM,EAAA,CAAG,IAEoB,CAAA,CAEjCuH,EAAAA,CAAoBva,CAAAA,CAAM6Y,EAAAA,CAAS3E,CAAAA,CAAO/D,EAAU,CAAA,EAExD,CACF,CAAA,CAEMkM,EAAAA,CAAc,CAACtS,CAAAA,CAAUwC,CAAAA,GAAe,CAC5C,GAAIO,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQxL,CAAG,CAAA,EAAKxC,CAAAA,CAAI,KAAA,CACrC,OAAAA,CAAAA,CAAI,KAAA,EAAK,CACF,CAGX,CAAA,CAEMwR,EAAAA,CAAwC,MAAOvb,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACzE,IAAIiO,CAAAA,CACAlB,CAAAA,CACE2E,CAAAA,CAAa3M,EAAAA,CAAsB3P,CAAI,EAE7C,GAAI8X,CAAAA,CAAS,QAAA,CAAU,CACrB,IAAMrI,CAAAA,CAAS,MAAMiL,CAAAA,CACnBjO,CAAAA,CAAYzM,CAAI,CAAA,CAAIA,CAAAA,CAAOsc,CAAU,CAAA,CAGvCzD,EAAUvI,EAAAA,CAAcb,CAAM,CAAA,CAC9BkI,CAAAA,CAAmB3X,CAAAA,CACf,CAACsc,CAAAA,CAAW,IAAA,CAAMtc,CAAAA,EAAS8M,CAAAA,CAAI2C,CAAAA,CAAQzP,CAAI,CAAC,CAAA,CAC5C6Y,EACN,CAAA,KAAW7Y,CAAAA,EACT2X,CAAAA,CAAAA,CACE,MAAM,OAAA,CAAQ,GAAA,CACZ2E,CAAAA,CAAW,GAAA,CAAI,MAAOzN,CAAAA,EAAa,CACjC,IAAMmE,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAShE,CAAS,CAAA,CACpC,OAAO,MAAMkK,CAAAA,CACX/F,CAAAA,EAASA,CAAAA,CAAM,EAAA,CAAK,CAAE,CAACnE,CAAS,EAAGmE,CAAK,CAAA,CAAKA,CAAK,CAEtD,CAAC,CAAC,CAAA,EAEJ,KAAA,CAAM,OAAO,CAAA,CACf,EAAE,CAAC2E,CAAAA,EAAoB,CAACI,CAAAA,CAAW,OAAA,CAAA,EAAYY,CAAAA,EAAS,EAExDhB,EAAmBkB,CAAAA,CAAU,MAAME,CAAAA,CAAyBlG,CAAO,CAAA,CAGrE,OAAAyF,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,GAAI,CAAC9J,EAAAA,CAASxO,CAAI,CAAA,EAAA,CAChBsU,CAAAA,CAAgB,OAAA,EAAW+D,CAAAA,CAAyB,OAAA,GACpDQ,CAAAA,GAAYd,CAAAA,CAAW,OAAA,CACrB,EAAA,CACA,CAAE,IAAA,CAAA/X,CAAI,CAAA,CACV,GAAI8X,CAAAA,CAAS,UAAY,CAAC9X,CAAAA,CAAO,CAAE,OAAA,CAAA6Y,CAAO,CAAA,CAAK,EAAA,CAC/C,MAAA,CAAQd,CAAAA,CAAW,MACpB,CAAA,CAAA,CAEDnN,CAAAA,CAAQ,aACN,CAAC+M,CAAAA,EACD7D,EAAAA,CACEjB,CAAAA,CACAwJ,EAAAA,CACArc,CAAAA,CAAOsc,CAAAA,CAAa5N,CAAAA,CAAO,KAAK,CAAA,CAG7BiJ,CACT,CAAA,CAEMsD,EAAAA,CAA4C,CAChDqB,EAGAC,CAAAA,GACE,CACF,IAAIrM,CAAAA,CAAS,CACX,GAAIgI,CAAAA,CAAO,KAAA,CAAQD,CAAAA,CAAcD,CAAAA,CAAAA,CAGnC,OAAIuE,CAAAA,GACFrM,CAAAA,CAASF,EAAAA,CACPuM,CAAAA,CAAO,WAAA,CAAcxE,CAAAA,CAAW,WAAA,CAAcA,CAAAA,CAAW,aAAA,CACzD7H,CAAM,CAAA,CAAA,CAIHzD,CAAAA,CAAY6P,CAAU,CAAA,CACzBpM,CAAAA,CACA1B,EAAAA,CAAS8N,CAAU,CAAA,CACjBxP,CAAAA,CAAIoD,EAAQoM,CAAU,CAAA,CACtBA,CAAAA,CAAW,GAAA,CAAKtc,CAAAA,EAAS8M,CAAAA,CAAIoD,CAAAA,CAAQlQ,CAAI,CAAC,CAClD,CAAA,CAEMwc,EAAAA,CAAoD,CACxDxc,CAAAA,CACAkO,KACI,CACJ,OAAA,CAAS,CAAC,CAACpB,CAAAA,CAAAA,CAAKoB,CAAAA,EAAa6J,CAAAA,EAAY,MAAA,CAAQ/X,CAAI,CAAA,CACrD,OAAA,CAAS,CAAC,CAAC8M,CAAAA,CAAAA,CAAKoB,GAAa6J,CAAAA,EAAY,WAAA,CAAa/X,CAAI,CAAA,CAC1D,KAAA,CAAO8M,CAAAA,CAAAA,CAAKoB,CAAAA,EAAa6J,CAAAA,EAAY,MAAA,CAAQ/X,CAAI,CAAA,CACjD,YAAA,CAAc,CAAC,CAAC8M,CAAAA,CAAIiL,CAAAA,CAAW,gBAAA,CAAkB/X,CAAI,CAAA,CACrD,SAAA,CAAW,CAAC,CAAC8M,CAAAA,CAAAA,CAAKoB,CAAAA,EAAa6J,CAAAA,EAAY,aAAA,CAAe/X,CAAI,CAC/D,CAAA,CAAA,CAEKyc,EAAAA,CAAiDzc,GAAQ,CAC7DA,CAAAA,EACE2P,EAAAA,CAAsB3P,CAAI,CAAA,CAAE,OAAA,CAAS0c,CAAAA,EACnCvL,CAAAA,CAAM4G,CAAAA,CAAW,MAAA,CAAQ2E,CAAS,CAAC,CAAA,CAGvCpE,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,MAAA,CAAQtY,CAAAA,CAAO+X,CAAAA,CAAW,MAAA,CAAS,EACpC,CAAA,EACH,CAAA,CAEM4E,EAAAA,CAA0C,CAAC3c,CAAAA,CAAMkU,EAAOtJ,CAAAA,GAAW,CACvE,IAAMb,CAAAA,CAAAA,CAAO+C,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAAA,CAAM,CAAE,EAAA,CAAI,EAAE,CAAE,CAAA,CAAE,EAAA,EAAM,EAAA,EAAI,GAAA,CAChD4c,CAAAA,CAAe9P,CAAAA,CAAIiL,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,EAAK,EAAA,CAG/C,CAAE,GAAA,CAAK6c,CAAAA,CAAY,OAAA,CAAAnN,EAAS,IAAA,CAAA7V,CAAAA,CAAM,GAAGijB,CAAe,CAAA,CAAKF,CAAAA,CAE/DxP,CAAAA,CAAI2K,CAAAA,CAAW,MAAA,CAAQ/X,CAAAA,CAAM,CAC3B,GAAG8c,CAAAA,CACH,GAAG5I,EACH,GAAA,CAAAnK,CACD,CAAA,CAAA,CAEDuO,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,IAAA,CAAAtY,CAAAA,CACA,MAAA,CAAQ+X,CAAAA,CAAW,MAAA,CACnB,OAAA,CAAS,KACV,CAAA,CAAA,CAEDnN,CAAAA,EAAWA,CAAAA,CAAQ,WAAA,EAAeb,CAAAA,EAAOA,CAAAA,CAAI,KAAA,EAASA,CAAAA,CAAI,KAAA,GAC5D,CAAA,CAEMgT,EAAAA,CAAoC,CACxC/c,CAAAA,CAIAiN,CAAAA,GAEAuD,EAAAA,CAAWxQ,CAAI,CAAA,CACXsY,CAAAA,CAAU,KAAA,CAAM,SAAA,CAAU,CACxB,IAAA,CAAO0E,CAAAA,EACL,QAAA,GAAYA,CAAAA,EACZhd,CAAAA,CACEkb,CAAAA,CAAU,MAAA,CAAWjO,CAAY,CAAA,CACjC+P,CAIC,CAAA,CAEN,CAAA,CACD9B,CAAAA,CACElb,CAAAA,CACAiN,CAAAA,CACA,IAAI,CAAA,CAGNgQ,EAAAA,CAA2CxjB,CAAAA,EAC/C6e,CAAAA,CAAU,KAAA,CAAM,SAAA,CAAU,CACxB,IAAA,CACEpK,CAAAA,EAKE,CAEAsG,EAAAA,CAAsB/a,CAAAA,CAAM,IAAA,CAAMyU,CAAAA,CAAU,IAAA,CAAMzU,CAAAA,CAAM,KAAK,CAAA,EAC7D2a,EAAAA,CACElG,CAAAA,CACCzU,CAAAA,CAAM,WAA+B6a,CAAAA,CACtC4I,EAAAA,CACAzjB,CAAAA,CAAM,YAAY,CAAA,EAGpBA,CAAAA,CAAM,QAAA,CAAS,CACb,MAAA,CAAQ,CAAE,GAAGwe,CAAW,CAAA,CACxB,GAAGF,CAAAA,CACH,GAAG7J,CAAAA,CACH,aAAA,CACE8J,CACH,CAAA,EAEL,CAAA,CACD,CAAA,CAAE,WAAA,CAECmF,EAAAA,CAA6C1jB,CAAAA,GACjDye,CAAAA,CAAO,KAAA,CAAQ,IAAA,CACfG,CAAAA,CAA2B,CACzB,GAAGA,CAAAA,CACH,GAAG5e,CAAAA,CAAM,SAAA,CAAA,CAEJwjB,EAAAA,CAAW,CAChB,GAAGxjB,CAAAA,CACH,SAAA,CAAW4e,CACZ,CAAA,CAAA,CAAA,CAGG2C,EAAAA,CAA8C,CAAChb,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACzE,IAAA,IAAWiE,CAAAA,IAAa7O,CAAAA,CAAO2P,EAAAA,CAAsB3P,CAAI,CAAA,CAAI0O,CAAAA,CAAO,KAAA,CAClEA,CAAAA,CAAO,MAAM,MAAA,CAAOG,CAAS,CAAA,CAC7BH,CAAAA,CAAO,KAAA,CAAM,MAAA,CAAOG,CAAS,CAAA,CAExBjE,CAAAA,CAAQ,SAAA,GACXuG,CAAAA,CAAM0B,CAAAA,CAAShE,CAAS,CAAA,CACxBsC,CAAAA,CAAM8G,CAAAA,CAAapJ,CAAS,CAAA,CAAA,CAG9B,CAACjE,CAAAA,CAAQ,SAAA,EAAauG,CAAAA,CAAM4G,CAAAA,CAAW,MAAA,CAAQlJ,CAAS,CAAA,CACxD,CAACjE,CAAAA,CAAQ,SAAA,EAAauG,CAAAA,CAAM4G,EAAW,WAAA,CAAalJ,CAAS,CAAA,CAC7D,CAACjE,CAAAA,CAAQ,WAAA,EAAeuG,CAAAA,CAAM4G,CAAAA,CAAW,aAAA,CAAelJ,CAAS,CAAA,CACjE,CAACjE,CAAAA,CAAQ,gBAAA,EACPuG,EAAM4G,CAAAA,CAAW,gBAAA,CAAkBlJ,CAAS,CAAA,CAC9C,CAACiJ,CAAAA,CAAS,gBAAA,EACR,CAAClN,CAAAA,CAAQ,gBAAA,EACTuG,CAAAA,CAAM6G,CAAAA,CAAgBnJ,CAAS,CAAA,CAGnCyJ,EAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQnM,EAAAA,CAAY8L,CAAW,CAChC,CAAA,CAAA,CAEDK,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,GAAGP,EACH,GAAKnN,CAAAA,CAAQ,SAAA,CAAiB,CAAE,OAAA,CAAS6O,CAAAA,EAAW,CAAA,CAA3B,EAC1B,CAAA,CAAA,CAED,CAAC7O,CAAAA,CAAQ,aAAe+N,CAAAA,GAC1B,CAAA,CAEMyE,EAAAA,CAAgE,CAAC,CACrE,QAAA,CAAA7W,CAAAA,CACA,IAAA,CAAAvG,CAAI,CAAA,GACD,CAAA,CAEAmN,EAAAA,CAAU5G,CAAQ,GAAK2R,CAAAA,CAAO,KAAA,EAC7B3R,CAAAA,EACFmI,CAAAA,CAAO,QAAA,CAAS,GAAA,CAAI1O,CAAI,CAAA,IAExBuG,CAAAA,CAAWmI,CAAAA,CAAO,QAAA,CAAS,GAAA,CAAI1O,CAAI,CAAA,CAAI0O,EAAO,QAAA,CAAS,MAAA,CAAO1O,CAAI,CAAA,EAEtE,CAAA,CAEMqd,EAAAA,CAA0C,CAACrd,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACrE,IAAIoI,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CACvBsd,CAAAA,CACJnQ,EAAAA,CAAUvC,CAAAA,CAAQ,QAAQ,CAAA,EAAKuC,EAAAA,CAAU2K,CAAAA,CAAS,QAAQ,CAAA,CAE5D,OAAA1K,CAAAA,CAAIyF,CAAAA,CAAS7S,EAAM,CACjB,GAAIgT,CAAAA,EAAS,EAAA,CACb,EAAA,CAAI,CACF,GAAIA,CAAAA,EAASA,CAAAA,CAAM,EAAA,CAAKA,CAAAA,CAAM,EAAA,CAAK,CAAE,IAAK,CAAE,IAAA,CAAAhT,CAAI,CAAE,CAAA,CAClD,IAAA,CAAAA,CAAAA,CACA,KAAA,CAAO,IAAA,CACP,GAAG4K,CACJ,CACF,CAAA,CAAA,CACD8D,EAAO,KAAA,CAAM,GAAA,CAAI1O,CAAI,CAAA,CAEjBgT,CAAAA,CACFoK,EAAAA,CAAkB,CAChB,QAAA,CAAUjQ,EAAAA,CAAUvC,CAAAA,CAAQ,QAAQ,CAAA,CAChCA,CAAAA,CAAQ,QAAA,CACRkN,CAAAA,CAAS,QAAA,CACb,IAAA,CAAA9X,CACD,CAAA,CAAA,CAED4Z,CAAAA,CAAoB5Z,CAAAA,CAAM,IAAA,CAAM4K,CAAAA,CAAQ,KAAK,CAAA,CAGxC,CACL,GAAI0S,CAAAA,CACA,CAAE,SAAU1S,CAAAA,CAAQ,QAAA,EAAYkN,CAAAA,CAAS,QAAQ,CAAA,CACjD,EAAA,CACJ,GAAIA,CAAAA,CAAS,WAAA,CACT,CACE,QAAA,CAAU,CAAC,CAAClN,EAAQ,QAAA,CACpB,GAAA,CAAKsI,EAAAA,CAAatI,CAAAA,CAAQ,GAAG,CAAA,CAC7B,GAAA,CAAKsI,EAAAA,CAAatI,CAAAA,CAAQ,GAAG,CAAA,CAC7B,SAAA,CAAWsI,EAAAA,CAAqBtI,CAAAA,CAAQ,SAAS,CAAA,CACjD,SAAA,CAAWsI,EAAAA,CAAatI,CAAAA,CAAQ,SAAS,CAAA,CACzC,OAAA,CAASsI,EAAAA,CAAatI,CAAAA,CAAQ,OAAO,CACtC,CAAA,CACD,EAAA,CACJ,IAAA,CAAA5K,CAAAA,CACA,QAAA,CAAAnH,EAAAA,CACA,MAAA,CAAQA,EAAAA,CACR,GAAA,CAAMkR,CAAAA,EAAsC,CAC1C,GAAIA,CAAAA,CAAK,CACPsT,EAAAA,CAASrd,CAAAA,CAAM4K,CAAO,CAAA,CACtBoI,EAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAEzB,IAAMud,CAAAA,CAAW9Q,CAAAA,CAAY1C,CAAAA,CAAI,KAAK,CAAA,EAClCA,CAAAA,CAAI,gBAAA,EACDA,CAAAA,CAAI,gBAAA,CAAiB,uBAAuB,CAAA,CAAE,CAAC,CAAA,EAAaA,CAAAA,CAG7DyT,CAAAA,CAAkB3M,EAAAA,CAAkB0M,CAAQ,CAAA,CAC5C9H,CAAAA,CAAOzC,CAAAA,CAAM,EAAA,CAAG,IAAA,EAAQ,EAAA,CAE9B,GACEwK,CAAAA,CACI/H,CAAAA,CAAK,IAAA,CAAMzD,CAAAA,EAAgBA,CAAAA,GAAWuL,CAAQ,CAAA,CAC9CA,CAAAA,GAAavK,CAAAA,CAAM,EAAA,CAAG,GAAA,CAE1B,OAGF5F,CAAAA,CAAIyF,CAAAA,CAAS7S,EAAM,CACjB,EAAA,CAAI,CACF,GAAGgT,CAAAA,CAAM,EAAA,CACT,GAAIwK,CAAAA,CACA,CACE,IAAA,CAAM,CACJ,GAAG/H,CAAAA,CAAK,MAAA,CAAO3E,EAAI,CAAA,CACnByM,CAAAA,CACA,GAAI,KAAA,CAAM,OAAA,CAAQzQ,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,CAAC,CAAA,CAAI,CAAC,EAAE,CAAA,CAAI,EACvD,CAAA,CACD,GAAA,CAAK,CAAE,IAAA,CAAMud,CAAAA,CAAS,IAAA,CAAM,IAAA,CAAAvd,CAAI,CACjC,CAAA,CACD,CAAE,GAAA,CAAKud,CAAQ,CACpB,CACF,CAAA,CAAA,CAED3D,CAAAA,CAAoB5Z,CAAAA,CAAM,KAAA,CAAO,MAAA,CAAWud,CAAQ,EACtD,CAAA,KACEvK,CAAAA,CAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAAA,CAAM,EAAE,CAAA,CAEzBgT,CAAAA,CAAM,EAAA,GACRA,CAAAA,CAAM,EAAA,CAAG,KAAA,CAAQ,KAAA,CAAA,CAAA,CAGlB8E,CAAAA,CAAS,gBAAA,EAAoBlN,CAAAA,CAAQ,gBAAA,GACpC,EAAEiB,EAAAA,CAAmB6C,CAAAA,CAAO,MAAO1O,CAAI,CAAA,EAAKkY,CAAAA,CAAO,MAAA,CAAA,EACnDxJ,CAAAA,CAAO,OAAA,CAAQ,GAAA,CAAI1O,CAAI,EAE7B,CAAA,CAEJ,CAAA,CAEMyd,EAAAA,CAAc,IAClB3F,CAAAA,CAAS,kBACThE,EAAAA,CAAsBjB,CAAAA,CAASwJ,EAAAA,CAAa3N,CAAAA,CAAO,KAAK,CAAA,CAEpDgP,EAAAA,CAAgBnX,CAAAA,EAAsB,CACtC4G,EAAAA,CAAU5G,CAAQ,CAAA,GACpB+R,CAAAA,CAAU,KAAA,CAAM,KAAK,CAAE,QAAA,CAAA/R,CAAQ,CAAE,CAAA,CACjCuN,EAAAA,CACEjB,CAAAA,CACA,CAAC9I,CAAAA,CAAK/J,CAAAA,GAAQ,CACZ,IAAMgU,CAAAA,CAAsBlH,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CACzCgU,CAAAA,GACFjK,CAAAA,CAAI,QAAA,CAAWiK,CAAAA,CAAa,EAAA,CAAG,QAAA,EAAYzN,CAAAA,CAEvC,KAAA,CAAM,OAAA,CAAQyN,CAAAA,CAAa,EAAA,CAAG,IAAI,CAAA,EACpCA,EAAa,EAAA,CAAG,IAAA,CAAK,OAAA,CAASmC,CAAAA,EAAY,CACxCA,CAAAA,CAAS,QAAA,CAAWnC,CAAAA,CAAa,EAAA,CAAG,QAAA,EAAYzN,EAClD,CAAC,CAAA,EAGP,CAAA,CACA,EACA,KAAK,CAAA,EAGX,CAAA,CAEMoX,EAAAA,CACJ,CAACC,CAAAA,CAASC,CAAAA,GAAc,MAAOjX,CAAAA,EAAK,CAClC,IAAIkX,CAAAA,CACAlX,CAAAA,GACFA,CAAAA,CAAE,gBAAkBA,CAAAA,CAAE,cAAA,EAAc,CACnCA,CAAAA,CAA+B,OAAA,EAC7BA,CAAAA,CAA+B,OAAA,EAAO,CAAA,CAE3C,IAAI2S,CAAAA,CAGwBpN,EAAAA,CAAY8L,CAAW,CAAA,CAMnD,GAJAK,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,YAAA,CAAc,IACf,CAAA,CAAA,CAEGR,CAAAA,CAAS,QAAA,CAAU,CACrB,GAAM,CAAE,MAAA,CAAArI,CAAAA,CAAQ,MAAA,CAAAS,CAAM,CAAA,CAAK,MAAM4I,CAAAA,EAAU,CAC3Cf,CAAAA,CAAW,MAAA,CAAStI,CAAAA,CACpB8J,CAAAA,CAAcpN,EAAAA,CAAY+D,CAAM,EAClC,CAAA,KACE,MAAM6I,CAAAA,CAAyBlG,CAAO,CAAA,CAGxC,GAAInE,CAAAA,CAAO,QAAA,CAAS,IAAA,CAClB,IAAA,IAAW1O,CAAAA,IAAQ0O,CAAAA,CAAO,QAAA,CACxByC,CAAAA,CAAMoI,CAAAA,CAAavZ,CAAI,CAAA,CAM3B,GAFAmR,EAAM4G,CAAAA,CAAW,MAAA,CAAQ,MAAM,CAAA,CAE3BzH,EAAAA,CAAcyH,CAAAA,CAAW,MAAM,CAAA,CAAG,CACpCO,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQ,EACT,CAAA,CAAA,CACD,GAAI,CACF,MAAMsF,CAAAA,CAAQrE,CAAAA,CAAmC3S,CAAC,EACpD,CAAA,MAASsN,CAAAA,CAAO,CACd4J,CAAAA,CAAe5J,EACjB,CACF,CAAA,KACM2J,CAAAA,EACF,MAAMA,CAAAA,CAAU,CAAE,GAAG9F,CAAAA,CAAW,MAAM,CAAA,CAAInR,CAAC,CAAA,CAE7C6W,EAAAA,EAAW,CACX,UAAA,CAAWA,EAAW,CAAA,CAUxB,GAPAnF,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,WAAA,CAAa,IAAA,CACb,YAAA,CAAc,KAAA,CACd,kBAAA,CAAoBhI,EAAAA,CAAcyH,CAAAA,CAAW,MAAM,GAAK,CAAC+F,CAAAA,CACzD,WAAA,CAAa/F,CAAAA,CAAW,WAAA,CAAc,CAAA,CACtC,MAAA,CAAQA,CAAAA,CAAW,MACpB,CAAA,CAAA,CACG+F,CAAAA,CACF,MAAMA,CAEV,CAAA,CAEIC,EAAAA,CAA8C,CAAC/d,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACrEkC,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,GACfyM,CAAAA,CAAY7B,CAAAA,CAAQ,YAAY,CAAA,CAClC8Q,EAAS1b,CAAAA,CAAMmM,EAAAA,CAAYW,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,CAAC,CAAC,CAAA,EAErD0b,CAAAA,CACE1b,CAAAA,CACA4K,CAAAA,CAAQ,YAA2D,CAAA,CAErEwC,CAAAA,CAAI4K,EAAgBhY,CAAAA,CAAMmM,EAAAA,CAAYvB,CAAAA,CAAQ,YAAY,CAAC,CAAA,CAAA,CAGxDA,CAAAA,CAAQ,WAAA,EACXuG,CAAAA,CAAM4G,CAAAA,CAAW,aAAA,CAAe/X,CAAI,CAAA,CAGjC4K,CAAAA,CAAQ,YACXuG,CAAAA,CAAM4G,CAAAA,CAAW,WAAA,CAAa/X,CAAI,CAAA,CAClC+X,CAAAA,CAAW,OAAA,CAAUnN,CAAAA,CAAQ,YAAA,CACzB6O,CAAAA,CAAUzZ,CAAAA,CAAMmM,EAAAA,CAAYW,CAAAA,CAAIkL,CAAAA,CAAgBhY,CAAI,CAAC,CAAC,CAAA,CACtDyZ,CAAAA,EAAS,CAAA,CAGV7O,CAAAA,CAAQ,SAAA,GACXuG,CAAAA,CAAM4G,CAAAA,CAAW,MAAA,CAAQ/X,CAAI,CAAA,CAC7BsU,CAAAA,CAAgB,OAAA,EAAWqE,CAAAA,IAG7BL,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGP,CAAU,CAAE,CAAA,EAE1C,CAAA,CAEMiG,EAAAA,CAAqC,CACzCrP,CAAAA,CACAsP,CAAAA,CAAmB,KACjB,CACF,IAAMC,CAAAA,CAAgBvP,CAAAA,CAAaxC,EAAAA,CAAYwC,CAAU,CAAA,CAAIqJ,CAAAA,CACvDmG,CAAAA,CAAqBhS,EAAAA,CAAY+R,CAAa,CAAA,CAC9CE,CAAAA,CAAqB9N,EAAAA,CAAc3B,CAAU,CAAA,CAC7CuB,CAAAA,CAASkO,CAAAA,CAAqBpG,CAAAA,CAAiBmG,CAAAA,CAMrD,GAJKF,CAAAA,CAAiB,iBAAA,GACpBjG,CAAAA,CAAiBkG,CAAAA,CAAAA,CAGf,CAACD,CAAAA,CAAiB,UAAA,CAAY,CAChC,GAAIA,CAAAA,CAAiB,eAAA,CAAiB,CACpC,IAAMI,CAAAA,CAAgB,IAAI,GAAA,CAAI,CAC5B,GAAG3P,CAAAA,CAAO,KAAA,CACV,GAAG,MAAA,CAAO,IAAA,CAAKgD,EAAAA,CAAesG,EAAgBC,CAAW,CAAC,CAC3D,CAAA,CAAA,CACD,IAAA,IAAWpJ,CAAAA,IAAa,KAAA,CAAM,IAAA,CAAKwP,CAAa,CAAA,CAC9CvR,CAAAA,CAAIiL,CAAAA,CAAW,WAAA,CAAalJ,CAAS,CAAA,CACjCzB,CAAAA,CAAI8C,CAAAA,CAAQrB,CAAAA,CAAW/B,CAAAA,CAAImL,CAAAA,CAAapJ,CAAS,CAAC,CAAA,CAClD6M,CAAAA,CACE7M,CAAAA,CACA/B,CAAAA,CAAIoD,CAAAA,CAAQrB,CAAS,CAAC,EAGhC,CAAA,KAAO,CACL,GAAI3C,EAAAA,EAASO,CAAAA,CAAYkC,CAAU,CAAA,CACjC,IAAA,IAAW3O,CAAAA,IAAQ0O,CAAAA,CAAO,KAAA,CAAO,CAC/B,IAAMsE,EAAQlG,CAAAA,CAAI+F,CAAAA,CAAS7S,CAAI,CAAA,CAC/B,GAAIgT,CAAAA,EAASA,CAAAA,CAAM,EAAA,CAAI,CACrB,IAAMQ,CAAAA,CAAiB,KAAA,CAAM,OAAA,CAAQR,CAAAA,CAAM,GAAG,IAAI,CAAA,CAC9CA,CAAAA,CAAM,EAAA,CAAG,IAAA,CAAK,CAAC,CAAA,CACfA,CAAAA,CAAM,EAAA,CAAG,GAAA,CAEb,GAAIvC,EAAAA,CAAc+C,CAAc,CAAA,CAAG,CACjC,IAAM8K,EAAAA,CAAO9K,CAAAA,CAAe,OAAA,CAAQ,MAAM,CAAA,CAC1C,GAAI8K,EAAAA,CAAM,CACRA,EAAAA,CAAK,KAAA,EAAK,CACV,KACF,CACF,CACF,CACF,CAGF,GAAIL,CAAAA,CAAiB,aAAA,CACnB,IAAA,IAAWpP,CAAAA,IAAaH,CAAAA,CAAO,KAAA,CAC7BgN,CAAAA,CACE7M,CAAAA,CACA/B,CAAAA,CAAIoD,CAAAA,CAAQrB,CAAS,CAAC,CAAA,CAAA,KAI1BgE,CAAAA,CAAU,GAEd,CAEAoF,CAAAA,CAAcH,CAAAA,CAAS,gBAAA,CACnBmG,CAAAA,CAAiB,iBAAA,CACd9R,EAAAA,CAAY6L,CAAc,CAAA,CAC1B,EAAA,CACF7L,GAAY+D,CAAM,CAAA,CAEvBoI,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,MAAA,CAAQ,CAAE,GAAGpI,CAAM,CACpB,CAAA,CAAA,CAEDoI,CAAAA,CAAU,MAAM,IAAA,CAAK,CACnB,MAAA,CAAQ,CAAE,GAAGpI,CAAM,CACpB,CAAA,EACH,CAEAxB,CAAAA,CAAS,CACP,KAAA,CAAOuP,CAAAA,CAAiB,gBAAkBvP,CAAAA,CAAO,KAAA,CAAQ,IAAI,GAAA,CAC7D,OAAA,CAAS,IAAI,GAAA,CACb,KAAA,CAAO,IAAI,GAAA,CACX,QAAA,CAAU,IAAI,GAAA,CACd,KAAA,CAAO,IAAI,GAAA,CACX,QAAA,CAAU,KAAA,CACV,KAAA,CAAO,EAAA,CAAA,CAGTwJ,CAAAA,CAAO,KAAA,CACL,CAAC5D,CAAAA,CAAgB,OAAA,EACjB,CAAC,CAAC2J,CAAAA,CAAiB,WAAA,EACnB,CAAC,CAACA,CAAAA,CAAiB,eAAA,EAClB,CAACnG,CAAAA,CAAS,gBAAA,EAAoB,CAACxH,EAAAA,CAAcJ,CAAM,CAAA,CAEtDgI,CAAAA,CAAO,KAAA,CAAQ,CAAC,CAACJ,CAAAA,CAAS,iBAC1BI,CAAAA,CAAO,MAAA,CAAS,KAAA,CAKX+F,CAAAA,CAAiB,UAAA,GACpBlG,CAAAA,CAAW,MAAA,CAAS,EAAA,CAAA,CAGtBO,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,WAAA,CAAa2F,EAAiB,eAAA,CAC1BlG,CAAAA,CAAW,WAAA,CACX,CAAA,CACJ,OAAA,CAASqG,CAAAA,CACL,KAAA,CACAH,CAAAA,CAAiB,SAAA,CACflG,CAAAA,CAAW,OAAA,CACX,CAAC,EACCkG,CAAAA,CAAiB,iBAAA,EACjB,CAAClP,EAAAA,CAAUJ,CAAAA,CAAYqJ,CAAc,CAAA,CAAA,CAE7C,WAAA,CAAaiG,CAAAA,CAAiB,eAAA,CAC1BlG,CAAAA,CAAW,WAAA,CACX,KAAA,CACJ,WAAA,CAAaqG,CAAAA,CACT,EAAA,CACAH,EAAiB,eAAA,CACfA,CAAAA,CAAiB,iBAAA,EAAqBhG,CAAAA,CACpCvG,EAAAA,CAAesG,CAAAA,CAAgBC,CAAW,CAAA,CAC1CF,CAAAA,CAAW,WAAA,CACbkG,CAAAA,CAAiB,iBAAA,EAAqBtP,CAAAA,CACpC+C,EAAAA,CAAesG,EAAgBrJ,CAAU,CAAA,CACzCsP,CAAAA,CAAiB,SAAA,CACflG,CAAAA,CAAW,WAAA,CACX,EAAA,CACV,aAAA,CAAekG,CAAAA,CAAiB,WAAA,CAC5BlG,CAAAA,CAAW,aAAA,CACX,GACJ,MAAA,CAAQkG,CAAAA,CAAiB,UAAA,CAAalG,CAAAA,CAAW,MAAA,CAAS,EAAA,CAC1D,kBAAA,CAAoBkG,CAAAA,CAAiB,sBAAA,CACjClG,CAAAA,CAAW,kBAAA,CACX,KAAA,CACJ,YAAA,CAAc,MACd,aAAA,CAAeC,CAChB,CAAA,EACH,CAAA,CAEMuG,EAAAA,CAAoC,CAAC5P,CAAAA,CAAYsP,CAAAA,GACrDD,EAAAA,CACExN,EAAAA,CAAW7B,CAAU,CAAA,CAChBA,CAAAA,CAAwBsJ,CAA2B,CAAA,CACpDtJ,CAAAA,CACJsP,CAAgB,CAAA,CAGdO,EAAAA,CAA0C,CAACxe,CAAAA,CAAM4K,CAAAA,CAAU,EAAA,GAAM,CACrE,IAAMoI,CAAAA,CAAQlG,CAAAA,CAAI+F,EAAS7S,CAAI,CAAA,CACzBwT,CAAAA,CAAiBR,CAAAA,EAASA,CAAAA,CAAM,EAAA,CAEtC,GAAIQ,CAAAA,CAAgB,CAClB,IAAM+J,CAAAA,CAAW/J,CAAAA,CAAe,IAAA,CAC5BA,CAAAA,CAAe,KAAK,CAAC,CAAA,CACrBA,CAAAA,CAAe,GAAA,CAEf+J,CAAAA,CAAS,KAAA,GACXA,CAAAA,CAAS,KAAA,EAAK,CACd3S,CAAAA,CAAQ,YAAA,EACN4F,EAAAA,CAAW+M,CAAAA,CAAS,MAAM,CAAA,EAC1BA,CAAAA,CAAS,MAAA,EAAM,EAErB,CACF,CAAA,CAEML,EAAAA,CACJzC,CAAAA,EACE,CACF1C,CAAAA,CAAa,CACX,GAAGA,CAAAA,CACH,GAAG0C,CAAAA,EAEP,CAAA,CAWMgE,GAAU,CACd,OAAA,CAAS,CACP,QAAA,CAAApB,EAAAA,CACA,UAAA,CAAArC,EAAAA,CACA,aAAA,CAAAwB,EAAAA,CACA,YAAA,CAAAmB,EAAAA,CACA,QAAA,CAAAhB,EAAAA,CACA,UAAA,CAAAM,GACA,UAAA,CAAAnE,CAAAA,CACA,WAAA,CAAA2E,EAAAA,CACA,SAAA,CAAAvC,CAAAA,CACA,SAAA,CAAAzB,CAAAA,CACA,SAAA,CAAAd,CAAAA,CACA,cAAA,CAAAO,CAAAA,CACA,iBAAA,CAAAkE,EAAAA,CACA,WAAAzD,CAAAA,CACA,cAAA,CAAAwB,CAAAA,CACA,MAAA,CAAA6C,EAAAA,CACA,mBAAA,CA3BwB,IAC1BxN,EAAAA,CAAWsH,CAAAA,CAAS,aAAa,CAAA,EAChCA,CAAAA,CAAS,aAAA,EAA0B,CAAG,IAAA,CAAM5H,CAAAA,EAAwB,CACnEqO,EAAAA,CAAMrO,CAAAA,CAAQ4H,CAAAA,CAAS,YAAY,CAAA,CACnCQ,CAAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CACnB,SAAA,CAAW,KACZ,CAAA,EACH,CAAC,CAAA,CAqBC,gBAAA,CAAAyC,CAAAA,CACA,YAAA,CAAA2C,EAAAA,CACA,SAAA,CAAApF,CAAAA,CACA,eAAA,CAAAhE,CAAAA,CACA,IAAI,OAAA,EAAO,CACT,OAAOzB,CACT,EACA,IAAI,WAAA,EAAW,CACb,OAAOoF,CACT,CAAA,CACA,IAAI,MAAA,EAAM,CACR,OAAOC,CACT,CAAA,CACA,IAAI,MAAA,CAAOxb,EAAK,CACdwb,CAAAA,CAASxb,EACX,CAAA,CACA,IAAI,cAAA,EAAc,CAChB,OAAOsb,CACT,CAAA,CACA,IAAI,MAAA,EAAM,CACR,OAAOtJ,CACT,CAAA,CACA,IAAI,MAAA,CAAOhS,CAAAA,CAAK,CACdgS,CAAAA,CAAShS,EACX,CAAA,CACA,IAAI,UAAA,EAAU,CACZ,OAAOqb,CACT,CAAA,CACA,IAAI,UAAQ,CACV,OAAOD,CACT,CAAA,CACA,IAAI,QAAA,CAASpb,CAAAA,CAAK,CAChBob,CAAAA,CAAW,CACT,GAAGA,CAAAA,CACH,GAAGpb,CAAAA,EAEP,CACD,CAAA,CACD,SAAA,CAAAygB,EAAAA,CACA,OAAA,CAAA5B,EAAAA,CACA,QAAA,CAAA8B,EAAAA,CACA,YAAA,CAAAM,EAAAA,CACA,KAAA,CAAAZ,EAAAA,CACA,QAAA,CAAArB,CAAAA,CACA,SAAA,CAAAT,GACA,KAAA,CAAAsD,EAAAA,CACA,UAAA,CAAAR,EAAAA,CACA,WAAA,CAAAtB,EAAAA,CACA,UAAA,CAAAzB,EAAAA,CACA,QAAA,CAAA2B,EAAAA,CACA,QAAA,CAAA6B,EAAAA,CACA,aAAA,CAAAhC,EAAAA,CAAAA,CAGF,OAAO,CACL,GAAGiC,EAAAA,CACH,WAAA,CAAaA,EAAAA,CAEjB,CCxgDM,SAAUC,EAAAA,CAKdjlB,CAAAA,CAAkE,EAAA,CAAE,CAEpE,IAAMklB,CAAAA,CAAe5Q,sBAAM,MAAA,CAEzB,MAAS,CAAA,CACL6Q,CAAAA,CAAU7Q,qBAAAA,CAAM,MAAA,CAA4B,MAAS,CAAA,CACrD,CAACG,CAAAA,CAAWqG,CAAe,CAAA,CAAIxG,qBAAAA,CAAM,QAAA,CAAkC,CAC3E,OAAA,CAAS,KAAA,CACT,YAAA,CAAc,KAAA,CACd,SAAA,CAAWyC,EAAAA,CAAW/W,CAAAA,CAAM,aAAa,CAAA,CACzC,WAAA,CAAa,KAAA,CACb,YAAA,CAAc,KAAA,CACd,kBAAA,CAAoB,MACpB,OAAA,CAAS,KAAA,CACT,WAAA,CAAa,CAAA,CACb,WAAA,CAAa,EAAA,CACb,aAAA,CAAe,EAAA,CACf,gBAAA,CAAkB,EAAA,CAClB,MAAA,CAAQA,CAAAA,CAAM,MAAA,EAAU,EAAA,CACxB,QAAA,CAAUA,CAAAA,CAAM,QAAA,EAAY,KAAA,CAC5B,OAAA,CAAS,KAAA,CACT,aAAA,CAAe+W,EAAAA,CAAW/W,CAAAA,CAAM,aAAa,CAAA,CACzC,MAAA,CACAA,EAAM,aACX,CAAA,CAAA,CAED,GAAI,CAACklB,CAAAA,CAAa,OAAA,CAChB,GAAIllB,CAAAA,CAAM,WAAA,CACRklB,CAAAA,CAAa,OAAA,CAAU,CACrB,GAAGllB,EAAM,WAAA,CACT,SAAA,CAAAyU,CAAAA,CAAAA,CAGEzU,CAAAA,CAAM,aAAA,EAAiB,CAAC+W,EAAAA,CAAW/W,CAAAA,CAAM,aAAa,CAAA,EACxDA,CAAAA,CAAM,WAAA,CAAY,KAAA,CAAMA,CAAAA,CAAM,cAAeA,CAAAA,CAAM,YAAY,CAAA,CAAA,KAE5D,CACL,GAAM,CAAE,WAAA,CAAAolB,CAAAA,CAAa,GAAGtc,CAAI,CAAA,CAAKsV,EAAAA,CAAkBpe,CAAK,CAAA,CAExDklB,CAAAA,CAAa,OAAA,CAAU,CACrB,GAAGpc,CAAAA,CACH,SAAA,CAAA2L,CAAAA,EAEJ,CAGF,IAAMC,CAAAA,CAAUwQ,CAAAA,CAAa,OAAA,CAAQ,OAAA,CACrC,OAAAxQ,CAAAA,CAAQ,QAAA,CAAW1U,EAEnB8U,EAAAA,CAA0B,IAAK,CAC7B,IAAMuQ,CAAAA,CAAM3Q,CAAAA,CAAQ,UAAA,CAAW,CAC7B,SAAA,CAAWA,CAAAA,CAAQ,eAAA,CACnB,QAAA,CAAU,IAAMoG,CAAAA,CAAgB,CAAE,GAAGpG,CAAAA,CAAQ,UAAU,CAAE,CAAA,CACzD,YAAA,CAAc,IACf,CAAA,CAAA,CAED,OAAAoG,CAAAA,CAAiBrS,CAAAA,GAAU,CACzB,GAAGA,EACH,OAAA,CAAS,IACV,CAAA,CAAC,CAAA,CAEFiM,CAAAA,CAAQ,UAAA,CAAW,OAAA,CAAU,IAAA,CAEtB2Q,CACT,CAAA,CAAG,CAAC3Q,CAAO,CAAC,CAAA,CAEZJ,qBAAAA,CAAM,SAAA,CACJ,IAAMI,CAAAA,CAAQ,YAAA,CAAa1U,CAAAA,CAAM,QAAQ,CAAA,CACzC,CAAC0U,CAAAA,CAAS1U,CAAAA,CAAM,QAAQ,CAAC,CAAA,CAG3BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACftU,CAAAA,CAAM,IAAA,GACR0U,CAAAA,CAAQ,QAAA,CAAS,IAAA,CAAO1U,CAAAA,CAAM,IAAA,CAAA,CAE5BA,CAAAA,CAAM,cAAA,GACR0U,CAAAA,CAAQ,QAAA,CAAS,cAAA,CAAiB1U,CAAAA,CAAM,gBAE5C,CAAA,CAAG,CAAC0U,CAAAA,CAAS1U,CAAAA,CAAM,IAAA,CAAMA,CAAAA,CAAM,cAAc,CAAC,CAAA,CAE9CsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACftU,CAAAA,CAAM,SACR0U,CAAAA,CAAQ,UAAA,CAAW1U,CAAAA,CAAM,MAAM,CAAA,CAC/B0U,CAAAA,CAAQ,WAAA,EAAW,EAEvB,CAAA,CAAG,CAACA,CAAAA,CAAS1U,CAAAA,CAAM,MAAM,CAAC,CAAA,CAE1BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACnBtU,CAAAA,CAAM,gBAAA,EACJ0U,CAAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAC3B,MAAA,CAAQA,CAAAA,CAAQ,SAAA,EACjB,CAAA,EACL,CAAA,CAAG,CAACA,CAAAA,CAAS1U,CAAAA,CAAM,gBAAgB,CAAC,CAAA,CAEpCsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACnB,GAAII,CAAAA,CAAQ,gBAAgB,OAAA,CAAS,CACnC,IAAM4Q,CAAAA,CAAU5Q,CAAAA,CAAQ,SAAA,EAAS,CAC7B4Q,CAAAA,GAAY7Q,CAAAA,CAAU,OAAA,EACxBC,CAAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAC3B,OAAA,CAAA4Q,CACD,CAAA,EAEL,CACF,CAAA,CAAG,CAAC5Q,CAAAA,CAASD,CAAAA,CAAU,OAAO,CAAC,CAAA,CAE/BH,qBAAAA,CAAM,SAAA,CAAU,IAAK,CAAA,IAAA,CAAA,CACftU,CAAAA,CAAM,MAAA,EAAU,CAACsV,EAAAA,CAAUtV,CAAAA,CAAM,MAAA,CAAQmlB,CAAAA,CAAQ,OAAO,CAAA,EAC1DzQ,CAAAA,CAAQ,MAAA,CAAO1U,CAAAA,CAAM,MAAA,CAAQ,CAC3B,cAAe,IAAA,CACf,GAAG0U,CAAAA,CAAQ,QAAA,CAAS,YACrB,CAAA,CAAA,CACI,EAAA,CAAA6Q,CAAAA,CAAA7Q,CAAAA,CAAQ,QAAA,CAAS,YAAA,IAAY,IAAA,EAAA6Q,CAAAA,GAAA,SAAAA,CAAAA,CAAE,WAAA,EAClC7Q,CAAAA,CAAQ,SAAA,EAAS,CAEnByQ,CAAAA,CAAQ,OAAA,CAAUnlB,CAAAA,CAAM,MAAA,CACxB8a,CAAAA,CAAiBxX,CAAAA,GAAW,CAAE,GAAGA,CAAK,EAAG,CAAA,EAEzCoR,CAAAA,CAAQ,mBAAA,GAEZ,CAAA,CAAG,CAACA,CAAAA,CAAS1U,CAAAA,CAAM,MAAM,CAAC,CAAA,CAE1BsU,qBAAAA,CAAM,SAAA,CAAU,IAAK,CACdI,CAAAA,CAAQ,MAAA,CAAO,KAAA,GAClBA,CAAAA,CAAQ,SAAA,EAAS,CACjBA,CAAAA,CAAQ,MAAA,CAAO,KAAA,CAAQ,IAAA,CAAA,CAGrBA,CAAAA,CAAQ,MAAA,CAAO,KAAA,GACjBA,CAAAA,CAAQ,MAAA,CAAO,MAAQ,KAAA,CACvBA,CAAAA,CAAQ,SAAA,CAAU,KAAA,CAAM,IAAA,CAAK,CAAE,GAAGA,CAAAA,CAAQ,UAAU,CAAE,CAAA,CAAA,CAGxDA,CAAAA,CAAQ,gBAAA,GACV,CAAC,CAAA,CAEDwQ,CAAAA,CAAa,OAAA,CAAQ,SAAA,CAAY1Q,EAAAA,CAAkBC,CAAAA,CAAWC,CAAO,CAAA,CAE9DwQ,CAAAA,CAAa,OACtB,CCnLA,SAASM,EAAAA,CAAM,CACb,SAAA,CAAA5lB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAqD,CACnD,OACEC,cAAAA,CAAgBwlB,aAAA,CAAA,IAAA,CAAf,CACC,WAAA,CAAU,OAAA,CACV,SAAA,CAAWpmB,CAAAA,CACT,qNAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CCbA,SAAS0lB,EAAAA,CAAS,CAChB,SAAA,CAAA9lB,CAAAA,CACA,GAAGI,CACL,CAAA,CAAwD,CACtD,OACEC,cAAAA,CAAmB0lB,aAAA,CAAA,IAAA,CAAlB,CACC,WAAA,CAAU,UAAA,CACV,SAAA,CAAWtmB,CAAAA,CACT,6eAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CAEJ,QAAA,CAAAC,cAAAA,CAAmB0lB,wBAAlB,CACC,WAAA,CAAU,oBAAA,CACV,SAAA,CAAU,wDAAA,CAEV,QAAA,CAAA1lB,cAAAA,CAAC2lB,qBAAAA,CAAA,CAAU,SAAA,CAAU,UAAA,CAAW,CAAA,CAClC,CAAA,CACF,CAEJ,CCzBA,SAASC,EAAAA,CAAK,CAAE,SAAA,CAAAjmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CAClE,OACEC,cAAAA,CAAC,OACC,WAAA,CAAU,MAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,mFAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS8lB,EAAAA,CAAW,CAAE,UAAAlmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CACxE,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,aAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,0JAAA,CACAO,CACF,EACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS+lB,EAAAA,CAAU,CAAE,SAAA,CAAAnmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CACvE,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,YAAA,CACV,SAAA,CAAWZ,CAAAA,CAAG,4BAAA,CAA8BO,CAAS,CAAA,CACpD,GAAGI,CAAAA,CACN,CAEJ,CAyBA,SAASgmB,EAAAA,CAAY,CAAE,UAAApmB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAAgC,CACzE,OACEC,cAAAA,CAAC,KAAA,CAAA,CACC,WAAA,CAAU,cAAA,CACV,SAAA,CAAWZ,CAAAA,CAAG,MAAA,CAAQO,CAAS,EAC9B,GAAGI,CAAAA,CACN,CAEJ,CC7CO,IAAMimB,EAAAA,CAAkC,CAAC,CAC9C,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CACA,YAAA,CAAAlc,CAAAA,CACA,YAAA,CAAAD,CAAAA,CACA,aAAA,CAAAoc,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAA/b,CAAAA,CACA,QAAA,CAAAgc,CAAAA,CACA,iBAAA,CAAAC,CACF,CAAA,GAAM,CACJ,GAAM,CAAE,QAAA,CAAAC,CAAAA,CAAU,GAAGC,CAAa,EAAIJ,CAAAA,EAAa,EAAC,CAE9C,CAAE,MAAA,CAAQK,CAAM,CAAA,CAAIC,aAAAA,EAAyB,CAC7Cpc,CAAAA,CAAYC,iBAAAA,EAAa,CACzBhF,CAAAA,CAAOC,YAAAA,GACPqf,CAAAA,CAAUC,EAAAA,CAAwB,CACtC,GAAG0B,CACL,CAAC,CAAA,CACK,CACJ,QAAA,CAAA/C,CAAAA,CACA,YAAA,CAAAM,CAAAA,CACA,SAAA,CAAW,CAAE,OAAAlO,CAAO,CACtB,CAAA,CAAIgP,CAAAA,CAEE8B,CAAAA,CAAkB,IAClBZ,CAAAA,EAAaA,CAAAA,CAAU,MAAA,CAAS,CAAA,CAEhCllB,eAAAA,CAAAgE,mBAAAA,CAAA,CACE,QAAA,CAAA,CAAA/E,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qBAAA,CACZ,QAAA,CAAAimB,CAAAA,CAAU,GAAA,CAAKa,CAAAA,EACd/lB,eAAAA,CAACrB,CAAAA,CAAA,CAEC,OAAA,CAAQ,SAAA,CACR,SAAA,CAAU,QAAA,CACV,OAAA,CAAS,IACPinB,CAAAA,CAAM,CACJ,GAAGH,CAAAA,CACH,YAAA,CAAcM,CAAAA,CAAS,IACzB,CAAC,CAAA,CAGF,QAAA,CAAA,CAAAA,CAAAA,EAAU,IAAA,CACVA,CAAAA,CAAS,KAAA,EAAS9mB,eAAC,MAAA,CAAA,CAAM,QAAA,CAAA8mB,CAAAA,CAAS,KAAA,CAAM,CAAA,CAAA,CAAA,CAXpCA,CAAAA,CAAS,IAYhB,CACD,CAAA,CACH,CAAA,CACC,CAACP,CAAAA,EAAYvmB,cAAAA,CAACI,EAAAA,CAAA,CAAU,SAAA,CAAU,MAAA,CAAO,CAAA,CAAA,CAC5C,CAAA,CAGG,IAAA,CAGH2mB,CAAAA,CACJxc,CAAAA,GAAU,KAAA,CAAQ,IAAA,CAChBvK,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,kCAAA,CACZ,QAAA,CAAAuK,GAASvK,cAAAA,CAACgF,EAAAA,CAAA,CAAY,SAAA,CAAW,KAAA,CAAO,CAAA,CAC3C,CAAA,CAGEgiB,EAAAA,CACJjmB,eAAAA,CAAC6kB,EAAAA,CAAA,CACC,SAAA,CAAWxmB,CAAAA,CAAG,iBAAA,CAAmB8K,GAAc,SAAS,CAAA,CACvD,GAAGA,CAAAA,CAEJ,QAAA,CAAA,CAAAlK,cAAAA,CAAC6lB,EAAAA,CAAA,CACC,QAAA,CAAA7lB,cAAAA,CAAC8lB,EAAAA,CAAA,CAAU,SAAA,CAAU,sBAAA,CAClB,SAAAtb,CAAAA,CAAU,mBAAA,CAAqB,yBAAyB,CAAA,CAC3D,CAAA,CACF,CAAA,CACAzJ,eAAAA,CAACglB,EAAAA,CAAA,CACE,QAAA,CAAA,CAAAc,CAAAA,EAAgB,CAChB,CAACN,CAAAA,EACAvmB,eAAC,MAAA,CAAA,CACC,QAAA,CAAUikB,CAAAA,CAAczb,CAAAA,EAClBie,CAAAA,CACKA,CAAAA,CAASje,CAAI,CAAA,CAGfme,CAAAA,CAAM,CAAE,GAAGH,CAAAA,CAAmB,GAAGhe,CAAK,CAAC,CAC/C,CAAA,CAED,QAAA,CAAAzH,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,WAAA,CACb,QAAA,CAAA,CAAAA,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,WAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACulB,EAAAA,CAAA,CAAM,OAAA,CAAQ,OAAA,CACZ,QAAA,CAAA/a,CAAAA,CAAU,0BAAA,CAA4B,OAAO,CAAA,CAChD,CAAA,CACAxK,cAAAA,CAACE,EAAAA,CAAA,CACC,EAAA,CAAG,OAAA,CACH,YAAA,CAAa,QACb,WAAA,CAAY,OAAA,CACZ,IAAA,CAAK,MAAA,CACL,cAAA,CAAc,CAAC,CAAC6V,CAAAA,EAAQ,KAAA,CACvB,GAAG4N,CAAAA,CAAS,OAAA,CAAS,CACpB,QAAA,CAAUnZ,EACR,kCAAA,CACA,mBACF,CAAA,CACA,OAAA,CAAS,CACP,KAAA,CAAO,0CAAA,CACP,OAAA,CAASA,CAAAA,CACP,+BAAA,CACA,uBACF,CACF,CACF,CAAC,CAAA,CACH,CAAA,CACCuL,CAAAA,CAAO,KAAA,EACN/V,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAU,0BAAA,CACV,QAAA,CAAA+V,CAAAA,CAAO,KAAA,CAAM,OAAA,CAChB,CAAA,CAAA,CAEJ,CAAA,CAEAhV,eAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,WAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACulB,EAAAA,CAAA,CAAM,OAAA,CAAQ,UAAA,CACZ,QAAA,CAAA/a,CAAAA,CAAU,6BAAA,CAA+B,UAAU,CAAA,CACtD,CAAA,CACAxK,cAAAA,CAACE,GAAA,CACC,EAAA,CAAG,UAAA,CACH,IAAA,CAAK,UAAA,CACL,YAAA,CAAa,kBAAA,CACb,WAAA,CAAY,UAAA,CACZ,cAAA,CAAc,CAAC,CAAC6V,CAAAA,EAAQ,QAAA,CACvB,GAAG4N,CAAAA,CAAS,UAAA,CAAY,CACvB,QAAA,CAAUnZ,CAAAA,CACR,qCAAA,CACA,sBACF,CACF,CAAC,CAAA,CACH,CAAA,CACCuL,CAAAA,CAAO,QAAA,EACN/V,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAU,0BAAA,CACV,QAAA,CAAA+V,CAAAA,CAAO,QAAA,CAAS,OAAA,CACnB,CAAA,CAAA,CAEJ,CAAA,CAECqQ,CAAAA,EACCrlB,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6BAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACylB,GAAA,CAAS,EAAA,CAAG,UAAA,CAAY,GAAG9B,CAAAA,CAAS,UAAU,CAAA,CAAG,CAAA,CAClD3jB,cAAAA,CAACulB,EAAAA,CAAA,CACC,OAAA,CAAQ,UAAA,CACR,SAAA,CAAU,6BAET,QAAA,CAAA/a,CAAAA,CAAU,gCAAA,CAAkC,aAAa,CAAA,CAC5D,CAAA,CAAA,CACF,CAAA,CAGFxK,cAAAA,CAACN,CAAAA,CAAA,CAAO,IAAA,CAAK,QAAA,CAAS,SAAA,CAAU,QAAA,CAC7B,SAAA8K,CAAAA,CAAU,oBAAA,CAAsB,SAAS,CAAA,CAC5C,CAAA,CAEAzJ,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,2CAAA,CACZ,QAAA,CAAA,CAAAolB,CAAAA,EACCnmB,cAAAA,CAACyF,CAAAA,CAAA,CACC,GAAG,kBAAA,CACH,SAAA,CAAU,8BAAA,CAET,QAAA,CAAA+E,CAAAA,CACC,oCAAA,CACA,kBACF,CAAA,CACF,CAAA,CAED0b,CAAAA,EACCnlB,eAAAA,CAAC,KAAA,CAAA,CACC,QAAA,CAAA,CAAAA,eAAAA,CAAC,QAAK,SAAA,CAAU,uBAAA,CACb,QAAA,CAAA,CAAAyJ,CAAAA,CACC,+BAAA,CACA,wBACF,CAAA,CAAG,GAAA,CAAA,CACL,CAAA,CACAxK,cAAAA,CAACyF,CAAAA,CAAA,CACC,EAAA,CAAG,WAAA,CACH,UAAU,wCAAA,CAET,QAAA,CAAA+E,CAAAA,CAAU,sBAAA,CAAwB,SAAS,CAAA,CAC9C,CAAA,CAAA,CACF,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAGD+b,CAAAA,EAAYL,CAAAA,GAAiB,KAAA,EAC5BnlB,gBAAC,KAAA,CAAA,CAAI,SAAA,CAAU,0BAAA,CACb,QAAA,CAAA,CAAAA,eAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,uBAAA,CACb,QAAA,CAAA,CAAAyJ,CAAAA,CACC,+BAAA,CACA,wBACF,CAAA,CAAG,GAAA,CAAA,CACL,CAAA,CACAxK,cAAAA,CAACyF,CAAAA,CAAA,CACC,EAAA,CAAG,WAAA,CACH,SAAA,CAAU,wCAAA,CAET,QAAA,CAAA+E,CAAAA,CAAU,sBAAA,CAAwB,SAAS,CAAA,CAC9C,CAAA,CAAA,CACF,CAAA,CAAA,CAEJ,CAAA,CAAA,CACF,EAGF,OACExK,cAAAA,CAACsU,EAAAA,CAAA,CAAc,GAAGyQ,CAAAA,CAChB,QAAA,CAAA/kB,cAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWZ,CAAAA,CACT,sDAAA,CACAmnB,CAAAA,CAAW,0BAAA,CAA6B,qBAC1C,CAAA,CACC,GAAGtc,CAAAA,CAEH,QAAA,CAAAoc,CAAAA,CACCA,CAAAA,CAAcW,EAAAA,CAASD,CAAS,CAAA,CAEhChmB,eAAAA,CAAAgE,mBAAAA,CAAA,CACG,QAAA,CAAA,CAAAgiB,CAAAA,CACAC,IACH,CAAA,CAEJ,CAAA,CACF,CAEJ,CAAA,CCzOA,IAAIrU,EAAAA,CAAU,KAAA,CAAM,OAAA,CAEbsU,EAAAA,CAAQtU,EAAAA,CCxBf,IAAIuU,EAAAA,CAAa,OAAO,MAAA,EAAU,QAAA,EAAY,MAAA,EAAU,MAAA,CAAO,MAAA,GAAW,QAAU,MAAA,CAE7EC,EAAAA,CAAQD,EAAAA,CCAf,IAAIE,EAAAA,CAAW,OAAO,IAAA,EAAQ,QAAA,EAAY,IAAA,EAAQ,IAAA,CAAK,MAAA,GAAW,MAAA,EAAU,IAAA,CAGxEC,EAAAA,CAAOF,IAAcC,EAAAA,EAAY,QAAA,CAAS,aAAa,CAAA,EAAE,CAEtDE,EAAAA,CAAQD,EAAAA,CCLf,IAAIE,EAAAA,CAASD,EAAAA,CAAK,MAAA,CAEXE,EAAAA,CAAQD,EAAAA,CCFf,IAAIE,GAAc,MAAA,CAAO,SAAA,CAGrBC,EAAAA,CAAiBD,EAAAA,CAAY,cAAA,CAO7BE,EAAAA,CAAuBF,EAAAA,CAAY,QAAA,CAGnCG,EAAAA,CAAiBJ,EAAAA,CAASA,EAAAA,CAAO,WAAA,CAAc,MAAA,CASnD,SAASK,EAAAA,CAAU7kB,CAAAA,CAAO,CACxB,IAAI8kB,CAAAA,CAAQJ,EAAAA,CAAe,IAAA,CAAK1kB,CAAAA,CAAO4kB,EAAc,CAAA,CACjDG,CAAAA,CAAM/kB,CAAAA,CAAM4kB,EAAc,CAAA,CAE9B,GAAI,CACF5kB,EAAM4kB,EAAc,CAAA,CAAI,KAAA,CAAA,CACxB,IAAII,CAAAA,CAAW,CAAA,EACjB,CAAA,KAAY,CAAC,CAEb,IAAIxU,CAAAA,CAASmU,EAAAA,CAAqB,IAAA,CAAK3kB,CAAK,EAC5C,OAAIglB,CAAAA,GACEF,CAAAA,CACF9kB,CAAAA,CAAM4kB,EAAc,CAAA,CAAIG,CAAAA,CAExB,OAAO/kB,CAAAA,CAAM4kB,EAAc,CAAA,CAAA,CAGxBpU,CACT,CAEA,IAAOyU,GAAQJ,EAAAA,CC5Cf,IAAIJ,EAAAA,CAAc,MAAA,CAAO,SAAA,CAOrBE,EAAAA,CAAuBF,EAAAA,CAAY,QAAA,CASvC,SAASS,EAAAA,CAAellB,CAAAA,CAAO,CAC7B,OAAO2kB,EAAAA,CAAqB,KAAK3kB,CAAK,CACxC,CAEA,IAAOmlB,EAAAA,CAAQD,EAAAA,CChBf,IAAIE,EAAAA,CAAU,eAAA,CACVC,EAAAA,CAAe,oBAAA,CAGfT,EAAAA,CAAiBJ,EAAAA,CAASA,EAAAA,CAAO,YAAc,MAAA,CASnD,SAASc,EAAAA,CAAWtlB,CAAAA,CAAO,CACzB,OAAIA,CAAAA,EAAS,IAAA,CACJA,CAAAA,GAAU,MAAA,CAAYqlB,EAAAA,CAAeD,EAAAA,CAEtCR,EAAAA,EAAkBA,EAAAA,IAAkB,OAAO5kB,CAAK,CAAA,CACpDilB,EAAAA,CAAUjlB,CAAK,CAAA,CACfmlB,EAAAA,CAAenlB,CAAK,CAC1B,CAEA,IAAOulB,EAAAA,CAAQD,EAAAA,CCHf,SAASE,EAAAA,CAAaxlB,EAAO,CAC3B,OAAOA,CAAAA,EAAS,IAAA,EAAQ,OAAOA,CAAAA,EAAS,QAC1C,CAEA,IAAOylB,EAAAA,CAAQD,EAAAA,CCxBf,IAAIE,EAAAA,CAAY,iBAAA,CAmBhB,SAASC,EAAAA,CAAS3lB,CAAAA,CAAO,CACvB,OAAO,OAAOA,CAAAA,EAAS,QAAA,EACpBylB,EAAAA,CAAazlB,CAAK,CAAA,EAAKulB,EAAAA,CAAWvlB,CAAK,CAAA,EAAK0lB,EACjD,CAEA,IAAOE,EAAAA,CAAQD,EAAAA,CCxBf,IAAIE,EAAAA,CAAe,kDAAA,CACfC,EAAAA,CAAgB,OAAA,CAUpB,SAAShW,EAAAA,CAAM9P,CAAAA,CAAOqQ,CAAAA,CAAQ,CAC5B,GAAI4T,EAAAA,CAAQjkB,CAAK,CAAA,CACf,OAAO,MAAA,CAET,IAAI7C,CAAAA,CAAO,OAAO6C,CAAAA,CAClB,OAAI7C,CAAAA,EAAQ,QAAA,EAAYA,CAAAA,EAAQ,QAAA,EAAYA,CAAAA,EAAQ,SAAA,EAChD6C,GAAS,IAAA,EAAQ4lB,EAAAA,CAAS5lB,CAAK,CAAA,CAC1B,IAAA,CAEF8lB,EAAAA,CAAc,IAAA,CAAK9lB,CAAK,CAAA,EAAK,CAAC6lB,EAAAA,CAAa,IAAA,CAAK7lB,CAAK,CAAA,EACzDqQ,CAAAA,EAAU,IAAA,EAAQrQ,CAAAA,IAAS,MAAA,CAAOqQ,CAAM,CAC7C,CAEA,IAAO0V,EAAAA,CAAQjW,EAAAA,CCHf,SAASd,EAAAA,CAAShP,CAAAA,CAAO,CACvB,IAAI7C,CAAAA,CAAO,OAAO6C,CAAAA,CAClB,OAAOA,CAAAA,EAAS,IAAA,GAAS7C,CAAAA,EAAQ,QAAA,EAAYA,CAAAA,EAAQ,UAAA,CACvD,CAEA,IAAO6oB,EAAAA,CAAQhX,EAAAA,CC1Bf,IAAIiX,EAAAA,CAAW,yBACXC,EAAAA,CAAU,mBAAA,CACVC,EAAAA,CAAS,4BAAA,CACTC,EAAAA,CAAW,gBAAA,CAmBf,SAAStS,EAAAA,CAAW9T,CAAAA,CAAO,CACzB,GAAI,CAACgmB,EAAAA,CAAShmB,CAAK,EACjB,OAAO,MAAA,CAIT,IAAI+kB,CAAAA,CAAMQ,EAAAA,CAAWvlB,CAAK,CAAA,CAC1B,OAAO+kB,CAAAA,EAAOmB,EAAAA,EAAWnB,CAAAA,EAAOoB,EAAAA,EAAUpB,CAAAA,EAAOkB,EAAAA,EAAYlB,CAAAA,EAAOqB,EACtE,CAEA,IAAOC,EAAAA,CAAQvS,EAAAA,CCjCf,IAAIwS,EAAAA,CAAahC,EAAAA,CAAK,oBAAoB,CAAA,CAEnCiC,EAAAA,CAAQD,EAAAA,CCFf,IAAIE,EAAAA,CAAAA,CAAc,UAAW,CAC3B,IAAIC,CAAAA,CAAM,QAAA,CAAS,IAAA,CAAKF,EAAAA,EAAcA,EAAAA,CAAW,IAAA,EAAQA,EAAAA,CAAW,IAAA,CAAK,QAAA,EAAY,EAAE,CAAA,CACvF,OAAOE,CAAAA,CAAO,iBAAmBA,CAAAA,CAAO,EAC1C,CAAA,GAAE,CASF,SAASC,EAAAA,CAASC,CAAAA,CAAM,CACtB,OAAO,CAAC,CAACH,EAAAA,EAAeA,EAAAA,IAAcG,CACxC,CAEA,IAAOC,EAAAA,CAAQF,EAAAA,CClBf,IAAIG,EAAAA,CAAY,QAAA,CAAS,SAAA,CAGrBC,EAAAA,CAAeD,EAAAA,CAAU,QAAA,CAS7B,SAASE,EAAAA,CAASJ,CAAAA,CAAM,CACtB,GAAIA,CAAAA,EAAQ,IAAA,CAAM,CAChB,GAAI,CACF,OAAOG,EAAAA,CAAa,IAAA,CAAKH,CAAI,CAC/B,CAAA,KAAY,CAAC,CACb,GAAI,CACF,OAAQA,CAAAA,CAAO,EACjB,CAAA,KAAY,CAAC,CACf,CACA,OAAO,EACT,CAEA,IAAOK,EAAAA,CAAQD,EAAAA,CChBf,IAAIE,GAAe,qBAAA,CAGfC,EAAAA,CAAe,6BAAA,CAGfL,EAAAA,CAAY,QAAA,CAAS,SAAA,CACrBpC,EAAAA,CAAc,MAAA,CAAO,SAAA,CAGrBqC,EAAAA,CAAeD,EAAAA,CAAU,QAAA,CAGzBnC,EAAAA,CAAiBD,EAAAA,CAAY,eAG7B0C,EAAAA,CAAa,MAAA,CAAO,GAAA,CACtBL,EAAAA,CAAa,IAAA,CAAKpC,EAAc,CAAA,CAAE,OAAA,CAAQuC,EAAAA,CAAc,MAAM,CAAA,CAC7D,OAAA,CAAQ,wDAAA,CAA0D,OAAO,CAAA,CAAI,GAChF,CAAA,CAUA,SAASG,EAAAA,CAAapnB,CAAAA,CAAO,CAC3B,GAAI,CAACgmB,EAAAA,CAAShmB,CAAK,CAAA,EAAK4mB,EAAAA,CAAS5mB,CAAK,CAAA,CACpC,OAAO,OAET,IAAIqZ,CAAAA,CAAUgN,EAAAA,CAAWrmB,CAAK,CAAA,CAAImnB,EAAAA,CAAaD,EAAAA,CAC/C,OAAO7N,CAAAA,CAAQ,IAAA,CAAK2N,EAAAA,CAAShnB,CAAK,CAAC,CACrC,CAEA,IAAOqnB,EAAAA,CAAQD,EAAAA,CCtCf,SAASE,EAAAA,CAASjX,CAAAA,CAAQR,CAAAA,CAAK,CAC7B,OAAoCQ,CAAAA,GAAOR,CAAG,CAChD,CAEA,IAAO0X,GAAQD,EAAAA,CCDf,SAASE,EAAAA,CAAUnX,CAAAA,CAAQR,CAAAA,CAAK,CAC9B,IAAI7P,CAAAA,CAAQunB,EAAAA,CAASlX,CAAAA,CAAQR,CAAG,CAAA,CAChC,OAAOwX,EAAAA,CAAarnB,CAAK,CAAA,CAAIA,CAAAA,CAAQ,MACvC,CAEA,IAAOynB,EAAAA,CAAQD,EAAAA,CCbf,IAAIE,EAAAA,CAAeD,EAAAA,CAAU,MAAA,CAAQ,QAAQ,CAAA,CAEtCE,EAAAA,CAAQD,EAAAA,CCIf,SAASE,EAAAA,EAAY,CACnB,IAAA,CAAK,QAAA,CAAWD,EAAAA,CAAeA,EAAAA,CAAa,IAAI,CAAA,CAAI,EAAC,CACrD,IAAA,CAAK,IAAA,CAAO,EACd,CAEA,IAAOE,EAAAA,CAAQD,EAAAA,CCJf,SAASE,EAAAA,CAAWjY,CAAAA,CAAK,CACvB,IAAIW,CAAAA,CAAS,IAAA,CAAK,GAAA,CAAIX,CAAG,CAAA,EAAK,OAAO,IAAA,CAAK,SAASA,CAAG,CAAA,CACtD,OAAA,IAAA,CAAK,IAAA,EAAQW,CAAAA,CAAS,CAAA,CAAI,CAAA,CACnBA,CACT,CAEA,IAAOuX,EAAAA,CAAQD,EAAAA,CCbf,IAAIE,EAAAA,CAAiB,2BAAA,CAGjBvD,EAAAA,CAAc,MAAA,CAAO,SAAA,CAGrBC,EAAAA,CAAiBD,EAAAA,CAAY,cAAA,CAWjC,SAASwD,EAAAA,CAAQpY,CAAAA,CAAK,CACpB,IAAIrK,CAAAA,CAAO,IAAA,CAAK,QAAA,CAChB,GAAImiB,GAAc,CAChB,IAAInX,CAAAA,CAAShL,CAAAA,CAAKqK,CAAG,CAAA,CACrB,OAAOW,CAAAA,GAAWwX,EAAAA,CAAiB,MAAA,CAAYxX,CACjD,CACA,OAAOkU,EAAAA,CAAe,KAAKlf,CAAAA,CAAMqK,CAAG,CAAA,CAAIrK,CAAAA,CAAKqK,CAAG,CAAA,CAAI,MACtD,CAEA,IAAOqY,EAAAA,CAAQD,EAAAA,CC1Bf,IAAIxD,EAAAA,CAAc,MAAA,CAAO,UAGrBC,EAAAA,CAAiBD,EAAAA,CAAY,cAAA,CAWjC,SAAS0D,EAAAA,CAAQtY,CAAAA,CAAK,CACpB,IAAIrK,CAAAA,CAAO,IAAA,CAAK,QAAA,CAChB,OAAOmiB,EAAAA,CAAgBniB,CAAAA,CAAKqK,CAAG,CAAA,GAAM,MAAA,CAAa6U,EAAAA,CAAe,IAAA,CAAKlf,CAAAA,CAAMqK,CAAG,CACjF,CAEA,IAAOuY,EAAAA,CAAQD,EAAAA,CCnBf,IAAIH,EAAAA,CAAiB,2BAAA,CAYrB,SAASK,EAAAA,CAAQxY,CAAAA,CAAK7P,CAAAA,CAAO,CAC3B,IAAIwF,CAAAA,CAAO,IAAA,CAAK,QAAA,CAChB,OAAA,IAAA,CAAK,IAAA,EAAQ,IAAA,CAAK,GAAA,CAAIqK,CAAG,CAAA,CAAI,EAAI,CAAA,CACjCrK,CAAAA,CAAKqK,CAAG,CAAA,CAAK8X,EAAAA,EAAgB3nB,CAAAA,GAAU,MAAA,CAAagoB,EAAAA,CAAiBhoB,CAAAA,CAC9D,IACT,CAEA,IAAOsoB,EAAAA,CAAQD,EAAAA,CCTf,SAASE,EAAAA,CAAKC,CAAAA,CAAS,CACrB,IAAI7X,CAAAA,CAAQ,EAAA,CACRE,CAAAA,CAAS2X,CAAAA,EAAW,IAAA,CAAO,CAAA,CAAIA,CAAAA,CAAQ,MAAA,CAG3C,IADA,IAAA,CAAK,KAAA,EAAM,CACJ,EAAE7X,CAAAA,CAAQE,CAAAA,EAAQ,CACvB,IAAI4X,CAAAA,CAAQD,CAAAA,CAAQ7X,CAAK,CAAA,CACzB,IAAA,CAAK,GAAA,CAAI8X,CAAAA,CAAM,CAAC,CAAA,CAAGA,EAAM,CAAC,CAAC,EAC7B,CACF,CAGAF,EAAAA,CAAK,SAAA,CAAU,KAAA,CAAQV,EAAAA,CACvBU,EAAAA,CAAK,SAAA,CAAU,MAAA,CAAYR,EAAAA,CAC3BQ,EAAAA,CAAK,UAAU,GAAA,CAAML,EAAAA,CACrBK,EAAAA,CAAK,SAAA,CAAU,GAAA,CAAMH,EAAAA,CACrBG,EAAAA,CAAK,SAAA,CAAU,GAAA,CAAMD,EAAAA,CAErB,IAAOI,EAAAA,CAAQH,EAAAA,CCxBf,SAASI,IAAiB,CACxB,IAAA,CAAK,QAAA,CAAW,EAAC,CACjB,IAAA,CAAK,IAAA,CAAO,EACd,CAEA,IAAOC,EAAAA,CAAQD,EAAAA,CCoBf,SAASE,EAAAA,CAAG7oB,CAAAA,CAAO8oB,CAAAA,CAAO,CACxB,OAAO9oB,CAAAA,GAAU8oB,CAAAA,EAAU9oB,CAAAA,GAAUA,CAAAA,EAAS8oB,CAAAA,GAAUA,CAC1D,CAEA,IAAOC,EAAAA,CAAQF,EAAAA,CC1Bf,SAASG,EAAAA,CAAaC,EAAOpZ,CAAAA,CAAK,CAEhC,IAAA,IADIgB,CAAAA,CAASoY,CAAAA,CAAM,MAAA,CACZpY,CAAAA,EAAAA,EACL,GAAIkY,EAAAA,CAAGE,CAAAA,CAAMpY,CAAM,CAAA,CAAE,CAAC,CAAA,CAAGhB,CAAG,CAAA,CAC1B,OAAOgB,CAAAA,CAGX,OAAO,GACT,CAEA,IAAOqY,EAAAA,CAAQF,EAAAA,CCjBf,IAAIG,EAAAA,CAAa,KAAA,CAAM,SAAA,CAGnBC,EAAAA,CAASD,GAAW,MAAA,CAWxB,SAASE,EAAAA,CAAgBxZ,CAAAA,CAAK,CAC5B,IAAIrK,CAAAA,CAAO,IAAA,CAAK,QAAA,CACZmL,CAAAA,CAAQuY,EAAAA,CAAa1jB,CAAAA,CAAMqK,CAAG,CAAA,CAElC,GAAIc,CAAAA,CAAQ,CAAA,CACV,OAAO,MAAA,CAET,IAAIG,CAAAA,CAAYtL,CAAAA,CAAK,MAAA,CAAS,CAAA,CAC9B,OAAImL,CAAAA,EAASG,CAAAA,CACXtL,CAAAA,CAAK,GAAA,EAAI,CAET4jB,GAAO,IAAA,CAAK5jB,CAAAA,CAAMmL,CAAAA,CAAO,CAAC,CAAA,CAE5B,EAAE,IAAA,CAAK,IAAA,CACA,IACT,CAEA,IAAO2Y,EAAAA,CAAQD,EAAAA,CCvBf,SAASE,GAAa1Z,CAAAA,CAAK,CACzB,IAAIrK,CAAAA,CAAO,IAAA,CAAK,QAAA,CACZmL,CAAAA,CAAQuY,EAAAA,CAAa1jB,CAAAA,CAAMqK,CAAG,CAAA,CAElC,OAAOc,CAAAA,CAAQ,CAAA,CAAI,OAAYnL,CAAAA,CAAKmL,CAAK,CAAA,CAAE,CAAC,CAC9C,CAEA,IAAO6Y,EAAAA,CAAQD,EAAAA,CCPf,SAASE,EAAAA,CAAa5Z,CAAAA,CAAK,CACzB,OAAOqZ,GAAa,IAAA,CAAK,QAAA,CAAUrZ,CAAG,CAAA,CAAI,EAC5C,CAEA,IAAO6Z,EAAAA,CAAQD,EAAAA,CCHf,SAASE,EAAAA,CAAa9Z,CAAAA,CAAK7P,CAAAA,CAAO,CAChC,IAAIwF,CAAAA,CAAO,IAAA,CAAK,QAAA,CACZmL,CAAAA,CAAQuY,EAAAA,CAAa1jB,CAAAA,CAAMqK,CAAG,CAAA,CAElC,OAAIc,CAAAA,CAAQ,CAAA,EACV,EAAE,IAAA,CAAK,IAAA,CACPnL,EAAK,IAAA,CAAK,CAACqK,CAAAA,CAAK7P,CAAK,CAAC,CAAA,EAEtBwF,CAAAA,CAAKmL,CAAK,CAAA,CAAE,CAAC,CAAA,CAAI3Q,CAAAA,CAEZ,IACT,CAEA,IAAO4pB,EAAAA,CAAQD,EAAAA,CCZf,SAASE,EAAAA,CAAUrB,CAAAA,CAAS,CAC1B,IAAI7X,CAAAA,CAAQ,EAAA,CACRE,CAAAA,CAAS2X,CAAAA,EAAW,IAAA,CAAO,CAAA,CAAIA,CAAAA,CAAQ,MAAA,CAG3C,IADA,IAAA,CAAK,KAAA,EAAM,CACJ,EAAE7X,CAAAA,CAAQE,CAAAA,EAAQ,CACvB,IAAI4X,CAAAA,CAAQD,CAAAA,CAAQ7X,CAAK,CAAA,CACzB,IAAA,CAAK,GAAA,CAAI8X,EAAM,CAAC,CAAA,CAAGA,CAAAA,CAAM,CAAC,CAAC,EAC7B,CACF,CAGAoB,EAAAA,CAAU,SAAA,CAAU,KAAA,CAAQjB,EAAAA,CAC5BiB,EAAAA,CAAU,SAAA,CAAU,OAAYP,EAAAA,CAChCO,EAAAA,CAAU,SAAA,CAAU,GAAA,CAAML,EAAAA,CAC1BK,EAAAA,CAAU,SAAA,CAAU,GAAA,CAAMH,EAAAA,CAC1BG,EAAAA,CAAU,SAAA,CAAU,GAAA,CAAMD,EAAAA,CAE1B,IAAOE,GAAQD,EAAAA,CC3Bf,IAAIE,EAAAA,CAAMtC,EAAAA,CAAUnD,EAAAA,CAAM,KAAK,CAAA,CAExB0F,EAAAA,CAAQD,EAAAA,CCKf,SAASE,EAAAA,EAAgB,CACvB,IAAA,CAAK,IAAA,CAAO,CAAA,CACZ,IAAA,CAAK,QAAA,CAAW,CACd,IAAA,CAAQ,IAAIvB,EAAAA,CACZ,GAAA,CAAO,IAAKsB,EAAAA,EAAOF,EAAAA,CAAAA,CACnB,MAAA,CAAU,IAAIpB,EAChB,EACF,CAEA,IAAOwB,EAAAA,CAAQD,EAAAA,CCbf,SAASE,EAAAA,CAAUnqB,CAAAA,CAAO,CACxB,IAAI7C,CAAAA,CAAO,OAAO6C,CAAAA,CAClB,OAAQ7C,CAAAA,EAAQ,QAAA,EAAYA,CAAAA,EAAQ,UAAYA,CAAAA,EAAQ,QAAA,EAAYA,CAAAA,EAAQ,SAAA,CACvE6C,CAAAA,GAAU,WAAA,CACVA,CAAAA,GAAU,IACjB,CAEA,IAAOoqB,EAAAA,CAAQD,EAAAA,CCJf,SAASE,EAAAA,CAAWC,EAAKza,CAAAA,CAAK,CAC5B,IAAIrK,CAAAA,CAAO8kB,CAAAA,CAAI,QAAA,CACf,OAAOF,EAAAA,CAAUva,CAAG,CAAA,CAChBrK,CAAAA,CAAK,OAAOqK,CAAAA,EAAO,QAAA,CAAW,QAAA,CAAW,MAAM,CAAA,CAC/CrK,CAAAA,CAAK,GACX,CAEA,IAAO+kB,EAAAA,CAAQF,EAAAA,CCNf,SAASG,EAAAA,CAAe3a,CAAAA,CAAK,CAC3B,IAAIW,CAAAA,CAAS+Z,EAAAA,CAAW,KAAM1a,CAAG,CAAA,CAAE,MAAA,CAAUA,CAAG,CAAA,CAChD,OAAA,IAAA,CAAK,IAAA,EAAQW,CAAAA,CAAS,CAAA,CAAI,CAAA,CACnBA,CACT,CAEA,IAAOia,EAAAA,CAAQD,GCNf,SAASE,EAAAA,CAAY7a,CAAAA,CAAK,CACxB,OAAO0a,EAAAA,CAAW,IAAA,CAAM1a,CAAG,CAAA,CAAE,GAAA,CAAIA,CAAG,CACtC,CAEA,IAAO8a,GAAQD,EAAAA,CCJf,SAASE,EAAAA,CAAY/a,CAAAA,CAAK,CACxB,OAAO0a,EAAAA,CAAW,IAAA,CAAM1a,CAAG,CAAA,CAAE,GAAA,CAAIA,CAAG,CACtC,CAEA,IAAOgb,EAAAA,CAAQD,EAAAA,CCHf,SAASE,EAAAA,CAAYjb,CAAAA,CAAK7P,CAAAA,CAAO,CAC/B,IAAIwF,CAAAA,CAAO+kB,EAAAA,CAAW,IAAA,CAAM1a,CAAG,CAAA,CAC3BhT,CAAAA,CAAO2I,CAAAA,CAAK,KAEhB,OAAAA,CAAAA,CAAK,GAAA,CAAIqK,CAAAA,CAAK7P,CAAK,CAAA,CACnB,IAAA,CAAK,IAAA,EAAQwF,CAAAA,CAAK,IAAA,EAAQ3I,CAAAA,CAAO,CAAA,CAAI,CAAA,CAC9B,IACT,CAEA,IAAOkuB,EAAAA,CAAQD,EAAAA,CCRf,SAASE,EAAAA,CAASxC,CAAAA,CAAS,CACzB,IAAI7X,CAAAA,CAAQ,EAAA,CACRE,CAAAA,CAAS2X,CAAAA,EAAW,IAAA,CAAO,CAAA,CAAIA,EAAQ,MAAA,CAG3C,IADA,IAAA,CAAK,KAAA,EAAM,CACJ,EAAE7X,CAAAA,CAAQE,CAAAA,EAAQ,CACvB,IAAI4X,CAAAA,CAAQD,CAAAA,CAAQ7X,CAAK,CAAA,CACzB,IAAA,CAAK,GAAA,CAAI8X,CAAAA,CAAM,CAAC,CAAA,CAAGA,CAAAA,CAAM,CAAC,CAAC,EAC7B,CACF,CAGAuC,EAAAA,CAAS,SAAA,CAAU,KAAA,CAAQd,EAAAA,CAC3Bc,EAAAA,CAAS,UAAU,MAAA,CAAYP,EAAAA,CAC/BO,EAAAA,CAAS,SAAA,CAAU,GAAA,CAAML,EAAAA,CACzBK,EAAAA,CAAS,SAAA,CAAU,GAAA,CAAMH,EAAAA,CACzBG,EAAAA,CAAS,SAAA,CAAU,GAAA,CAAMD,EAAAA,CAEzB,IAAOE,EAAAA,CAAQD,EAAAA,CC5Bf,IAAIE,EAAAA,CAAkB,qBAAA,CA8CtB,SAASC,EAAAA,CAAQxE,CAAAA,CAAMyE,CAAAA,CAAU,CAC/B,GAAI,OAAOzE,CAAAA,EAAQ,UAAA,EAAeyE,GAAY,IAAA,EAAQ,OAAOA,CAAAA,EAAY,UAAA,CACvE,MAAM,IAAI,SAAA,CAAUF,EAAe,CAAA,CAErC,IAAIG,CAAAA,CAAW,UAAW,CACxB,IAAI3O,CAAAA,CAAO,SAAA,CACP7M,CAAAA,CAAMub,CAAAA,CAAWA,CAAAA,CAAS,KAAA,CAAM,IAAA,CAAM1O,CAAI,CAAA,CAAIA,CAAAA,CAAK,CAAC,CAAA,CACpD4O,CAAAA,CAAQD,CAAAA,CAAS,KAAA,CAErB,GAAIC,EAAM,GAAA,CAAIzb,CAAG,CAAA,CACf,OAAOyb,CAAAA,CAAM,GAAA,CAAIzb,CAAG,CAAA,CAEtB,IAAIW,CAAAA,CAASmW,CAAAA,CAAK,KAAA,CAAM,IAAA,CAAMjK,CAAI,EAClC,OAAA2O,CAAAA,CAAS,KAAA,CAAQC,CAAAA,CAAM,GAAA,CAAIzb,CAAAA,CAAKW,CAAM,CAAA,EAAK8a,CAAAA,CACpC9a,CACT,CAAA,CACA,OAAA6a,CAAAA,CAAS,KAAA,CAAQ,IAAKF,EAAAA,CAAQ,KAAA,EAASF,EAAAA,CAAAA,CAChCI,CACT,CAGAF,EAAAA,CAAQ,KAAA,CAAQF,EAAAA,CAEhB,IAAOM,EAAAA,CAAQJ,EAAAA,CCrEf,IAAIK,EAAAA,CAAmB,GAAA,CAUvB,SAASC,EAAAA,CAAc9E,CAAAA,CAAM,CAC3B,IAAInW,CAAAA,CAAS+a,EAAAA,CAAQ5E,CAAAA,CAAM,SAAS9W,CAAAA,CAAK,CACvC,OAAIyb,CAAAA,CAAM,IAAA,GAASE,EAAAA,EACjBF,CAAAA,CAAM,OAAM,CAEPzb,CACT,CAAC,CAAA,CAEGyb,CAAAA,CAAQ9a,CAAAA,CAAO,KAAA,CACnB,OAAOA,CACT,CAEA,IAAOkb,EAAAA,CAAQD,EAAAA,CCtBf,IAAIE,GAAa,kGAAA,CAGbC,EAAAA,CAAe,UAAA,CASf1b,EAAAA,CAAewb,EAAAA,CAAc,SAASG,CAAAA,CAAQ,CAChD,IAAIrb,CAAAA,CAAS,EAAC,CACd,OAAIqb,CAAAA,CAAO,WAAW,CAAC,CAAA,GAAM,EAAA,EAC3Brb,CAAAA,CAAO,IAAA,CAAK,EAAE,CAAA,CAEhBqb,CAAAA,CAAO,OAAA,CAAQF,EAAAA,CAAY,SAASG,CAAAA,CAAO3d,CAAAA,CAAQ4d,CAAAA,CAAOC,EAAW,CACnExb,CAAAA,CAAO,IAAA,CAAKub,CAAAA,CAAQC,CAAAA,CAAU,OAAA,CAAQJ,EAAAA,CAAc,IAAI,CAAA,CAAKzd,CAAAA,EAAU2d,CAAM,EAC/E,CAAC,CAAA,CACMtb,CACT,CAAC,CAAA,CAEMyb,EAAAA,CAAQ/b,EAAAA,CCjBf,SAASgc,EAAAA,CAASjD,CAAAA,CAAOkD,CAAAA,CAAU,CAKjC,IAAA,IAJIxb,CAAAA,CAAQ,EAAA,CACRE,CAAAA,CAASoY,CAAAA,EAAS,KAAO,CAAA,CAAIA,CAAAA,CAAM,MAAA,CACnCzY,CAAAA,CAAS,KAAA,CAAMK,CAAM,CAAA,CAElB,EAAEF,CAAAA,CAAQE,CAAAA,EACfL,CAAAA,CAAOG,CAAK,CAAA,CAAIwb,CAAAA,CAASlD,EAAMtY,CAAK,CAAA,CAAGA,CAAAA,CAAOsY,CAAK,CAAA,CAErD,OAAOzY,CACT,CAEA,IAAO4b,EAAAA,CAAQF,EAAAA,CCdf,IAGIG,EAAAA,CAAc7H,EAAAA,CAASA,EAAAA,CAAO,SAAA,CAAY,MAAA,CAC1C8H,EAAAA,CAAiBD,EAAAA,CAAcA,EAAAA,CAAY,QAAA,CAAW,OAU1D,SAASE,EAAAA,CAAavsB,CAAAA,CAAO,CAE3B,GAAI,OAAOA,GAAS,QAAA,CAClB,OAAOA,CAAAA,CAET,GAAIikB,EAAAA,CAAQjkB,CAAK,CAAA,CAEf,OAAOosB,EAAAA,CAASpsB,CAAAA,CAAOusB,EAAY,CAAA,CAAI,EAAA,CAEzC,GAAI3G,GAAS5lB,CAAK,CAAA,CAChB,OAAOssB,EAAAA,CAAiBA,EAAAA,CAAe,IAAA,CAAKtsB,CAAK,CAAA,CAAI,EAAA,CAEvD,IAAIwQ,CAAAA,CAAUxQ,CAAAA,CAAQ,EAAA,CACtB,OAAQwQ,GAAU,GAAA,EAAQ,CAAA,CAAIxQ,CAAAA,EAAU,SAACwsB,CAAY,IAAA,CAAOhc,CAC9D,CAEA,IAAOic,EAAAA,CAAQF,EAAAA,CCbf,SAASG,EAAAA,CAAS1sB,CAAAA,CAAO,CACvB,OAAOA,CAAAA,EAAS,IAAA,CAAO,EAAA,CAAKysB,EAAAA,CAAazsB,CAAK,CAChD,CAEA,IAAO2sB,EAAAA,CAAQD,EAAAA,CCdf,SAASE,EAAAA,CAAS5sB,CAAAA,CAAOqQ,CAAAA,CAAQ,CAC/B,OAAI4T,EAAAA,CAAQjkB,CAAK,CAAA,CACRA,CAAAA,CAEF+lB,EAAAA,CAAM/lB,CAAAA,CAAOqQ,CAAM,CAAA,CAAI,CAACrQ,CAAK,CAAA,CAAIisB,EAAAA,CAAaU,EAAAA,CAAS3sB,CAAK,CAAC,CACtE,CAEA,IAAO6sB,EAAAA,CAAQD,EAAAA,CCRf,SAASE,EAAAA,CAAM9sB,CAAAA,CAAO,CACpB,GAAI,OAAOA,CAAAA,EAAS,QAAA,EAAY4lB,EAAAA,CAAS5lB,CAAK,CAAA,CAC5C,OAAOA,CAAAA,CAET,IAAIwQ,CAAAA,CAAUxQ,CAAAA,CAAQ,EAAA,CACtB,OAAQwQ,CAAAA,EAAU,GAAA,EAAQ,CAAA,CAAIxQ,CAAAA,EAAU,SAACwsB,CAAY,IAAA,CAAOhc,CAC9D,CAEA,IAAOuc,EAAAA,CAAQD,EAAAA,CCTf,SAASzY,EAAAA,CAAQhE,CAAAA,CAAQC,CAAAA,CAAM,CAC7BA,CAAAA,CAAOuc,GAASvc,CAAAA,CAAMD,CAAM,CAAA,CAK5B,IAAA,IAHIM,CAAAA,CAAQ,CAAA,CACRE,CAAAA,CAASP,CAAAA,CAAK,MAAA,CAEXD,CAAAA,EAAU,IAAA,EAAQM,CAAAA,CAAQE,CAAAA,EAC/BR,CAAAA,CAASA,EAAO0c,EAAAA,CAAMzc,CAAAA,CAAKK,CAAAA,EAAO,CAAC,CAAC,CAAA,CAEtC,OAAQA,CAAAA,EAASA,CAAAA,EAASE,CAAAA,CAAUR,CAAAA,CAAS,MAC/C,CAEA,IAAO2c,GAAQ3Y,EAAAA,CCIf,SAASjE,EAAAA,CAAIC,CAAAA,CAAQC,CAAAA,CAAMC,CAAAA,CAAc,CACvC,IAAIC,CAAAA,CAASH,CAAAA,EAAU,IAAA,CAAO,MAAA,CAAY2c,EAAAA,CAAQ3c,CAAAA,CAAQC,CAAI,CAAA,CAC9D,OAAOE,CAAAA,GAAW,MAAA,CAAYD,CAAAA,CAAeC,CAC/C,CAEA,IAAOyc,EAAAA,CAAQ7c,EAAAA,CC/Bf,IAAIqU,EAAAA,CAAc,MAAA,CAAO,SAAA,CAGrBC,GAAiBD,EAAAA,CAAY,cAAA,CAUjC,SAASyI,EAAAA,CAAQ7c,CAAAA,CAAQR,CAAAA,CAAK,CAC5B,OAAOQ,CAAAA,EAAU,IAAA,EAAQqU,EAAAA,CAAe,IAAA,CAAKrU,CAAAA,CAAQR,CAAG,CAC1D,CAEA,IAAOsd,EAAAA,CAAQD,EAAAA,CCdf,IAAIE,EAAAA,CAAU,oBAAA,CASd,SAASC,EAAAA,CAAgBrtB,CAAAA,CAAO,CAC9B,OAAOylB,EAAAA,CAAazlB,CAAK,GAAKulB,EAAAA,CAAWvlB,CAAK,CAAA,EAAKotB,EACrD,CAEA,IAAOE,EAAAA,CAAQD,EAAAA,CCbf,IAAI5I,EAAAA,CAAc,MAAA,CAAO,SAAA,CAGrBC,EAAAA,CAAiBD,EAAAA,CAAY,cAAA,CAG7B8I,EAAAA,CAAuB9I,EAAAA,CAAY,oBAAA,CAoBnC+I,EAAAA,CAAcF,EAAAA,CAAAA,CAAgB,UAAW,CAAE,OAAO,SAAW,CAAA,GAAG,CAAA,CAAIA,EAAAA,CAAkB,SAASttB,CAAAA,CAAO,CACxG,OAAOylB,EAAAA,CAAazlB,CAAK,CAAA,EAAK0kB,EAAAA,CAAe,IAAA,CAAK1kB,CAAAA,CAAO,QAAQ,CAAA,EAC/D,CAACutB,EAAAA,CAAqB,IAAA,CAAKvtB,CAAAA,CAAO,QAAQ,CAC9C,CAAA,CAEOytB,EAAAA,CAAQD,EAAAA,CClCf,IAAIE,EAAAA,CAAmB,gBAAA,CAGnBC,EAAAA,CAAW,kBAAA,CAUf,SAASC,EAAAA,CAAQ5tB,CAAAA,CAAO6Q,CAAAA,CAAQ,CAC9B,IAAI1T,EAAO,OAAO6C,CAAAA,CAClB,OAAA6Q,CAAAA,CAASA,CAAAA,EAAiB6c,EAAAA,CAEnB,CAAC,CAAC7c,CAAAA,GACN1T,CAAAA,EAAQ,QAAA,EACNA,CAAAA,EAAQ,QAAA,EAAYwwB,EAAAA,CAAS,IAAA,CAAK3tB,CAAK,CAAA,CAAA,EACrCA,CAAAA,CAAQ,EAAA,EAAMA,CAAAA,CAAQ,CAAA,EAAK,CAAA,EAAKA,CAAAA,CAAQ6Q,CACjD,CAEA,IAAOgd,EAAAA,CAAQD,EAAAA,CCvBf,IAAIF,EAAAA,CAAmB,iBA4BvB,SAASI,EAAAA,CAAS9tB,CAAAA,CAAO,CACvB,OAAO,OAAOA,CAAAA,EAAS,QAAA,EACrBA,CAAAA,CAAQ,EAAA,EAAMA,CAAAA,CAAQ,CAAA,EAAK,CAAA,EAAKA,CAAAA,EAAS0tB,EAC7C,CAEA,IAAOK,EAAAA,CAAQD,EAAAA,CClBf,SAASE,EAAAA,CAAQ3d,CAAAA,CAAQC,CAAAA,CAAM2d,CAAAA,CAAS,CACtC3d,CAAAA,CAAOuc,EAAAA,CAASvc,CAAAA,CAAMD,CAAM,EAM5B,IAAA,IAJIM,CAAAA,CAAQ,EAAA,CACRE,CAAAA,CAASP,CAAAA,CAAK,MAAA,CACdE,CAAAA,CAAS,KAAA,CAEN,EAAEG,CAAAA,CAAQE,CAAAA,EAAQ,CACvB,IAAIhB,CAAAA,CAAMkd,EAAAA,CAAMzc,CAAAA,CAAKK,CAAK,CAAC,CAAA,CAC3B,GAAI,EAAEH,CAAAA,CAASH,CAAAA,EAAU,IAAA,EAAQ4d,CAAAA,CAAQ5d,CAAAA,CAAQR,CAAG,CAAA,CAAA,CAClD,MAEFQ,CAAAA,CAASA,EAAOR,CAAG,EACrB,CACA,OAAIW,CAAAA,EAAU,EAAEG,CAAAA,EAASE,CAAAA,CAChBL,CAAAA,EAETK,CAAAA,CAASR,CAAAA,EAAU,IAAA,CAAO,CAAA,CAAIA,CAAAA,CAAO,OAC9B,CAAC,CAACQ,CAAAA,EAAUkd,EAAAA,CAASld,CAAM,CAAA,EAAKgd,EAAAA,CAAQhe,CAAAA,CAAKgB,CAAM,CAAA,GACvDoT,EAAAA,CAAQ5T,CAAM,CAAA,EAAKod,EAAAA,CAAYpd,CAAM,CAAA,CAAA,CAC1C,CAEA,IAAO6d,EAAAA,CAAQF,EAAAA,CCRf,SAASG,EAAAA,CAAI9d,CAAAA,CAAQC,CAAAA,CAAM,CACzB,OAAOD,CAAAA,EAAU,IAAA,EAAQ6d,EAAAA,CAAQ7d,EAAQC,CAAAA,CAAM6c,EAAO,CACxD,CAEA,IAAOiB,EAAAA,CAAQD,EAAAA,CChBG,IAAA,EAAA,CAAA,MAAA,CAAA,cAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,YAAA,CAAA,IAAA,CAAA,CAAA,CC+DLnM,EAAAA,CAAUqM,EAAAA,CAAA,CAQrB,CACA,eAAA,CAAAC,CAAAA,CACA,sBAAA,CAAwBC,CAAAA,CACxB,2BAAA,CAA6BC,CAAAA,CAAkC,KAAA,CAC/D,GAAG3oB,CACL,CAAA,CAQI,EAAC,GAQA,CACH,GAAM,CAAE,OAAA,CAAAqI,CAAQ,CAAA,CAAIvG,qBAAAA,EAAiB,CAC/B8mB,CAAAA,CACJvgB,GAAS,2BAAA,EAA+BsgB,CAAAA,CAEpChnB,CAAAA,CAAYC,iBAAAA,EAAa,CAEzB,CAAE,sBAAA,CAAwBinB,CAAAA,CAA8B,WAAA,CAAAC,CAAY,CAAA,CACxEC,uBAAAA,EAAmB,CACfC,CAAAA,CACJN,GAA8BG,CAAAA,CAE1BI,CAAAA,CAAoB9M,EAAAA,CAAkC,CAC1D,GAAGnc,CACL,CAAC,CAAA,CAEK,CACJ,KAAA,CAAAwa,CAAAA,CACA,QAAA,CAAArB,CAAAA,CACA,SAAA,CAAAT,EACA,YAAA,CAAcwQ,CAAAA,CACd,QAAA,CAAA9O,CACF,CAAA,CAAI6O,CAAAA,CAEEE,CAAAA,CAAoBC,YAAAA,CAOxB,CACA,GAAGX,CAAAA,CACH,eAAA,CAAiB,CAAC9W,CAAAA,CAAO0X,CAAAA,CAAYC,CAAAA,GAAa,CA/ItD,IAAA7M,CAAAA,CAAA8M,CAAAA,CAgJM,GAAIX,CAAAA,CAA6B,CAAA,CAC/BnM,CAAAA,CAAAgM,CAAAA,EAAiB,eAAA,GAAjB,IAAA,EAAAhM,CAAAA,CAAA,IAAA,CAAAgM,CAAAA,CAAmC9W,EAAO0X,CAAAA,CAAYC,CAAA,CAAA,CACtD,MACF,CAEA,IAAMpc,CAAAA,CAASyE,CAAAA,EAAO,MAAA,CAEtB,IAAA,IAAW3H,CAAAA,IAAOkD,CAAAA,CAAQ,CAMxB,GAAI,CAJqB,MAAA,CAAO,IAAA,CAC9Bsc,sBAAAA,CAAkBH,CAAU,CAC9B,CAAA,CAAE,QAAA,CAASrf,CAAG,CAAA,CAGZ,SAGF,IAAMuO,CAAAA,CAAarL,CAAAA,CAAOlD,CAAG,EAEzByf,EAAAA,CAAW,EAAA,CAEX,KAAA,CAAM,OAAA,CAAQlR,CAAU,CAAA,GAC1BkR,EAAAA,CAAWlR,CAAAA,CAAW,IAAA,CAAK,GAAG,CAAA,CAAA,CAG5B,OAAOA,CAAAA,EAAe,QAAA,GACxBkR,EAAAA,CAAWlR,CAAAA,CAAAA,CAGT,OAAOA,CAAAA,EAAe,SAAA,EAAaA,CAAAA,GACrCkR,EAAAA,CAAW,qBAAA,CAAA,CAGT,OAAOlR,CAAAA,EAAe,QAAA,EAAY,KAAA,GAASA,CAAAA,GAM7CkR,EAAAA,CAL0B9nB,CAAAA,CACxB4W,CAAAA,CAAW,IACXA,CAAAA,CAAW,OACb,CAAA,CAAA,CAKF6B,CAAAA,CAASpQ,CAAAA,CAAyB,CAChC,OAAA,CAASyf,EACX,CAAC,EACH,CAAA,CAEAF,CAAAA,CAAAd,CAAAA,EAAiB,eAAA,GAAjB,MAAAc,CAAAA,CAAA,IAAA,CAAAd,CAAAA,CAAmC9W,CAAAA,CAAO0X,CAAAA,CAAYC,CAAA,EACxD,CACF,CAAC,CAAA,CAEK,CAAE,KAAA,CAAAI,CAAAA,CAAO,QAAA,CAAAC,EAAU,WAAA,CAAAC,CAAAA,CAAa,gBAAA,CAAAC,CAAiB,CAAA,CAAIV,CAAAA,CAE3D/yB,YAAAA,CAAU,IAAM,CArMlB,IAAAqmB,CAAAA,CAsMI,IAAM9c,CAAAA,CAAAA,CAAO8c,CAAAA,CAAAiN,CAAAA,EAAO,IAAA,GAAP,IAAA,CAAA,MAAA,CAAAjN,CAAAA,CAAa,IAAA,CAC1B,GAAI,CAAC9c,CAAAA,CAAM,OAKc,MAAA,CAAO,IAAA,CAAK6pB,sBAAAA,CAAkB9Q,CAAAA,EAAW,CAAC,EAKlD,OAAA,CAASjO,CAAAA,EAAS,CACjC,IAAMqf,CAAAA,CAAWvB,EAAAA,CAAI5oB,CAAAA,CAAM8K,CAAI,CAAA,CACzBsf,CAAAA,CAAY3C,EAAAA,CAAIznB,CAAAA,CAAM8K,CAAI,CAAA,CAK5Bqf,GACF3Q,CAAAA,CAAS1O,CAAAA,CAA0Bsf,CAAS,EAEhD,CAAC,EACH,CAAA,CAAG,CAACL,CAAAA,EAAO,IAAA,CAAMvQ,CAAAA,CAAUT,CAAS,CAAC,CAAA,CAErCtiB,aAAU,IAAM,CACd,IAAM4zB,CAAAA,CAAexP,CAAAA,CAAM,CAAC7M,CAAAA,CAAa,CAAE,IAAA,CAAArW,CAAK,CAAA,GAAsB,CAChEA,CAAAA,GAAS,QAAA,EACX2yB,CAAAA,CAAetc,CAAM,EAEzB,CAAC,CAAA,CACD,OAAO,IAAMqc,CAAAA,CAAa,WAAA,EAC5B,CAAA,CAAG,CAACxP,CAAK,CAAC,CAAA,CAEV,IAAMyP,EAAiBzB,EAAAA,CAAC0B,CAAAA,EAA6B,CAvOvD,IAAAzN,CAAAA,CAAA8M,CAAAA,CA4OI,GAJIP,CAAAA,EACFF,CAAAA,CAAY,IAAI,CAAA,CAAA,CAGdrM,CAAAA,CAAAgM,CAAAA,EAAiB,QAAA,GAAjB,MAAAhM,CAAAA,CAA2B,OAAA,CAAS,CACtCqM,CAAAA,CAAY,KAAK,CAAA,CAEjB,IAAMqB,CAAAA,CAAAA,CAAAA,CACJZ,CAAAA,CAAAd,CAAAA,CAAgB,QAAA,GAAhB,IAAA,CAAA,MAAA,CAAAc,CAAAA,CAA0B,YAAc5b,CAAAA,EAAuBA,CAAAA,CAAAA,CAEjE,OAAOkc,CAAAA,CAAiBM,CAAAA,CAAcD,CAAY,CAAC,CAAA,CAAE,KAAA,CAClDvY,CAAAA,EAAUA,CACb,CACF,CAEA,OAAOuY,CACT,CAAA,CAjBuB,gBAAA,CAAA,CAmBjB9O,EAAAA,CACJoN,EAAAA,CAAA,CAACnN,CAAAA,CAASC,CAAAA,GAAc,MAAOjX,CAAAA,GAC7BykB,CAAAA,CAAY,KAAK,CAAA,CACVI,CAAAA,CAA0B7N,CAAAA,CAASC,CAAS,CAAA,CAAEjX,CAAC,CAAA,CAAA,CAFxD,cAAA,CAAA,CAeF,OAAO,CACL,GAAG4kB,CAAAA,CACH,YAAA,CAAA7N,EAAAA,CACA,UAAA,CAAY+N,CAAAA,CACZ,eAAA,CAdsB,CACtB,QAAA,CAAUS,CAAAA,CACV,OAAA,CAAUvlB,CAAAA,EAAgC,CACxC+W,EAAAA,CACGgP,CAAAA,EAAMT,CAAAA,CAASS,CAAC,CAAA,CAAE,KAAA,CAAM,IAAM,CAAC,CAAC,EACjC,IAAM,KACR,CAAA,CAAE/lB,CAAC,EACL,CACF,CAOA,CACF,CAAA,CA/LuB,SAAA,CAAA,CCvDhB,IAAMgmB,EAAAA,CAAoD,CAAC,CAChE,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAlpB,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,aAAA,CAAAmc,EACA,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAA/b,CAAAA,CACA,iBAAA,CAAAic,CACF,CAAA,GAAM,CACJ,GAAM,CAAE,QAAA,CAAAC,CAAAA,CAAU,GAAGC,CAAa,EAAIJ,CAAAA,EAAa,EAAC,CAC9C,CAAE,MAAA,CAAA8M,CAAO,CAAA,CAAIC,sBAAAA,EAA2C,CACxD7oB,CAAAA,CAAYC,iBAAAA,EAAa,CACzBhF,CAAAA,CAAOC,YAAAA,GAEP,CACJ,YAAA,CAAAue,CAAAA,CACA,QAAA,CAAAN,CAAAA,CACA,SAAA,CAAW,CAAE,MAAA,CAAA5N,CAAO,CACtB,CAAA,CAAIiP,EAAAA,CAAwD,CAC1D,GAAG0B,CACL,CAAC,CAAA,CAEKK,CAAAA,CACJxc,CAAAA,GAAU,KAAA,CAAQ,IAAA,CAChBvK,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,kCAAA,CACZ,QAAA,CAAAuK,CAAAA,EAASvK,cAAAA,CAACgF,EAAAA,CAAA,CAAY,SAAA,CAAW,KAAA,CAAO,CAAA,CAC3C,CAAA,CAGEgiB,CAAAA,CACJhnB,cAAAA,CAAC4lB,EAAAA,CAAA,CACE,GAAG1b,CAAAA,CACJ,SAAA,CAAW9K,CAAAA,CACT,4CAAA,CACA8K,CAAAA,EAAc,SAChB,CAAA,CAEA,QAAA,CAAAnJ,eAAAA,CAACglB,EAAAA,CAAA,CAAY,SAAA,CAAU,MAAA,CACrB,QAAA,CAAA,CAAA/lB,cAAAA,CAAC,IAAA,CAAA,CAAG,SAAA,CAAU,sDAAA,CACX,QAAA,CAAAwK,CAAAA,CAAU,6BAA8B,uBAAuB,CAAA,CAClE,CAAA,CAEAzJ,eAAAA,CAAC,MAAA,CAAA,CACC,QAAA,CAAUkjB,CAAAA,CAAczb,CAAAA,EAClBie,CAAAA,CACKA,CAAAA,CAASje,CAAI,CAAA,CAGf4qB,CAAAA,CAAO,CAAE,GAAG5M,CAAAA,CAAmB,GAAGhe,CAAK,CAAC,CAChD,CAAA,CAED,QAAA,CAAA,CAAAzH,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,gBAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAACulB,EAAAA,CAAA,CAAM,QAAQ,OAAA,CACZ,QAAA,CAAA/a,CAAAA,CAAU,mCAAA,CAAqC,OAAO,CAAA,CACzD,CAAA,CACAxK,cAAAA,CAACE,EAAAA,CAAA,CACC,EAAA,CAAG,OAAA,CACH,IAAA,CAAK,MAAA,CACL,UAAWd,CAAAA,CAAG2W,CAAAA,EAAQ,KAAA,EAAS,oBAAoB,CAAA,CAClD,GAAG4N,CAAAA,CAAS,OAAA,CAAS,CACpB,QAAA,CAAUnZ,CAAAA,CACR,2CAAA,CACA,mBACF,CAAA,CACA,QAAS,CACP,KAAA,CAAO,0CAAA,CACP,OAAA,CAASA,CAAAA,CACP,wCAAA,CACAA,CAAAA,CACE,+BAAA,CACA,uBACF,CACF,CACF,CACF,CAAC,CAAA,CACH,CAAA,CACCuL,CAAAA,EAAQ,KAAA,EACP/V,cAAAA,CAAC,GAAA,CAAA,CAAE,SAAA,CAAU,0BAAA,CAA4B,QAAA,CAAA,CAAA,EAAG+V,CAAAA,CAAO,KAAA,EAAO,OAAO,CAAA,CAAA,CAAG,CAAA,CAAA,CAExE,CAAA,CAECod,CAAAA,EACCpyB,eAAAA,CAAC,OAAI,SAAA,CAAU,uBAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,MAAA,CAAA,CACE,QAAA,CAAAwK,CAAAA,CACC,0CAAA,CACAA,CAAAA,CACE,oCAAA,CACA,kBACF,CACF,CAAA,CACF,CAAA,CACAxK,eAACyF,CAAAA,CAAA,CAAK,EAAA,CAAG,QAAA,CAAS,SAAA,CAAU,mCAAA,CACzB,QAAA,CAAA+E,CAAAA,CACC,6BAAA,CACAA,CAAAA,CAAU,oBAAA,CAAsB,SAAS,CAC3C,CAAA,CACF,GACF,CAAA,CAGFxK,cAAAA,CAACN,CAAAA,CAAA,CAAO,IAAA,CAAK,QAAA,CAAS,SAAA,CAAU,aAAA,CAC7B,QAAA,CAAA8K,CAAAA,CACC,qCAAA,CACA,yBACF,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACF,CAAA,CAGF,OACExK,cAAAA,CAAC,KAAA,CAAA,CACE,GAAGiK,CAAAA,CACJ,SAAA,CAAW7K,CAAAA,CACT,kEAAA,CACA6K,CAAAA,EAAc,SAChB,CAAA,CAEC,QAAA,CAAAoc,CAAAA,CACCA,EAAcW,CAAAA,CAASD,CAAS,CAAA,CAEhChmB,eAAAA,CAAAgE,mBAAAA,CAAA,CACG,QAAA,CAAA,CAAAgiB,CAAAA,CACAC,CAAAA,CAAAA,CACH,CAAA,CAEJ,CAEJ,CAAA,CCvIO,IAAMsM,EAAAA,CAAiCvzB,CAAAA,EAAU,CACtD,GAAM,CAAE,IAAA,CAAAI,CAAK,CAAA,CAAIJ,CAAAA,CAcjB,OAAOC,eAAA+E,mBAAAA,CAAA,CAAG,QAAA,CAAA,CAbS,IAAM,CACvB,OAAQ5E,CAAAA,EAGN,KAAK,gBAAA,CACH,OAAOH,cAAAA,CAACkzB,EAAAA,CAAA,CAAoB,GAAGnzB,CAAAA,CAAO,CAAA,CAGxC,QACE,OAAOC,cAAAA,CAACgmB,EAAAA,CAAA,CAAW,GAAGjmB,CAAAA,CAAO,CACjC,CACF,CAAA,GAEqB,CAAE,CACzB,EC5BA,SAASyL,EAAAA,CAAW,CAAE,GAAGzL,CAAM,CAAA,CAAoB,CACjD,OAAOC,cAAAA,CAAC,KAAA,CAAA,CAAI,YAAA,CAAW,YAAA,CAAa,WAAA,CAAU,YAAA,CAAc,GAAGD,CAAAA,CAAO,CACxE,CAEA,SAASwzB,EAAAA,CAAe,CAAE,SAAA,CAAA5zB,CAAAA,CAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,WAAA,CAAU,iBAAA,CACV,SAAA,CAAWZ,CAAAA,CACT,0FAAA,CACAO,CACF,CAAA,CACC,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAASyzB,EAAAA,CAAe,CAAE,SAAA,CAAA7zB,EAAW,GAAGI,CAAM,CAAA,CAA+B,CAC3E,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,WAAA,CAAU,iBAAA,CACV,SAAA,CAAWZ,CAAAA,CAAG,kCAAA,CAAoCO,CAAS,CAAA,CAC1D,GAAGI,CAAAA,CACN,CAEJ,CAEA,SAAS0zB,EAAAA,CAAe,CACtB,OAAA,CAAA3zB,CAAAA,CACA,SAAA,CAAAH,CAAAA,CACA,GAAGI,CACL,CAAA,CAEG,CAGD,OACEC,cAAAA,CAHWF,CAAAA,CAAUG,cAAAA,CAAO,GAAA,CAG3B,CACC,WAAA,CAAU,iBAAA,CACV,SAAA,CAAWb,CAAAA,CAAG,yCAAA,CAA2CO,CAAS,CAAA,CACjE,GAAGI,CAAAA,CACN,CAEJ,CAeA,SAAS2zB,EAAAA,CAAoB,CAC3B,QAAA,CAAA7yB,CAAAA,CACA,SAAA,CAAAlB,CAAAA,CACA,GAAGI,CACL,CAAA,CAA+B,CAC7B,OACEC,cAAAA,CAAC,IAAA,CAAA,CACC,YAAU,sBAAA,CACV,IAAA,CAAK,cAAA,CACL,aAAA,CAAY,MAAA,CACZ,SAAA,CAAWZ,CAAAA,CAAG,kBAAA,CAAoBO,CAAS,CAAA,CAC1C,GAAGI,CAAAA,CAEH,QAAA,CAAAc,CAAAA,EAAYb,eAAC6G,wBAAAA,CAAA,EAAa,CAAA,CAC7B,CAEJ,CC9DO,IAAM2E,EAAAA,CAAa,CAAC,CACzB,eAAA,CAAAmoB,CAAAA,CACA,QAAA,CAAAC,CAAAA,CAAW,IAAA,CACX,SAAA,CAAAC,CAAAA,CAAY,KAAA,CACZ,IAAA,CAAA7sB,CAAAA,CACA,QAAA,CAAA8sB,CAAAA,CAAW,CACb,CAAA,GAAuB,CACrB,GAAM,CAAE,WAAA,CAAAC,CAAY,CAAA,CAAIC,kBAAAA,CAAc,CAAE,IAAA,CAAAhtB,CAAK,CAAC,CAAA,CACxCvB,CAAAA,CAAOC,YAAAA,EAAQ,CAErB,GAAIquB,EAAY,MAAA,CAASD,CAAAA,CAAU,OAAO,IAAA,CAE1C,GAAM,CAAE,SAAA,CAAAG,CAAU,CAAA,CAAIjpB,sBAAAA,EAAkB,CAElCkpB,CAAAA,CAAoBC,2BAAAA,CAAuB,GAAA,CAAKF,CAAS,CAAA,CAE/D,OACEj0B,cAAAA,CAACwL,EAAAA,CAAA,CAAqB,GAAGmoB,CAAAA,CACvB,QAAA,CAAA5yB,eAAAA,CAACwyB,EAAAA,CAAA,CACE,QAAA,CAAA,CAAAK,CAAAA,EAAYM,CAAAA,EAAmB,OAC9BnzB,eAAAA,CAAAgE,mBAAAA,CAAA,CACE,QAAA,CAAA,CAAA/E,cAAAA,CAACwzB,EAAAA,CAAA,CACC,QAAA,CAAAxzB,cAAAA,CAACyF,CAAAA,CAAA,CAAK,EAAA,CAAG,GAAA,CACN,QAAA,CAAAyuB,GAAmB,QAAA,EAAU,IAAA,EAAM,IAAA,EAAQl0B,cAAAA,CAACo0B,gBAAAA,CAAA,CAAK,IAAA,CAAM,EAAA,CAAI,CAAA,CAC9D,CAAA,CACF,CAAA,CACCL,CAAAA,CAAY,MAAA,CAAS,CAAA,EAAK/zB,eAAC0zB,EAAAA,CAAA,EAAoB,CAAA,CAAA,CAClD,CAAA,CAEDK,CAAAA,CAAY,GAAA,CAAI,CAAC,CAAE,KAAA,CAAA3tB,CAAAA,CAAO,IAAA,CAAAb,CAAAA,CAAM,IAAA,CAAA8uB,CAAK,EAAG1gB,CAAAA,GAErC5S,eAAAA,CAAAgE,mBAAAA,CAAA,CACE,QAAA,CAAA,CAAAhE,eAAAA,CAACyyB,EAAAA,CAAA,CACE,QAAA,CAAA,CAAA,CAACK,CAAAA,EAAatuB,CAAAA,CACd8uB,CAAAA,CACCr0B,cAAAA,CAACyzB,EAAAA,CAAA,CAAe,OAAA,CAAO,IAAA,CACrB,QAAA,CAAAzzB,cAAAA,CAACyF,CAAAA,CAAA,CAAK,EAAA,CAAI4uB,CAAAA,CAAO,QAAA,CAAAjuB,CAAAA,CAAM,CAAA,CACzB,CAAA,CAEApG,cAAAA,CAACyzB,EAAAA,CAAA,CAAgB,SAAArtB,CAAAA,CAAM,CAAA,CAAA,CAAA,CAPNA,CASrB,CAAA,CACCuN,CAAAA,CAAQogB,CAAAA,CAAY,MAAA,CAAS,CAAA,EAAK/zB,cAAAA,CAAC0zB,EAAAA,CAAA,EAAoB,CAAA,CAAA,CAC1D,CAEH,CAAA,CAAA,CACH,EACF,CAEJ,ECzDO,IAAMY,EAAAA,CAA4D,CAAC,CACxE,eAAA,CAAAC,CAAAA,CAAkB,EAAA,CAClB,OAAA,CAAAve,CAAAA,CACA,cAAA,CAAAwe,CAAAA,CACA,eAAA,CAAAC,CAAAA,CAAkB,CACpB,CAAA,GAEI1zB,eAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,mFAAA,CACb,QAAA,CAAA,CAAAf,cAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,yBAAA,CACb,QAAA,CAAAe,eAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,oFAAA,CACb,QAAA,CAAA,CAAA0zB,EAAgB,GAAA,CAAA,CACnB,CAAA,CACF,CAAA,CACAz0B,cAAAA,CAACmQ,EAAAA,CAAA,CAAM,QAAA,CAAA6F,CAAAA,CAAQ,CAAA,CACfhW,cAAAA,CAACN,CAAAA,CAAA,CACC,YAAA,CAAW,MAAA,CACX,QAAQ,SAAA,CACR,OAAA,CAAS,IAAM,CACb80B,CAAAA,IAAiB,CACbD,CAAAA,EACFG,YAAAA,CAAM,OAAA,CAAQH,CAAe,EAEjC,CAAA,CACA,IAAA,CAAM,MAAA,CAEN,SAAAv0B,cAAAA,CAAC20B,2BAAAA,CAAA,CAAgB,IAAA,CAAM,EAAA,CAAI,CAAA,CAC7B,CAAA,CAAA,CACF,EC3BG,IAAMC,GAAoB,CAAC,CAChC,MAAA,CAAAC,CAAAA,CACA,QAAA,CAAU,CACR,OAAA,CAAAC,CAAAA,CACE90B,cAAAA,CAAC+0B,EAAAA,CAAA,CACC,cAAA,CAAe,kBAAA,CACf,cAAA,CAAe,QACf,IAAA,CAAM/0B,cAAAA,CAACg1B,uBAAAA,CAAA,CAAY,IAAA,CAAK,MAAA,CAAO,CAAA,CACjC,CAAA,CAEF,KAAA,CAAAxa,CAAAA,CACExa,cAAAA,CAAC+0B,EAAAA,CAAA,CACC,cAAA,CAAe,iBACf,cAAA,CAAe,mBAAA,CACf,IAAA,CAAM/0B,cAAAA,CAACi1B,gCAAAA,CAAA,CAAqB,IAAA,CAAK,MAAA,CAAO,CAAA,CAC1C,CAAA,CAEF,OAAA,CAAAzmB,CAAAA,CACExO,cAAAA,CAAC+0B,EAAAA,CAAA,CACC,cAAA,CAAe,kBAAA,CACf,cAAA,CAAe,WAAA,CACf,IAAA,CAAM/0B,cAAAA,CAACiP,sBAAAA,CAAA,CAAW,IAAA,CAAK,MAAA,CAAO,CAAA,CAChC,CAAA,CAEF,IAAA,CAAAimB,CAAAA,CACEl1B,cAAAA,CAAC+0B,GAAA,CACC,cAAA,CAAe,eAAA,CACf,cAAA,CAAe,qBAAA,CACf,IAAA,CAAM/0B,cAAAA,CAACmI,eAAAA,CAAA,CAAI,IAAA,CAAK,MAAA,CAAO,CAAA,CACzB,CAEJ,CAAA,CAAI,EACN,CAAA,GAEInI,cAAAA,CAACm1B,sBAAAA,CAAA,CACC,MAAA,CAAQN,CAAAA,CACR,QAAA,CAAU,CACR,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAta,CAAAA,CACA,OAAA,CAAAhM,EACA,IAAA,CAAA0mB,CACF,CAAA,CACF,CAAA,CAIEH,EAAAA,CAAU,CAAC,CACf,cAAA,CAAAK,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,IAAA,CAAA9vB,CACF,CAAA,GAIM,CACJ,IAAMiF,CAAAA,CAAYC,iBAAAA,EAAa,CAE/B,OACE1J,eAAAA,CAACoP,EAAAA,CAAA,CACC,KAAA,CAAM,UAAA,CACN,SAAA,CAAU,sDAAA,CAET,QAAA,CAAA,CAAA3F,CAAAA,CAAU4qB,CAAAA,CAAgBC,CAAc,CAAA,CACzCr1B,cAAAA,CAAC,MAAA,CAAA,CAAK,KAAA,CAAO,CAAE,UAAA,CAAY,KAAM,CAAA,CAAI,QAAA,CAAAuF,CAAAA,CAAK,CAAA,CAAA,CAC5C,CAEJ,EC3EO,IAAM+vB,EAAAA,CAA0B,KAC9B,CACL,IAAA,CAAM,CAAC,CACL,GAAA,CAAAziB,CAAAA,CACA,QAAAmD,CAAAA,CACA,IAAA,CAAA7V,CAAAA,CACA,WAAA,CAAAo1B,CAAAA,CACA,eAAA,CAAAd,CAAAA,CACA,cAAA,CAAAD,CACF,CAAA,GAAM,CACJ,GAAIr0B,CAAAA,GAAS,UAAA,CAAY,CACvBu0B,YAAAA,CAAM,MAAA,CACJ,IACE10B,cAAAA,CAACs0B,EAAAA,CAAA,CACC,eAAA,CAAiBzhB,CAAAA,CACjB,OAAA,CAASmD,CAAAA,CACT,cAAA,CAAgBwe,CAAAA,CAChB,eAAA,CAAiBC,CAAAA,CACnB,CAAA,CAEF,CACE,EAAA,CAAI5hB,CAAAA,CACJ,QAAA,CAAU,CAAA,CAAA,CACZ,CACF,CAAA,CACA,MACF,CAEA,IAAM3B,CAAAA,CAA0D,EAAC,CAC7D2B,CAAAA,GAAQ,MAAA,GAAW3B,EAAQ,EAAA,CAAK2B,CAAAA,CAAAA,CAChC0iB,CAAAA,GAAarkB,CAAAA,CAAQ,WAAA,CAAcqkB,CAAAA,CAAAA,CAEnCp1B,CAAAA,GAAS,SAAA,CACXu0B,YAAAA,CAAM,OAAA,CAAQ1e,CAAAA,CAAS9E,CAAO,CAAA,CACrB/Q,CAAAA,GAAS,QAClBu0B,YAAAA,CAAM,KAAA,CAAM1e,CAAAA,CAAS9E,CAAO,CAAA,CAE5BwjB,YAAAA,CAAM1e,CAAAA,CAAS9E,CAAO,EAE1B,CAAA,CACA,KAAA,CAAQ2B,CAAAA,EAAQ6hB,YAAAA,CAAM,OAAA,CAAQ7hB,CAAU,CAC1C,CAAA,ECzCK,SAAS2iB,EAAAA,CAAMC,CAAAA,CAAwB,EAAC,CAAW,CAExD,OAAO,CAAA,MAAA,EADMA,CAAAA,CAAK,IAAA,EAAQ,OACN,CAAA,CAAA,CACtB","file":"index.js","sourcesContent":["import { useEffect, useState } from 'react'\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined)\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener('change', onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener('change', onChange)\n }, [])\n\n return !!isMobile\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex gap-2 items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost:\n 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\ninterface ButtonProps\n extends React.ComponentProps<'button'>, VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: ButtonProps) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants, ButtonProps }\n","import * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '@lib/utils'\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\n\nimport { XIcon } from 'lucide-react'\nimport { cn } from '@lib/utils'\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '@lib/utils'\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { PanelLeftIcon } from 'lucide-react'\n\nimport { useIsMobile } from '@hooks/use-mobile'\nimport { cn } from '@lib/utils'\nimport { Button } from '@components/ui/button'\nimport { Input } from '@components/ui/input'\nimport { Separator } from '@components/ui/separator'\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@components/ui/sheet'\nimport { Skeleton } from '@components/ui/skeleton'\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@components/ui/tooltip'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n\n return context\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}) {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed'\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar()\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n )\n}\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden 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',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n}) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 md:after:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n )\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","import { Button } from '@components/ui/button'\nimport { HamburgerMenu } from '@components/themed-layout/hamburger-menu'\nimport type { RefineThemedLayoutHeaderProps } from '@components/themed-layout/types'\nimport { Separator } from '@components/ui/separator'\nimport { SidebarTrigger } from '@components/ui/sidebar'\nimport { useGetIdentity } from '@refinedev/core'\n\nexport const ThemedHeader = ({ sticky }: RefineThemedLayoutHeaderProps) => {\n const { data: user } = useGetIdentity()\n\n return (\n <>\n <header className=\"flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)\">\n <div className=\"flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6\">\n <SidebarTrigger className=\"-ml-1\" />\n <Separator\n orientation=\"vertical\"\n className=\"mx-2 data-[orientation=vertical]:h-4\"\n />\n <h1 className=\"text-base font-medium\">Documents</h1>\n <div className=\"ml-auto flex items-center gap-2\">\n <Button\n variant=\"ghost\"\n asChild\n size=\"sm\"\n className=\"hidden sm:flex\"\n >\n <a\n href=\"https://github.com/shadcn-ui/ui/tree/main/apps/v4/app/(examples)/dashboard\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"dark:text-foreground\"\n >\n GitHub\n </a>\n </Button>\n </div>\n </div>\n </header>\n {/* <div\n className={`bg-background flex h-16 w-full items-center border-b px-4 py-2 ${\n sticky ? 'sticky top-0 z-10' : ''\n }`}\n data-testid=\"themed-header\"\n >\n <div className=\"flex w-full items-center justify-between\">\n <HamburgerMenu />\n <div className=\"flex items-center gap-2\">\n {user?.name && (\n <span\n className=\"text-sm font-bold\"\n data-testid=\"header-user-name\"\n >\n {user.name}\n </span>\n )}\n {user?.avatar && (\n <img\n alt={user?.name || 'Profile Photo'}\n src={user.avatar}\n className=\"h-8 w-8 rounded-full object-cover\"\n />\n )}\n </div>\n </div>\n </div> */}\n </>\n )\n}\n","import { useLink, useRefineOptions } from '@refinedev/core'\n\nimport type { RefineLayoutThemedTitleProps } from '@refinedev/ui-types'\nimport { stat } from 'fs'\nimport { useSidebar } from '@components/ui/sidebar'\n\nexport const ThemedTitle = ({\n collapsed,\n icon: iconFromProps,\n text: textFromProps,\n}: RefineLayoutThemedTitleProps) => {\n const { title: { icon: defaultIcon, text: defaultText } = {} } =\n useRefineOptions()\n const icon =\n typeof iconFromProps === 'undefined' ? defaultIcon : iconFromProps\n const text =\n typeof textFromProps === 'undefined' ? defaultText : textFromProps\n const Link = useLink()\n\n const { state, isMobile } = useSidebar()\n\n return (\n <Link\n to=\"/\"\n className=\"flex items-center justify-center gap-2 text-inherit no-underline hover:no-underline\"\n >\n <div className=\"size-6 [&>img]:size-6 [&>svg]:size-6\">{icon}</div>\n {(isMobile || (!collapsed && state === 'expanded')) && (\n <h6 className=\"text-base font-semibold\">{text}</h6>\n )}\n </Link>\n )\n}\n","'use client'\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Collapsible({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return (\n <CollapsiblePrimitive.CollapsibleTrigger\n data-slot=\"collapsible-trigger\"\n {...props}\n />\n )\n}\n\nfunction CollapsibleContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return (\n <CollapsiblePrimitive.CollapsibleContent\n data-slot=\"collapsible-content\"\n className={cn(\n 'data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden transition-all',\n className\n )}\n {...props}\n >\n {children}\n </CollapsiblePrimitive.CollapsibleContent>\n )\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","'use client'\n\nimport type { TreeMenuItem} from '@refinedev/core';\nimport { CanAccess, useLink, useMenu } from '@refinedev/core'\nimport { ChevronRight, CirclePlus, ListIcon, Mail } from 'lucide-react'\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@components/ui/collapsible'\nimport {\n SidebarGroup,\n SidebarGroupContent,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '@components/ui/sidebar'\n\nimport { Button } from '@components/ui/button'\nimport type { RefineThemedLayoutSiderProps } from '@components/themed-layout/types'\nimport { cn } from '@lib/utils'\nimport { useState } from 'react'\n\ninterface NavMainProps extends Pick<\n RefineThemedLayoutSiderProps,\n 'meta' | 'activeItemDisabled'\n> {}\n\ninterface TreeViewItemProps {\n item: TreeMenuItem\n selectedKey: string | undefined\n defaultOpenKeys: string[]\n Link: any\n activeItemDisabled?: boolean\n}\n\nfunction TreeViewItem({\n item,\n selectedKey,\n defaultOpenKeys,\n Link,\n activeItemDisabled = false,\n}: TreeViewItemProps) {\n const { label, route, name, icon, children } = item\n const isSelected = item.key === selectedKey\n const isParent = children && children.length > 0\n const defaultOpen = defaultOpenKeys.includes(item.key || '')\n const [isOpen, setIsOpen] = useState(defaultOpen)\n\n if (!isParent) {\n return (\n <CanAccess\n key={item.key}\n resource={name}\n action=\"list\"\n params={{ resource: item }}\n >\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild={!isSelected || !activeItemDisabled}\n tooltip={label}\n isActive={isSelected}\n disabled={isSelected && activeItemDisabled}\n >\n <Link to={route}>\n {icon ?? <ListIcon className=\"h-4 w-4\" />}\n <span>{label}</span>\n </Link>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </CanAccess>\n )\n }\n\n return (\n <CanAccess\n key={item.key}\n resource={name}\n action=\"list\"\n params={{ resource: item }}\n >\n <Collapsible\n open={isOpen}\n onOpenChange={setIsOpen}\n className=\"group/collapsible\"\n >\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={label} isActive={isSelected}>\n {icon ?? <ListIcon className=\"h-4 w-4\" />}\n <span>{label}</span>\n <ChevronRight\n className={cn(\n 'ml-auto h-4 w-4 transition-transform duration-200',\n isOpen && 'rotate-90'\n )}\n />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n {children.map((child) => (\n <TreeViewItem\n key={child.key}\n item={child}\n selectedKey={selectedKey}\n defaultOpenKeys={defaultOpenKeys}\n Link={Link}\n activeItemDisabled={activeItemDisabled}\n />\n ))}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n </CanAccess>\n )\n}\n\nexport function NavMain({ meta, activeItemDisabled = false }: NavMainProps) {\n const Link = useLink()\n const { menuItems, selectedKey, defaultOpenKeys } = useMenu({ meta })\n\n return (\n <SidebarGroup>\n <SidebarGroupContent className=\"flex flex-col gap-2\">\n <SidebarMenu>\n <SidebarMenuItem className=\"flex items-center gap-2\">\n <SidebarMenuButton\n tooltip=\"Quick Create\"\n className=\"bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground active:bg-primary/90 active:text-primary-foreground min-w-8 duration-200 ease-linear\"\n >\n <CirclePlus />\n <span>Quick Create</span>\n </SidebarMenuButton>\n <Button\n size=\"icon\"\n className=\"size-8 group-data-[collapsible=icon]:opacity-0\"\n variant=\"outline\"\n >\n <Mail />\n <span className=\"sr-only\">Inbox</span>\n </Button>\n </SidebarMenuItem>\n </SidebarMenu>\n <SidebarMenu>\n {menuItems.map((item) => (\n <TreeViewItem\n key={item.key}\n item={item}\n selectedKey={selectedKey}\n defaultOpenKeys={defaultOpenKeys}\n Link={Link}\n activeItemDisabled={activeItemDisabled}\n />\n ))}\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n )\n}\n","'use client'\n\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted flex size-full items-center justify-center rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","'use client'\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport * as React from 'react'\n\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react'\n\nimport { cn } from '@lib/utils'\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","'use client'\n\nimport { Avatar, AvatarFallback, AvatarImage } from '@components/ui/avatar'\nimport { Bell, CreditCard, Dot, LogOut, UserCircle } from 'lucide-react'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@components/ui/dropdown-menu'\nimport {\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@components/ui/sidebar'\n\nexport function NavUser({\n user,\n}: {\n user: {\n name: string\n email: string\n avatar: string\n }\n}) {\n const { isMobile } = useSidebar()\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"h-8 w-8 rounded-lg grayscale\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"text-muted-foreground truncate text-xs\">\n {user.email}\n </span>\n </div>\n <Dot className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={user.avatar} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">CN</AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"text-muted-foreground truncate text-xs\">\n {user.email}\n </span>\n </div>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuGroup>\n <DropdownMenuItem>\n <UserCircle />\n Account\n </DropdownMenuItem>\n <DropdownMenuItem>\n <CreditCard />\n Billing\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Bell />\n Notifications\n </DropdownMenuItem>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <LogOut />\n Log out\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n )\n}\n","'use client'\n\nimport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarHeader,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@components/ui/sidebar'\n\nimport { ThemedTitle as DefaultTitle } from '@components/themed-layout/title'\nimport { NavMain } from '@components/themed-layout/sider/nav-main'\nimport { NavUser } from '@components/themed-layout/sider/nav-user'\nimport type { RefineThemedLayoutSiderProps } from '@components/themed-layout/types'\n\nconst data = {\n user: {\n name: 'shadcn',\n email: 'm@example.com',\n avatar: '/avatars/shadcn.jpg',\n },\n}\n\ninterface ThemedSiderProps\n extends RefineThemedLayoutSiderProps, React.ComponentProps<typeof Sidebar> {}\n\nexport function ThemedSider({\n Title: TitleFromProps,\n render,\n meta,\n activeItemDisabled = false,\n siderItemsAreCollapsed = true,\n ...rest\n}: ThemedSiderProps) {\n const RenderToTitle = TitleFromProps ?? DefaultTitle\n const { state } = useSidebar()\n const isCollapsed = state === 'collapsed'\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton\n asChild\n className=\"data-[slot=sidebar-menu-button]:!p-1.5\"\n >\n <RenderToTitle collapsed={isCollapsed} />\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarHeader>\n <SidebarContent>\n <NavMain meta={meta} activeItemDisabled={activeItemDisabled} />\n </SidebarContent>\n <SidebarFooter>\n <NavUser user={data.user} />\n </SidebarFooter>\n </Sidebar>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { ThemeProvider as NextThemesProvider } from 'next-themes'\n\nexport function ThemeProvider({\n children,\n ...props\n}: React.ComponentProps<typeof NextThemesProvider>) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","import { ThemeProvider } from '@components/ui/theme-provider'\nimport type { ThemeProviderProps } from 'next-themes'\n\nexport interface ThemedLayoutContext extends ThemeProviderProps {}\n\nexport const ThemedLayoutContextProvider = ({\n children,\n ...rest\n}: ThemedLayoutContext) => {\n return (\n <ThemeProvider\n attribute=\"data-theme\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...rest}\n >\n {children}\n </ThemeProvider>\n )\n}\n","import { SidebarInset, SidebarProvider } from '@components/ui/sidebar'\n\nimport { ThemedHeader as DefaultHeader } from '@components/themed-layout/header'\nimport { ThemedSider as DefaultSider } from '@components/themed-layout/sider'\nimport type { RefineThemedLayoutProps } from '@components/themed-layout/types'\nimport { ThemedLayoutContextProvider } from '@contexts/themed-layout-context'\n\nexport const ThemedLayout = ({\n Sider,\n Header,\n Title,\n Footer,\n OffLayoutArea,\n children,\n initialSiderCollapsed,\n onSiderCollapsed,\n}: RefineThemedLayoutProps) => {\n const SiderToRender = Sider ?? DefaultSider\n const HeaderToRender = Header ?? DefaultHeader\n\n return (\n <ThemedLayoutContextProvider>\n <SidebarProvider\n defaultOpen={\n initialSiderCollapsed !== undefined ? !initialSiderCollapsed : true\n }\n onOpenChange={\n onSiderCollapsed ? (open) => onSiderCollapsed(!open) : undefined\n }\n style={\n {\n '--sidebar-width': 'calc(var(--spacing) * 72)',\n '--header-height': 'calc(var(--spacing) * 12)',\n } as React.CSSProperties\n }\n >\n <SiderToRender Title={Title} />\n <SidebarInset>\n <HeaderToRender />\n <div className=\"flex flex-1 flex-col gap-4 p-4 pt-0\">{children}</div>\n </SidebarInset>\n </SidebarProvider>\n </ThemedLayoutContextProvider>\n )\n}\n","export const RefineButtonTestIds = {\n CloneButton: \"refine-clone-button\",\n DeleteButton: \"refine-delete-button\",\n EditButton: \"refine-edit-button\",\n SaveButton: \"refine-save-button\",\n CreateButton: \"refine-create-button\",\n ImportButton: \"refine-import-button\",\n ExportButton: \"refine-export-button\",\n ListButton: \"refine-list-button\",\n RefreshButton: \"refine-refresh-button\",\n ShowButton: \"refine-show-button\",\n};\n","export const RefinePageHeaderClassNames = {\n Title: \"refine-pageHeader-title\",\n SubTitle: \"refine-pageHeader-subTitle\",\n};\n\nexport const RefineButtonClassNames = {\n CloneButton: \"refine-clone-button\",\n DeleteButton: \"refine-delete-button\",\n EditButton: \"refine-edit-button\",\n SaveButton: \"refine-save-button\",\n CreateButton: \"refine-create-button\",\n ImportButton: \"refine-import-button\",\n ExportButton: \"refine-export-button\",\n ListButton: \"refine-list-button\",\n RefreshButton: \"refine-refresh-button\",\n ShowButton: \"refine-show-button\",\n};\n","import React from 'react'\nimport {\n useTranslate,\n useUserFriendlyName,\n useRefineContext,\n useResourceParams,\n} from '@refinedev/core'\n\nimport { CreateButton, Breadcrumb, type CreateButtonProps } from '@components'\nimport { RefinePageHeaderClassNames } from '@refinedev/ui-types'\nimport type { ListProps } from '@components/crud/types'\nimport { cn } from '@lib/utils'\n\nexport const List = (props: ListProps) => {\n const {\n canCreate,\n children,\n createButtonProps: createButtonPropsFromProps,\n resource: resourceFromProps,\n wrapperProps,\n contentProps,\n headerProps,\n headerButtonProps,\n headerButtons: headerButtonsFromProps,\n breadcrumb: breadcrumbFromProps,\n title,\n } = props\n const translate = useTranslate()\n const { options: { breadcrumb: globalBreadcrumb } = {} } = useRefineContext()\n\n const getUserFriendlyName = useUserFriendlyName()\n\n const { resource, identifier } = useResourceParams({\n resource: resourceFromProps,\n })\n\n const isCreateButtonVisible =\n canCreate ?? (!!resource?.create || createButtonPropsFromProps)\n\n const breadcrumb =\n typeof breadcrumbFromProps === 'undefined'\n ? globalBreadcrumb\n : breadcrumbFromProps\n\n const createButtonProps: CreateButtonProps | undefined = isCreateButtonVisible\n ? {\n resource: identifier,\n ...createButtonPropsFromProps,\n }\n : undefined\n\n const defaultHeaderButtons = isCreateButtonVisible ? (\n <CreateButton {...createButtonProps} />\n ) : null\n\n const headerButtons = headerButtonsFromProps\n ? typeof headerButtonsFromProps === 'function'\n ? headerButtonsFromProps({\n defaultButtons: defaultHeaderButtons,\n createButtonProps,\n })\n : headerButtonsFromProps\n : defaultHeaderButtons\n\n const renderTitle = () => {\n if (title === false) return null\n\n if (title) {\n if (typeof title === 'string' || typeof title === 'number') {\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {title}\n </h3>\n )\n }\n\n return title\n }\n\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {translate(\n `${identifier}.titles.list`,\n getUserFriendlyName(resource?.meta?.label ?? identifier, 'plural')\n )}\n </h3>\n )\n }\n\n return (\n <div className={cn('bg-background rounded-md px-4 py-3')} {...wrapperProps}>\n <div\n className={cn(\n 'mb-3 flex flex-wrap items-center justify-between gap-3 md:flex-nowrap'\n )}\n {...headerProps}\n >\n <div className=\"min-w-[200px]\">\n {typeof breadcrumb !== 'undefined' ? (\n <>{breadcrumb}</>\n ) : (\n <Breadcrumb />\n )}\n {renderTitle()}\n </div>\n <div\n className={cn('flex flex-wrap justify-start gap-2 md:justify-end')}\n {...headerButtonProps}\n >\n {headerButtons}\n </div>\n </div>\n <div {...contentProps}>{children}</div>\n </div>\n )\n}\n","import {\n useTranslate,\n useUserFriendlyName,\n useRefineContext,\n useResourceParams,\n useBack,\n} from '@refinedev/core'\nimport { ArrowLeft, Loader2 } from 'lucide-react'\n\nimport type {\n CreateProps} from '@components';\nimport {\n Breadcrumb,\n SaveButton,\n type SaveButtonProps,\n} from '@components'\nimport { RefinePageHeaderClassNames } from '@refinedev/ui-types'\nimport { Button } from '@components/ui/button'\nimport { cn } from '@lib/utils'\n\nexport const Create = (props: CreateProps) => {\n const {\n children,\n saveButtonProps: saveButtonPropsFromProps,\n isLoading,\n resource: resourceFromProps,\n footerButtons: footerButtonsFromProps,\n footerButtonProps,\n headerButtons: headerButtonsFromProps,\n headerButtonProps,\n wrapperProps,\n contentProps,\n headerProps,\n goBack: goBackFromProps,\n breadcrumb: breadcrumbFromProps,\n title,\n } = props\n const translate = useTranslate()\n const { options: { breadcrumb: globalBreadcrumb } = {} } = useRefineContext()\n\n const back = useBack()\n const getUserFriendlyName = useUserFriendlyName()\n const { resource, action, identifier } = useResourceParams()\n\n const breadcrumb =\n typeof breadcrumbFromProps === 'undefined'\n ? globalBreadcrumb\n : breadcrumbFromProps\n\n const saveButtonProps: SaveButtonProps = {\n ...(isLoading ? { disabled: true } : {}),\n ...saveButtonPropsFromProps,\n }\n\n const defaultFooterButtons = <SaveButton {...saveButtonProps} />\n\n const buttonBack =\n goBackFromProps === (false || null) ? null : (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={\n action !== 'list' || typeof action !== 'undefined' ? back : undefined\n }\n >\n {typeof goBackFromProps !== 'undefined' ? (\n goBackFromProps\n ) : (\n <ArrowLeft className=\"h-4 w-4\" />\n )}\n </Button>\n )\n\n const headerButtons = headerButtonsFromProps\n ? typeof headerButtonsFromProps === 'function'\n ? headerButtonsFromProps({\n defaultButtons: null,\n })\n : headerButtonsFromProps\n : null\n\n const footerButtons = footerButtonsFromProps\n ? typeof footerButtonsFromProps === 'function'\n ? footerButtonsFromProps({\n defaultButtons: defaultFooterButtons,\n saveButtonProps,\n })\n : footerButtonsFromProps\n : defaultFooterButtons\n\n const renderTitle = () => {\n if (title === false) return null\n\n if (title) {\n if (typeof title === 'string' || typeof title === 'number') {\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {title}\n </h3>\n )\n }\n\n return title\n }\n\n return (\n <h3\n className={cn(\n 'text-2xl font-semibold',\n RefinePageHeaderClassNames.Title\n )}\n >\n {translate(\n `${identifier}.titles.create`,\n `Create ${getUserFriendlyName(\n resource?.meta?.label ?? identifier,\n 'singular'\n )}`\n )}\n </h3>\n )\n }\n\n return (\n <div\n className={cn('bg-background relative rounded-md px-4 py-3')}\n {...wrapperProps}\n >\n {isLoading && (\n <div className=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\">\n <Loader2 className=\"h-6 w-6 animate-spin\" />\n </div>\n )}\n <div\n className={cn(\n 'mb-3 flex flex-wrap items-center justify-between gap-3 md:flex-nowrap'\n )}\n {...headerProps}\n >\n <div className=\"min-w-[200px]\">\n {typeof breadcrumb !== 'undefined' ? (\n <>{breadcrumb}</>\n ) : (\n <Breadcrumb />\n )}\n <div className=\"flex items-center gap-2\">\n {buttonBack}\n {renderTitle()}\n </div>\n </div>\n <div\n className={cn('flex flex-wrap justify-start gap-2 md:justify-end')}\n {...headerButtonProps}\n >\n {headerButtons}\n </div>\n </div>\n <div className={cn(isLoading && 'opacity-50')} {...contentProps}>\n {children}\n </div>\n <div className={cn('mt-8 flex justify-end gap-2')} {...footerButtonProps}>\n {footerButtons}\n </div>\n </div>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { CreateButtonProps } from '@components/buttons/types'\nimport { PlusSquare } from 'lucide-react'\nimport React from 'react'\nimport { useCreateButton } from '@refinedev/core'\n\nexport const CreateButton = ({\n resource: resourceNameFromProps,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: CreateButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useCreateButton(\n {\n resource: resourceNameFromProps,\n meta,\n accessControl,\n }\n )\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.CreateButton}\n className={RefineButtonClassNames.CreateButton}\n {...rest}\n >\n <PlusSquare /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { EditButtonProps } from '@components/buttons/types'\nimport { FolderDown } from 'lucide-react'\nimport React from 'react'\nimport { useEditButton } from '@refinedev/core'\n\nexport const EditButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: EditButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useEditButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.EditButton}\n className={RefineButtonClassNames.EditButton}\n {...rest}\n >\n <FolderDown /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","'use client'\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","import { Popover, PopoverContent, PopoverTrigger } from '@components/ui/popover'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { DeleteButtonProps } from '@components/buttons/types'\nimport { Trash } from 'lucide-react'\nimport { useDeleteButton } from '@refinedev/core'\nimport { useState } from 'react'\n\nexport const DeleteButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n onSuccess,\n mutationMode: mutationModeProp,\n children,\n successNotification,\n errorNotification,\n hideText = false,\n accessControl,\n meta,\n invalidates,\n dataProviderName,\n confirmTitle,\n confirmOkText,\n confirmCancelText,\n ...rest\n}: DeleteButtonProps) => {\n const [open, setOpen] = useState(false)\n const {\n onConfirm,\n label,\n title,\n disabled,\n hidden,\n loading,\n confirmTitle: defaultConfirmTitle,\n confirmOkLabel: defaultConfirmOkLabel,\n cancelLabel: defaultCancelLabel,\n } = useDeleteButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n onSuccess,\n mutationMode: mutationModeProp,\n successNotification,\n errorNotification,\n accessControl,\n meta,\n dataProviderName,\n invalidates,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.DeleteButton}\n className={RefineButtonClassNames.DeleteButton}\n {...rest}\n >\n <Trash /> {!hideText && (children ?? label)}\n </Button>\n </PopoverTrigger>\n <PopoverContent>\n {confirmTitle ?? defaultConfirmTitle}\n <div className=\"gap-x-2\">\n <Button onClick={() => setOpen(false)}>\n {confirmCancelText ?? defaultCancelLabel}\n </Button>\n <Button\n onClick={() => {\n onConfirm()\n setOpen(false)\n }}\n >\n {confirmOkText ?? defaultConfirmOkLabel}\n </Button>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { RefreshButtonProps } from '@components/buttons/types'\nimport { RefreshCcw } from 'lucide-react'\nimport { useRefreshButton } from '@refinedev/core'\n\nexport const RefreshButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n dataProviderName,\n children,\n ...rest\n}: RefreshButtonProps) => {\n const {\n onClick: onRefresh,\n label,\n loading,\n } = useRefreshButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n dataProviderName,\n })\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n onClick={onRefresh}\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.RefreshButton}\n className={RefineButtonClassNames.RefreshButton}\n {...rest}\n >\n <RefreshCcw /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import { Eye, Pencil, PlusSquare } from 'lucide-react'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\nimport { useEditButton, useShowButton } from '@refinedev/core'\n\nimport { Button } from '@components/ui/button'\nimport React from 'react'\nimport type { ShowButtonProps } from '@components/buttons/types'\n\nexport const ShowButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: ShowButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useShowButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.ShowButton}\n className={RefineButtonClassNames.ShowButton}\n {...rest}\n >\n <Eye /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { List } from 'lucide-react'\nimport type { ListButtonProps } from '@components/buttons/types'\nimport React from 'react'\nimport { useListButton } from '@refinedev/core'\n\nexport const ListButton = ({\n resource: resourceNameFromProps,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: ListButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useListButton({\n resource: resourceNameFromProps,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.ListButton}\n className={RefineButtonClassNames.ListButton}\n {...rest}\n >\n <List /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { FolderUp } from 'lucide-react'\nimport type { ImportButtonProps } from '@components/buttons/types'\nimport { useExportButton } from '@refinedev/core'\n\nexport const ExportButton = ({\n hideText = false,\n loading = false,\n children,\n ...rest\n}: ImportButtonProps) => {\n const { label } = useExportButton()\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.ExportButton}\n className={RefineButtonClassNames.ExportButton}\n {...rest}\n >\n <FolderUp /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport { Save } from 'lucide-react'\nimport type { SaveButtonProps } from '@components/buttons/types'\nimport { useSaveButton } from '@refinedev/core'\n\nexport const SaveButton = ({\n hideText = false,\n children,\n ...rest\n}: SaveButtonProps) => {\n const { label } = useSaveButton()\n\n return (\n <Button\n data-testid={RefineButtonTestIds.SaveButton}\n className={RefineButtonClassNames.SaveButton}\n {...rest}\n >\n <Save /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import { Copy, PlusSquare } from 'lucide-react'\nimport {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { CloneButtonProps } from '@components/buttons/types'\nimport React from 'react'\nimport { useCloneButton } from '@refinedev/core'\n\nexport const CloneButton = ({\n resource: resourceNameFromProps,\n recordItemId,\n hideText = false,\n accessControl,\n meta,\n children,\n onClick,\n ...rest\n}: CloneButtonProps) => {\n const { hidden, disabled, label, title, LinkComponent, to } = useCloneButton({\n resource: resourceNameFromProps,\n id: recordItemId,\n meta,\n accessControl,\n })\n\n const isDisabled = disabled || rest.disabled\n const isHidden = hidden || rest.hidden\n\n if (isHidden) return null\n\n return (\n <LinkComponent\n to={to}\n replace={false}\n onClick={(e: React.PointerEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault()\n return\n }\n if (onClick) {\n e.preventDefault()\n onClick(e)\n }\n }}\n >\n <Button\n disabled={isDisabled}\n title={title}\n data-testid={RefineButtonTestIds.CloneButton}\n className={RefineButtonClassNames.CloneButton}\n {...rest}\n >\n <Copy /> {!hideText && (children ?? label)}\n </Button>\n </LinkComponent>\n )\n}\n","import {\n RefineButtonClassNames,\n RefineButtonTestIds,\n} from '@refinedev/ui-types'\n\nimport { Button } from '@components/ui/button'\nimport type { ImportButtonProps } from '@components/buttons/types'\nimport { PlusSquare } from 'lucide-react'\nimport { useImportButton } from '@refinedev/core'\n\nexport const ImportButton = ({\n inputProps,\n hideText = false,\n loading = false,\n children,\n ...rest\n}: ImportButtonProps) => {\n const { label } = useImportButton()\n\n const isDisabled = loading || rest.disabled\n\n return (\n <Button\n disabled={isDisabled}\n data-testid={RefineButtonTestIds.ImportButton}\n className={RefineButtonClassNames.ImportButton}\n {...rest}\n >\n <PlusSquare /> {!hideText && (children ?? label)}\n </Button>\n )\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@lib/utils'\n\nconst textVariants = cva('text-foreground', {\n variants: {\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nexport interface TextProps\n extends\n React.HTMLAttributes<HTMLSpanElement>,\n VariantProps<typeof textVariants> {\n asChild?: boolean\n}\n\nexport const Text = React.forwardRef<HTMLSpanElement, TextProps>(\n ({ className, size, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : 'span'\n return (\n <Comp\n ref={ref}\n className={cn(textVariants({ size }), className)}\n {...props}\n />\n )\n }\n)\nText.displayName = 'Text'\n","import { Text } from '@components/ui/text'\nimport type { TextFieldProps } from '@components/fields/types'\n\nexport const TextField = ({ value, ...rest }: TextFieldProps) => {\n return <Text {...rest}>{value}</Text>\n}\n","import { Check, Minus } from 'lucide-react'\n\nimport type { BooleanFieldProps } from '@components/fields/types'\nimport { Tooltip } from '@components/ui/tooltip'\n\nexport const BooleanField = ({\n value,\n valueLabelTrue = 'true',\n valueLabelFalse = 'false',\n trueIcon,\n falseIcon,\n svgIconProps,\n ...rest\n}: BooleanFieldProps) => {\n return (\n <Tooltip {...rest}>\n <span>\n {value\n ? (trueIcon ?? (\n <Check\n size={20}\n {...svgIconProps}\n className={`icon-check${svgIconProps?.className ? ` ${svgIconProps.className}` : ''}`}\n />\n ))\n : (falseIcon ?? (\n <Minus\n size={20}\n {...svgIconProps}\n className={`icon-minus${svgIconProps?.className ? ` ${svgIconProps.className}` : ''}`}\n />\n ))}\n </span>\n </Tooltip>\n )\n}\n","import type { NumberFieldProps } from '@components/fields/types'\nimport { Text } from '@components/ui/text'\n\nfunction toLocaleStringSupportsOptions() {\n return !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n )\n}\n\nexport const NumberField = ({\n value,\n locale,\n options,\n ...rest\n}: NumberFieldProps) => {\n const number = Number(value)\n\n return (\n <Text {...rest}>\n {toLocaleStringSupportsOptions()\n ? number.toLocaleString(locale, options)\n : number}\n </Text>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { useGo, useResourceParams, useTranslate } from '@refinedev/core'\n\nimport { Button } from '@components/ui/button'\n\nexport const ErrorComponent = () => {\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [showTip, setShowTip] = useState(false)\n const translate = useTranslate()\n const go = useGo()\n const { action, resource } = useResourceParams()\n\n useEffect(() => {\n if (resource && action) {\n setErrorMessage(\n translate(\n 'pages.error.info',\n { resource: resource.name, action },\n `You attempted to perform the \"${action}\" action on the \"${resource.name}\" resource, but an error occurred.`\n )\n )\n }\n }, [resource, action, translate])\n\n return (\n <div>\n <h1>404</h1>\n <p>\n {translate(\n 'pages.error.404',\n 'Sorry, the page you visited does not exist.'\n )}\n </p>\n {errorMessage && <p>{errorMessage}</p>}\n {resource && action && ['create', 'edit', 'show'].includes(action) && (\n <div>\n <span\n data-testid=\"error-component-tooltip\"\n onMouseOver={() => setShowTip(true)}\n onMouseOut={() => setShowTip(false)}\n />\n {showTip && (\n <p>\n {translate(\n 'pages.error.tipKnownActionMissing',\n { resource: resource.name, action },\n `You may have forgotten to add the \"${action}\" component to \"${resource.name}\" resource.`\n )}\n </p>\n )}\n </div>\n )}\n <Button\n onClick={() => {\n go({ to: '/' })\n }}\n >\n {translate('pages.error.backHome', 'Back Home')}\n </Button>\n </div>\n )\n}\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","export default (value: unknown): value is Date => value instanceof Date;\n","export default (value: unknown): value is null | undefined => value == null;\n","import isDateObject from './isDateObject';\nimport isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown): value is object =>\n typeof value === 'object';\n\nexport default <T extends object>(value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n","import isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isObject from '../utils/isObject';\n\ntype Event = { target: any };\n\nexport default (event: unknown) =>\n isObject(event) && (event as Event).target\n ? isCheckBoxInput((event as Event).target)\n ? (event as Event).target.checked\n : (event as Event).target.value\n : event;\n","export default (name: string) =>\n name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n","import type { InternalFieldName } from '../types';\n\nimport getNodeParentName from './getNodeParentName';\n\nexport default (names: Set<InternalFieldName>, name: InternalFieldName) =>\n names.has(getNodeParentName(name));\n","import isObject from './isObject';\n\nexport default (tempObject: object) => {\n const prototypeCopy =\n tempObject.constructor && tempObject.constructor.prototype;\n\n return (\n isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf')\n );\n};\n","export default typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n","import isObject from './isObject';\nimport isPlainObject from './isPlainObject';\nimport isWeb from './isWeb';\n\nexport default function cloneObject<T>(data: T): T {\n let copy: any;\n const isArray = Array.isArray(data);\n const isFileListInstance =\n typeof FileList !== 'undefined' ? data instanceof FileList : false;\n\n if (data instanceof Date) {\n copy = new Date(data);\n } else if (\n !(isWeb && (data instanceof Blob || isFileListInstance)) &&\n (isArray || isObject(data))\n ) {\n copy = isArray ? [] : Object.create(Object.getPrototypeOf(data));\n\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n } else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n } else {\n return data;\n }\n\n return copy;\n}\n","export default (value: string) => /^\\w*$/.test(value);\n","export default (val: unknown): val is undefined => val === undefined;\n","export default <TValue>(value: TValue[]) =>\n Array.isArray(value) ? value.filter(Boolean) : [];\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n","import isKey from './isKey';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nexport default <T>(\n object: T,\n path?: string | null,\n defaultValue?: unknown,\n): any => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n\n const result = (isKey(path) ? [path] : stringToPath(path)).reduce(\n (result, key) =>\n isNullOrUndefined(result) ? result : result[key as keyof T & object],\n object,\n );\n\n return isUndefined(result) || result === object\n ? isUndefined(object[path as keyof T])\n ? defaultValue\n : object[path as keyof T]\n : result;\n};\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import type { FieldPath, FieldValues } from '../types';\n\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport stringToPath from './stringToPath';\n\nexport default (\n object: FieldValues,\n path: FieldPath<FieldValues>,\n value?: unknown,\n) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return;\n }\n\n object[key] = newValue;\n object = object[key];\n }\n};\n","export const EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n} as const;\n\nexport const VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n} as const;\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n} as const;\n","import React from 'react';\n\nimport type { FieldValues, FormProviderProps, UseFormReturn } from './types';\n\nconst HookFormContext = React.createContext<UseFormReturn | null>(null);\nHookFormContext.displayName = 'HookFormContext';\n\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nexport const useFormContext = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(): UseFormReturn<TFieldValues, TContext, TTransformedValues> =>\n React.useContext(HookFormContext) as UseFormReturn<\n TFieldValues,\n TContext,\n TTransformedValues\n >;\n\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://react.dev/reference/react/useContext) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nexport const FormProvider = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: FormProviderProps<TFieldValues, TContext, TTransformedValues>,\n) => {\n const { children, ...data } = props;\n return (\n <HookFormContext.Provider value={data as unknown as UseFormReturn}>\n {children}\n </HookFormContext.Provider>\n );\n};\n","import { VALIDATION_MODE } from '../constants';\nimport type { Control, FieldValues, FormState, ReadFormState } from '../types';\n\nexport default <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n formState: FormState<TFieldValues>,\n control: Control<TFieldValues, TContext, TTransformedValues>,\n localProxyFormState?: ReadFormState,\n isRoot = true,\n) => {\n const result = {\n defaultValues: control._defaultValues,\n } as typeof formState;\n\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key as keyof FormState<TFieldValues> & keyof ReadFormState;\n\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n\n return result;\n};\n","import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","export default (value: unknown): value is string => typeof value === 'string';\n","import type { DeepPartial, FieldValues, Names } from '../types';\nimport get from '../utils/get';\nimport isString from '../utils/isString';\n\nexport default <T>(\n names: string | string[] | undefined,\n _names: Names,\n formValues?: FieldValues,\n isGlobal?: boolean,\n defaultValue?: DeepPartial<T> | unknown,\n) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n\n if (Array.isArray(names)) {\n return names.map(\n (fieldName) => (\n isGlobal && _names.watch.add(fieldName),\n get(formValues, fieldName)\n ),\n );\n }\n\n isGlobal && (_names.watchAll = true);\n\n return formValues;\n};\n","import type { Primitive } from '../types';\n\nimport isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isDateObject from './isDateObject';\nimport isObject from './isObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(\n object1: any,\n object2: any,\n _internal_visited = new WeakSet(),\n) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return Object.is(object1, object2);\n }\n\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n if (_internal_visited.has(object1) || _internal_visited.has(object2)) {\n return true;\n }\n _internal_visited.add(object1);\n _internal_visited.add(object2);\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!keys2.includes(key)) {\n return false;\n }\n\n if (key !== 'ref') {\n const val2 = object2[key];\n\n if (\n (isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2, _internal_visited)\n : !Object.is(val1, val2)\n ) {\n return false;\n }\n }\n }\n\n return true;\n}\n","import type {\n InternalFieldErrors,\n InternalFieldName,\n ValidateResult,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","export default <T>(value: T) => (Array.isArray(value) ? value : [value]);\n","import type { Noop } from '../types';\n\nexport type Observer<T> = {\n next: (value: T) => void;\n};\n\nexport type Subscription = {\n unsubscribe: Noop;\n};\n\nexport type Subject<T> = {\n readonly observers: Observer<T>[];\n subscribe: (value: Observer<T>) => Subscription;\n unsubscribe: Noop;\n} & Observer<T>;\n\nexport default <T>(): Subject<T> => {\n let _observers: Observer<T>[] = [];\n\n const next = (value: T) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n\n const subscribe = (observer: Observer<T>): Subscription => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n\n const unsubscribe = () => {\n _observers = [];\n };\n\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n","import isObject from './isObject';\n\nexport default function extractFormValues<\n T extends object,\n K extends Record<string, unknown>,\n>(fieldsState: T, formValues: K) {\n const values: Record<string, unknown> = {};\n\n for (const key in fieldsState) {\n if (fieldsState.hasOwnProperty(key)) {\n const fieldState = fieldsState[key];\n const fieldValue = formValues[key];\n\n if (fieldState && isObject(fieldState) && fieldValue) {\n const nestedFieldsState = extractFormValues(\n fieldState,\n fieldValue as K,\n );\n\n if (isObject(nestedFieldsState)) {\n values[key] = nestedFieldsState;\n }\n } else if (fieldsState[key]) {\n values[key] = fieldValue;\n }\n }\n }\n\n return values;\n}\n","import type { EmptyObject } from '../types';\n\nimport isObject from './isObject';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import isWeb from './isWeb';\n\nexport default (value: unknown): value is HTMLElement => {\n if (!isWeb) {\n return false;\n }\n\n const owner = value ? ((value as HTMLElement).ownerDocument as Document) : 0;\n return (\n value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement)\n );\n};\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `select-multiple`;\n","import type { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import type { FieldElement } from '../types';\n\nimport isCheckBoxInput from './isCheckBoxInput';\nimport isRadioInput from './isRadioInput';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import type { Ref } from '../types';\n\nimport isHTMLElement from './isHTMLElement';\n\nexport default (ref: Ref) => isHTMLElement(ref) && ref.isConnected;\n","import isEmptyObject from './isEmptyObject';\nimport isKey from './isKey';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport stringToPath from './stringToPath';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nfunction isEmptyArray(obj: unknown[]) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\n\nexport default function unset(object: any, path: string | (string | number)[]) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n\n const index = paths.length - 1;\n const key = paths[index];\n\n if (childObject) {\n delete childObject[key];\n }\n\n if (\n index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))\n ) {\n unset(object, paths.slice(0, -1));\n }\n\n return object;\n}\n","import isFunction from './isFunction';\n\nexport default <T>(data: T): boolean => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n","import deepEqual from '../utils/deepEqual';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\nimport isUndefined from '../utils/isUndefined';\nimport objectHasFunction from '../utils/objectHasFunction';\n\nfunction isTraversable(value: any): boolean {\n return Array.isArray(value) || (isObject(value) && !objectHasFunction(value));\n}\n\nfunction markFieldsDirty<T>(data: T, fields: Record<string, any> = {}) {\n for (const key in data) {\n const value = data[key];\n\n if (isTraversable(value)) {\n fields[key] = Array.isArray(value) ? [] : {};\n markFieldsDirty(value, fields[key]);\n } else if (!isUndefined(value)) {\n fields[key] = true;\n }\n }\n\n return fields;\n}\n\nexport default function getDirtyFields<T>(\n data: T,\n formValues: T,\n dirtyFieldsFromValues?: Record<\n Extract<keyof T, string>,\n ReturnType<typeof markFieldsDirty> | boolean\n >,\n) {\n if (!dirtyFieldsFromValues) {\n dirtyFieldsFromValues = markFieldsDirty(formValues);\n }\n\n for (const key in data) {\n const value = data[key];\n\n if (isTraversable(value)) {\n if (isUndefined(formValues) || isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = markFieldsDirty(\n value,\n Array.isArray(value) ? [] : {},\n );\n } else {\n getDirtyFields(\n value,\n isNullOrUndefined(formValues) ? {} : formValues[key],\n dirtyFieldsFromValues[key],\n );\n }\n } else {\n const formValue = formValues[key];\n dirtyFieldsFromValues[key] = !deepEqual(value, formValue);\n }\n }\n\n return dirtyFieldsFromValues;\n}\n","import isUndefined from '../utils/isUndefined';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean | undefined;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: HTMLInputElement[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import type { Field, NativeFieldValue } from '../types';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nexport default <T extends NativeFieldValue>(\n value: T,\n { valueAsNumber, valueAsDate, setValueAs }: Field['_f'],\n) =>\n isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n","type RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: HTMLInputElement[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","import type { Field } from '../types';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isFileInput from '../utils/isFileInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isRadioInput from '../utils/isRadioInput';\nimport isUndefined from '../utils/isUndefined';\n\nimport getCheckboxValue from './getCheckboxValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getRadioValue from './getRadioValue';\n\nexport default function getFieldValue(_f: Field['_f']) {\n const ref = _f.ref;\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n","import type {\n CriteriaMode,\n Field,\n FieldName,\n FieldRefs,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport { get } from '../utils';\nimport set from '../utils/set';\n\nexport default <TFieldValues extends FieldValues>(\n fieldsNames: Set<InternalFieldName> | InternalFieldName[],\n _fields: FieldRefs,\n criteriaMode?: CriteriaMode,\n shouldUseNativeValidation?: boolean | undefined,\n) => {\n const fields: Record<InternalFieldName, Field['_f']> = {};\n\n for (const name of fieldsNames) {\n const field: Field = get(_fields, name);\n\n field && set(fields, name, field._f);\n }\n\n return {\n criteriaMode,\n names: [...fieldsNames] as FieldName<TFieldValues>[],\n fields,\n shouldUseNativeValidation,\n };\n};\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import type {\n ValidationRule,\n ValidationValue,\n ValidationValueMessage,\n} from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport isUndefined from '../utils/isUndefined';\n\nexport default <T extends ValidationValue>(\n rule?: ValidationRule<T> | ValidationValueMessage<T>,\n) =>\n isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n","import { VALIDATION_MODE } from '../constants';\nimport type { Mode, ValidationModeFlags } from '../types';\n\nexport default (mode?: Mode): ValidationModeFlags => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","import type { Field, Validate } from '../types';\nimport isFunction from '../utils/isFunction';\nimport isObject from '../utils/isObject';\n\nconst ASYNC_FUNCTION = 'AsyncFunction';\n\nexport default (fieldReference: Field['_f']) =>\n !!fieldReference &&\n !!fieldReference.validate &&\n !!(\n (isFunction(fieldReference.validate) &&\n fieldReference.validate.constructor.name === ASYNC_FUNCTION) ||\n (isObject(fieldReference.validate) &&\n Object.values(fieldReference.validate).find(\n (validateFunction: Validate<unknown, unknown>) =>\n validateFunction.constructor.name === ASYNC_FUNCTION,\n ))\n );\n","import type { Field } from '../types';\n\nexport default (options: Field['_f']) =>\n options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n","import type { InternalFieldName, Names } from '../types';\n\nexport default (\n name: InternalFieldName,\n _names: Names,\n isBlurEvent?: boolean,\n) =>\n !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some(\n (watchName) =>\n name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length)),\n ));\n","import type { FieldRefs, InternalFieldName, Ref } from '../types';\nimport { get } from '../utils';\nimport isObject from '../utils/isObject';\n\nconst iterateFieldsByAction = (\n fields: FieldRefs,\n action: (ref: Ref, name: string) => 1 | undefined | void,\n fieldsNames?: Set<InternalFieldName> | InternalFieldName[] | 0,\n abortEarly?: boolean,\n) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n\n if (field) {\n const { _f, ...currentField } = field;\n\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n return true;\n } else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n return true;\n } else {\n if (iterateFieldsByAction(currentField, action)) {\n break;\n }\n }\n } else if (isObject(currentField)) {\n if (iterateFieldsByAction(currentField as FieldRefs, action)) {\n break;\n }\n }\n }\n }\n return;\n};\nexport default iterateFieldsByAction;\n","import type { FieldError, FieldErrors, FieldValues } from '../types';\nimport get from '../utils/get';\nimport isKey from '../utils/isKey';\n\nexport default function schemaErrorLookup<T extends FieldValues = FieldValues>(\n errors: FieldErrors<T>,\n _fields: FieldValues,\n name: string,\n): {\n error?: FieldError;\n name: string;\n} {\n const error = get(errors, name);\n\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n\n const names = name.split('.');\n\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n\n if (foundError && foundError.root && foundError.root.type) {\n return {\n name: `${fieldName}.root`,\n error: foundError.root,\n };\n }\n\n names.pop();\n }\n\n return {\n name,\n };\n}\n","import { VALIDATION_MODE } from '../constants';\nimport type {\n FieldValues,\n FormState,\n InternalFieldName,\n ReadFormState,\n} from '../types';\nimport isEmptyObject from '../utils/isEmptyObject';\n\nexport default <T extends FieldValues, K extends ReadFormState>(\n formStateData: Partial<FormState<T>> & {\n name?: InternalFieldName;\n values?: T;\n },\n _proxyFormState: K,\n updateFormState: (formState: Partial<FormState<T>>) => void,\n isRoot?: boolean,\n) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n\n return (\n isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find(\n (key) =>\n _proxyFormState[key as keyof ReadFormState] ===\n (!isRoot || VALIDATION_MODE.all),\n )\n );\n};\n","import convertToArrayPayload from '../utils/convertToArrayPayload';\n\nexport default <T extends string | readonly string[] | undefined>(\n name?: T,\n signalName?: string,\n exact?: boolean,\n) =>\n !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some(\n (currentName) =>\n currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)),\n );\n","import type { ValidationModeFlags } from '../types';\n\nexport default (\n isBlurEvent: boolean,\n isTouched: boolean,\n isSubmitted: boolean,\n reValidateMode: {\n isOnBlur: boolean;\n isOnChange: boolean;\n },\n mode: Partial<ValidationModeFlags>,\n) => {\n if (mode.isOnAll) {\n return false;\n } else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","import compact from '../utils/compact';\nimport get from '../utils/get';\nimport unset from '../utils/unset';\n\nexport default <T>(ref: T, name: string) =>\n !compact(get(ref, name)).length && unset(ref, name);\n","import type {\n FieldError,\n FieldErrors,\n FieldValues,\n InternalFieldName,\n} from '../types';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport get from '../utils/get';\nimport set from '../utils/set';\n\nexport default <T extends FieldValues = FieldValues>(\n errors: FieldErrors<T>,\n error: Partial<Record<string, FieldError>>,\n name: InternalFieldName,\n): FieldErrors<T> => {\n const fieldArrayErrors = convertToArrayPayload(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n","import type { FieldError, Ref, ValidateResult } from '../types';\nimport isBoolean from '../utils/isBoolean';\nimport isString from '../utils/isString';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (\n isString(result) ||\n (Array.isArray(result) && result.every(isString)) ||\n (isBoolean(result) && !result)\n ) {\n return {\n type,\n message: isString(result) ? result : '',\n ref,\n };\n }\n}\n","import type { ValidationRule } from '../types';\nimport isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","import { INPUT_VALIDATION_RULES } from '../constants';\nimport type {\n Field,\n FieldError,\n FieldValues,\n InternalFieldErrors,\n InternalNameSet,\n MaxType,\n Message,\n MinType,\n NativeFieldValue,\n} from '../types';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioInput from '../utils/isRadioInput';\nimport isRegex from '../utils/isRegex';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\n\nimport appendErrors from './appendErrors';\nimport getCheckboxValue from './getCheckboxValue';\nimport getRadioValue from './getRadioValue';\nimport getValidateError from './getValidateError';\nimport getValueAndMessage from './getValueAndMessage';\n\nexport default async <T extends FieldValues>(\n field: Field,\n disabledFieldNames: InternalNameSet,\n formValues: T,\n validateAllFieldCriteria: boolean,\n shouldUseNativeValidation?: boolean,\n isFieldArray?: boolean,\n): Promise<InternalFieldErrors> => {\n const {\n ref,\n refs,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n name,\n valueAsNumber,\n mount,\n } = field._f;\n const inputValue: NativeFieldValue = get(formValues, name);\n if (!mount || disabledFieldNames.has(name)) {\n return {};\n }\n const inputRef: HTMLInputElement = refs ? refs[0] : (ref as HTMLInputElement);\n const setCustomValidity = (message?: string | boolean) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty =\n ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType: MaxType = INPUT_VALIDATION_RULES.maxLength,\n minType: MinType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n\n if (\n isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))\n ) {\n const { value, message } = isString(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue as number)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(inputValue as string);\n const convertTimeToDate = (time: unknown) =>\n new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (\n (maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))\n ) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name]!.message);\n return error;\n }\n }\n }\n\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateError = getValidateError(\n await validate[key](inputValue, formValues),\n inputRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n setCustomValidity(validateError.message);\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n setCustomValidity(true);\n return error;\n};\n","import { EVENTS, VALIDATION_MODE } from '../constants';\nimport type {\n BatchFieldArrayUpdate,\n ChangeHandler,\n Control,\n DeepPartial,\n DelayCallback,\n EventType,\n Field,\n FieldError,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldPath,\n FieldRefs,\n FieldValues,\n FormState,\n FromSubscribe,\n GetIsDirty,\n GetValuesConfig,\n InternalFieldName,\n Names,\n Path,\n ReadFormState,\n Ref,\n SetFieldValue,\n SetValueConfig,\n Subjects,\n UseFormClearErrors,\n UseFormGetFieldState,\n UseFormGetValues,\n UseFormHandleSubmit,\n UseFormProps,\n UseFormRegister,\n UseFormReset,\n UseFormResetField,\n UseFormReturn,\n UseFormSetError,\n UseFormSetFocus,\n UseFormSetValue,\n UseFormSubscribe,\n UseFormTrigger,\n UseFormUnregister,\n UseFormWatch,\n WatchInternal,\n WatchObserver,\n} from '../types';\nimport cloneObject from '../utils/cloneObject';\nimport compact from '../utils/compact';\nimport convertToArrayPayload from '../utils/convertToArrayPayload';\nimport createSubject from '../utils/createSubject';\nimport deepEqual from '../utils/deepEqual';\nimport extractFormValues from '../utils/extractFormValues';\nimport get from '../utils/get';\nimport isBoolean from '../utils/isBoolean';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDateObject from '../utils/isDateObject';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isFileInput from '../utils/isFileInput';\nimport isFunction from '../utils/isFunction';\nimport isHTMLElement from '../utils/isHTMLElement';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isObject from '../utils/isObject';\nimport isRadioOrCheckbox from '../utils/isRadioOrCheckbox';\nimport isString from '../utils/isString';\nimport isUndefined from '../utils/isUndefined';\nimport isWeb from '../utils/isWeb';\nimport live from '../utils/live';\nimport set from '../utils/set';\nimport unset from '../utils/unset';\n\nimport generateWatchOutput from './generateWatchOutput';\nimport getDirtyFields from './getDirtyFields';\nimport getEventValue from './getEventValue';\nimport getFieldValue from './getFieldValue';\nimport getFieldValueAs from './getFieldValueAs';\nimport getResolverOptions from './getResolverOptions';\nimport getRuleValue from './getRuleValue';\nimport getValidationModes from './getValidationModes';\nimport hasPromiseValidation from './hasPromiseValidation';\nimport hasValidation from './hasValidation';\nimport isNameInFieldArray from './isNameInFieldArray';\nimport isWatched from './isWatched';\nimport iterateFieldsByAction from './iterateFieldsByAction';\nimport schemaErrorLookup from './schemaErrorLookup';\nimport shouldRenderFormState from './shouldRenderFormState';\nimport shouldSubscribeByName from './shouldSubscribeByName';\nimport skipValidation from './skipValidation';\nimport unsetEmptyArray from './unsetEmptyArray';\nimport updateFieldArrayRootError from './updateFieldArrayRootError';\nimport validateField from './validateField';\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n} as const;\n\nexport function createFormControl<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: UseFormProps<TFieldValues, TContext, TTransformedValues> = {},\n): Omit<\n UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n 'formState'\n> & {\n formControl: Omit<\n UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n 'formState'\n >;\n} {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState: FormState<TFieldValues> = {\n submitCount: 0,\n isDirty: false,\n isReady: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields: FieldRefs = {};\n let _defaultValues =\n isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? ({} as TFieldValues)\n : (cloneObject(_defaultValues) as TFieldValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names: Names = {\n mount: new Set(),\n disabled: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback: DelayCallback | null;\n let timer = 0;\n const _proxyFormState: ReadFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n let _proxySubscribeFormState = {\n ..._proxyFormState,\n };\n const _subjects: Subjects<TFieldValues> = {\n array: createSubject(),\n state: createSubject(),\n };\n\n const shouldDisplayAllAssociatedErrors =\n _options.criteriaMode === VALIDATION_MODE.all;\n\n const debounce =\n <T extends Function>(callback: T) =>\n (wait: number) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n\n const _setValid = async (shouldUpdateValid?: boolean) => {\n if (\n !_options.disabled &&\n (_proxyFormState.isValid ||\n _proxySubscribeFormState.isValid ||\n shouldUpdateValid)\n ) {\n const isValid = _options.resolver\n ? isEmptyObject((await _runSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n\n const _updateIsValidating = (names?: string[], isValidating?: boolean) => {\n if (\n !_options.disabled &&\n (_proxyFormState.isValidating ||\n _proxyFormState.validatingFields ||\n _proxySubscribeFormState.isValidating ||\n _proxySubscribeFormState.validatingFields)\n ) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n\n const _setFieldArray: BatchFieldArrayUpdate = (\n name,\n values = [],\n method,\n args,\n shouldSetValues = true,\n shouldUpdateFieldsAndState = true,\n ) => {\n if (args && method && !_options.disabled) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n\n if (\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))\n ) {\n const errors = method(\n get(_formState.errors, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n\n if (\n (_proxyFormState.touchedFields ||\n _proxySubscribeFormState.touchedFields) &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))\n ) {\n const touchedFields = method(\n get(_formState.touchedFields, name),\n args.argA,\n args.argB,\n );\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n\n if (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n } else {\n set(_formValues, name, values);\n }\n };\n\n const updateErrors = (name: InternalFieldName, error: FieldError) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n\n const _setErrors = (errors: FieldErrors<TFieldValues>) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n\n const updateValidAndValue = (\n name: InternalFieldName,\n shouldSkipSetValueAs: boolean,\n value?: unknown,\n ref?: Ref,\n ) => {\n const field: Field = get(_fields, name);\n\n if (field) {\n const defaultValue = get(\n _formValues,\n name,\n isUndefined(value) ? get(_defaultValues, name) : value,\n );\n\n isUndefined(defaultValue) ||\n (ref && (ref as HTMLInputElement).defaultChecked) ||\n shouldSkipSetValueAs\n ? set(\n _formValues,\n name,\n shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f),\n )\n : setFieldValue(name, defaultValue);\n\n _state.mount && !_state.action && _setValid();\n }\n };\n\n const updateTouchAndDirty = (\n name: InternalFieldName,\n fieldValue: unknown,\n isBlurEvent?: boolean,\n shouldDirty?: boolean,\n shouldRender?: boolean,\n ): Partial<\n Pick<FormState<TFieldValues>, 'dirtyFields' | 'isDirty' | 'touchedFields'>\n > => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output: Partial<FormState<TFieldValues>> & { name: string } = {\n name,\n };\n\n if (!_options.disabled) {\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty || _proxySubscribeFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n\n const isCurrentFieldPristine = deepEqual(\n get(_defaultValues, name),\n fieldValue,\n );\n\n isPreviousDirty = !!get(_formState.dirtyFields, name);\n isCurrentFieldPristine\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n ((_proxyFormState.dirtyFields ||\n _proxySubscribeFormState.dirtyFields) &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n ((_proxyFormState.touchedFields ||\n _proxySubscribeFormState.touchedFields) &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n }\n\n return shouldUpdateField ? output : {};\n };\n\n const shouldRenderByError = (\n name: InternalFieldName,\n isValid?: boolean,\n error?: FieldError,\n fieldState?: {\n dirty?: FieldNamesMarkedBoolean<TFieldValues>;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean<TFieldValues>;\n },\n ) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid =\n (_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n\n if (_options.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(_options.delayError);\n } else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n\n if (\n (error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid\n ) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n\n _subjects.state.next(updatedFormState);\n }\n };\n\n const _runSchema = async (name?: InternalFieldName[]) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver!(\n _formValues as TFieldValues,\n _options.context,\n getResolverOptions(\n name || _names.mount,\n _fields,\n _options.criteriaMode,\n _options.shouldUseNativeValidation,\n ),\n );\n _updateIsValidating(name);\n return result;\n };\n\n const executeSchemaAndUpdateState = async (names?: InternalFieldName[]) => {\n const { errors } = await _runSchema(names);\n\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n } else {\n _formState.errors = errors;\n }\n\n return errors;\n };\n\n const executeBuiltInValidation = async (\n fields: FieldRefs,\n shouldOnlyCheckValid?: boolean,\n context: {\n valid: boolean;\n } = {\n valid: true,\n },\n ) => {\n for (const name in fields) {\n const field = fields[name];\n\n if (field) {\n const { _f, ...fieldValue } = field as Field;\n\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const isPromiseFunction =\n field._f && hasPromiseValidation((field as Field)._f);\n\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([_f.name], true);\n }\n\n const fieldError = await validateField(\n field as Field,\n _names.disabled,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation && !shouldOnlyCheckValid,\n isFieldArrayRoot,\n );\n\n if (isPromiseFunction && _proxyFormState.validatingFields) {\n _updateIsValidating([_f.name]);\n }\n\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(\n _formState.errors,\n fieldError,\n _f.name,\n )\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n\n !isEmptyObject(fieldValue) &&\n (await executeBuiltInValidation(\n fieldValue,\n shouldOnlyCheckValid,\n context,\n ));\n }\n }\n\n return context.valid;\n };\n\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field: Field = get(_fields, name);\n\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name as FieldPath<TFieldValues>);\n }\n\n _names.unMount = new Set();\n };\n\n const _getDirty: GetIsDirty = (name, data) =>\n !_options.disabled &&\n (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n\n const _getWatch: WatchInternal<TFieldValues> = (\n names,\n defaultValue,\n isGlobal,\n ) =>\n generateWatchOutput(\n names,\n _names,\n {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n },\n isGlobal,\n defaultValue,\n );\n\n const _getFieldArray = <TFieldArrayValues>(\n name: InternalFieldName,\n ): Partial<TFieldArrayValues>[] =>\n compact(\n get(\n _state.mount ? _formValues : _defaultValues,\n name,\n _options.shouldUnregister ? get(_defaultValues, name, []) : [],\n ),\n );\n\n const setFieldValue = (\n name: InternalFieldName,\n value: SetFieldValue<TFieldValues>,\n options: SetValueConfig = {},\n ) => {\n const field: Field = get(_fields, name);\n let fieldValue: unknown = value;\n\n if (field) {\n const fieldReference = field._f;\n\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach(\n (optionRef) =>\n (optionRef.selected = (\n fieldValue as InternalFieldName[]\n ).includes(optionRef.value)),\n );\n } else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.forEach((checkboxRef) => {\n if (!checkboxRef.defaultChecked || !checkboxRef.disabled) {\n if (Array.isArray(fieldValue)) {\n checkboxRef.checked = !!fieldValue.find(\n (data: string) => data === checkboxRef.value,\n );\n } else {\n checkboxRef.checked =\n fieldValue === checkboxRef.value || !!fieldValue;\n }\n }\n });\n } else {\n fieldReference.refs.forEach(\n (radioRef: HTMLInputElement) =>\n (radioRef.checked = radioRef.value === fieldValue),\n );\n }\n } else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n } else {\n fieldReference.ref.value = fieldValue;\n\n if (!fieldReference.ref.type) {\n _subjects.state.next({\n name,\n values: cloneObject(_formValues),\n });\n }\n }\n }\n }\n\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(\n name,\n fieldValue,\n options.shouldTouch,\n options.shouldDirty,\n true,\n );\n\n options.shouldValidate && trigger(name as Path<TFieldValues>);\n };\n\n const setValues = <\n T extends InternalFieldName,\n K extends SetFieldValue<TFieldValues>,\n U extends SetValueConfig,\n >(\n name: T,\n value: K,\n options: U,\n ) => {\n for (const fieldKey in value) {\n if (!value.hasOwnProperty(fieldKey)) {\n return;\n }\n const fieldValue = value[fieldKey];\n const fieldName = name + '.' + fieldKey;\n const field = get(_fields, fieldName);\n\n (_names.array.has(name) ||\n isObject(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n\n const setValue: UseFormSetValue<TFieldValues> = (\n name,\n value,\n options = {},\n ) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n\n set(_formValues, name, cloneValue);\n\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: cloneObject(_formValues),\n });\n\n if (\n (_proxyFormState.isDirty ||\n _proxyFormState.dirtyFields ||\n _proxySubscribeFormState.isDirty ||\n _proxySubscribeFormState.dirtyFields) &&\n options.shouldDirty\n ) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n } else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n\n isWatched(name, _names) && _subjects.state.next({ ..._formState, name });\n _subjects.state.next({\n name: _state.mount ? name : undefined,\n values: cloneObject(_formValues),\n });\n };\n\n const onChange: ChangeHandler = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name: string = target.name;\n let isFieldValueUpdated = true;\n const field: Field = get(_fields, name);\n const _updateIsFieldValueUpdated = (fieldValue: unknown) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n (isDateObject(fieldValue) && isNaN(fieldValue.getTime())) ||\n deepEqual(fieldValue, get(_formValues, name, fieldValue));\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(\n _options.reValidateMode,\n );\n\n if (field) {\n let error;\n let isValid;\n const fieldValue = target.type\n ? getFieldValue(field._f)\n : getEventValue(event);\n const isBlurEvent =\n event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation =\n (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(\n isBlurEvent,\n get(_formState.touchedFields, name),\n _formState.isSubmitted,\n validationModeAfterSubmit,\n validationModeBeforeSubmit,\n );\n const watched = isWatched(name, _names, isBlurEvent);\n\n set(_formValues, name, fieldValue);\n\n if (isBlurEvent) {\n if (!target || !target.readOnly) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n } else if (field._f.onChange) {\n field._f.onChange(event);\n }\n\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent);\n\n const shouldRender = !isEmptyObject(fieldState) || watched;\n\n !isBlurEvent &&\n _subjects.state.next({\n name,\n type: event.type,\n values: cloneObject(_formValues),\n });\n\n if (shouldSkipValidation) {\n if (_proxyFormState.isValid || _proxySubscribeFormState.isValid) {\n if (_options.mode === 'onBlur') {\n if (isBlurEvent) {\n _setValid();\n }\n } else if (!isBlurEvent) {\n _setValid();\n }\n }\n\n return (\n shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) })\n );\n }\n\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n\n if (_options.resolver) {\n const { errors } = await _runSchema([name]);\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(\n _formState.errors,\n _fields,\n name,\n );\n const errorLookupResult = schemaErrorLookup(\n errors,\n _fields,\n previousErrorLookupResult.name || name,\n );\n\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n\n isValid = isEmptyObject(errors);\n }\n } else {\n _updateIsValidating([name], true);\n error = (\n await validateField(\n field,\n _names.disabled,\n _formValues,\n shouldDisplayAllAssociatedErrors,\n _options.shouldUseNativeValidation,\n )\n )[name];\n _updateIsValidating([name]);\n\n _updateIsFieldValueUpdated(fieldValue);\n\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n } else if (\n _proxyFormState.isValid ||\n _proxySubscribeFormState.isValid\n ) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n\n if (isFieldValueUpdated) {\n field._f.deps &&\n (!Array.isArray(field._f.deps) || field._f.deps.length > 0) &&\n trigger(\n field._f.deps as\n | FieldPath<TFieldValues>\n | FieldPath<TFieldValues>[],\n );\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n\n const _focusInput = (ref: Ref, key: string) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n\n const trigger: UseFormTrigger<TFieldValues> = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name) as InternalFieldName[];\n\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(\n isUndefined(name) ? name : fieldNames,\n );\n\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n } else if (name) {\n validationResult = (\n await Promise.all(\n fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(\n field && field._f ? { [fieldName]: field } : field,\n );\n }),\n )\n ).every(Boolean);\n !(!validationResult && !_formState.isValid) && _setValid();\n } else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n\n _subjects.state.next({\n ...(!isString(name) ||\n ((_proxyFormState.isValid || _proxySubscribeFormState.isValid) &&\n isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(\n _fields,\n _focusInput,\n name ? fieldNames : _names.mount,\n );\n\n return validationResult;\n };\n\n const getValues: UseFormGetValues<TFieldValues> = (\n fieldNames?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>,\n config?: GetValuesConfig,\n ) => {\n let values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n\n if (config) {\n values = extractFormValues(\n config.dirtyFields ? _formState.dirtyFields : _formState.touchedFields,\n values,\n );\n }\n\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n\n const getFieldState: UseFormGetFieldState<TFieldValues> = (\n name,\n formState,\n ) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n\n const clearErrors: UseFormClearErrors<TFieldValues> = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) =>\n unset(_formState.errors, inputName),\n );\n\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n\n const setError: UseFormSetError<TFieldValues> = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n\n const watch: UseFormWatch<TFieldValues> = (\n name?:\n | FieldPath<TFieldValues>\n | ReadonlyArray<FieldPath<TFieldValues>>\n | WatchObserver<TFieldValues>,\n defaultValue?: DeepPartial<TFieldValues>,\n ) =>\n isFunction(name)\n ? _subjects.state.subscribe({\n next: (payload) =>\n 'values' in payload &&\n name(\n _getWatch(undefined, defaultValue),\n payload as {\n name?: FieldPath<TFieldValues>;\n type?: EventType;\n value?: unknown;\n },\n ),\n })\n : _getWatch(\n name as InternalFieldName | InternalFieldName[],\n defaultValue,\n true,\n );\n\n const _subscribe: FromSubscribe<TFieldValues> = (props) =>\n _subjects.state.subscribe({\n next: (\n formState: Partial<FormState<TFieldValues>> & {\n name?: InternalFieldName;\n values?: TFieldValues | undefined;\n type?: EventType;\n },\n ) => {\n if (\n shouldSubscribeByName(props.name, formState.name, props.exact) &&\n shouldRenderFormState(\n formState,\n (props.formState as ReadFormState) || _proxyFormState,\n _setFormState,\n props.reRenderRoot,\n )\n ) {\n props.callback({\n values: { ..._formValues } as TFieldValues,\n ..._formState,\n ...formState,\n defaultValues:\n _defaultValues as FormState<TFieldValues>['defaultValues'],\n });\n }\n },\n }).unsubscribe;\n\n const subscribe: UseFormSubscribe<TFieldValues> = (props) => {\n _state.mount = true;\n _proxySubscribeFormState = {\n ..._proxySubscribeFormState,\n ...props.formState,\n };\n return _subscribe({\n ...props,\n formState: _proxySubscribeFormState,\n });\n };\n\n const unregister: UseFormUnregister<TFieldValues> = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n\n _subjects.state.next({\n values: cloneObject(_formValues),\n });\n\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n\n !options.keepIsValid && _setValid();\n };\n\n const _setDisabledField: Control<TFieldValues>['_setDisabledField'] = ({\n disabled,\n name,\n }) => {\n if (\n (isBoolean(disabled) && _state.mount) ||\n !!disabled ||\n _names.disabled.has(name)\n ) {\n disabled ? _names.disabled.add(name) : _names.disabled.delete(name);\n }\n };\n\n const register: UseFormRegister<TFieldValues> = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined =\n isBoolean(options.disabled) || isBoolean(_options.disabled);\n\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n\n if (field) {\n _setDisabledField({\n disabled: isBoolean(options.disabled)\n ? options.disabled\n : _options.disabled,\n name,\n });\n } else {\n updateValidAndValue(name, true, options.value);\n }\n\n return {\n ...(disabledIsDefined\n ? { disabled: options.disabled || _options.disabled }\n : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue<number>(options.minLength) as number,\n maxLength: getRuleValue(options.maxLength) as number,\n pattern: getRuleValue(options.pattern) as string,\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref: HTMLInputElement | null): void => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? (ref.querySelectorAll('input,select,textarea')[0] as Ref) || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n\n if (\n radioOrCheckbox\n ? refs.find((option: Ref) => option === fieldRef)\n : fieldRef === field._f.ref\n ) {\n return;\n }\n\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n\n updateValidAndValue(name, false, undefined, fieldRef);\n } else {\n field = get(_fields, name, {});\n\n if (field._f) {\n field._f.mount = false;\n }\n\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n\n const _focusError = () =>\n _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n\n const _disableForm = (disabled?: boolean) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(\n _fields,\n (ref, name) => {\n const currentField: Field = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n },\n 0,\n false,\n );\n }\n };\n\n const handleSubmit: UseFormHandleSubmit<TFieldValues, TTransformedValues> =\n (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n (e as React.BaseSyntheticEvent).persist &&\n (e as React.BaseSyntheticEvent).persist();\n }\n let fieldValues:\n | TFieldValues\n | TTransformedValues\n | Record<string, never> = cloneObject(_formValues);\n\n _subjects.state.next({\n isSubmitting: true,\n });\n\n if (_options.resolver) {\n const { errors, values } = await _runSchema();\n _formState.errors = errors;\n fieldValues = cloneObject(values);\n } else {\n await executeBuiltInValidation(_fields);\n }\n\n if (_names.disabled.size) {\n for (const name of _names.disabled) {\n unset(fieldValues, name);\n }\n }\n\n unset(_formState.errors, 'root');\n\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues as TTransformedValues, e);\n } catch (error) {\n onValidError = error;\n }\n } else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n\n const resetField: UseFormResetField<TFieldValues> = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n } else {\n setValue(\n name,\n options.defaultValue as Parameters<typeof setValue<typeof name>>[1],\n );\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _setValid();\n }\n\n _subjects.state.next({ ..._formState });\n }\n };\n\n const _reset: UseFormReset<TFieldValues> = (\n formValues,\n keepStateOptions = {},\n ) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n const fieldsToCheck = new Set([\n ..._names.mount,\n ...Object.keys(getDirtyFields(_defaultValues, _formValues)),\n ]);\n for (const fieldName of Array.from(fieldsToCheck)) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(\n fieldName as FieldPath<TFieldValues>,\n get(values, fieldName),\n );\n }\n } else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n\n if (keepStateOptions.keepFieldsRef) {\n for (const fieldName of _names.mount) {\n setValue(\n fieldName as FieldPath<TFieldValues>,\n get(values, fieldName),\n );\n }\n } else {\n _fields = {};\n }\n }\n\n _formValues = _options.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? (cloneObject(_defaultValues) as TFieldValues)\n : ({} as TFieldValues)\n : (cloneObject(values) as TFieldValues);\n\n _subjects.array.next({\n values: { ...values },\n });\n\n _subjects.state.next({\n values: { ...values } as TFieldValues,\n });\n }\n\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n disabled: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues ||\n (!_options.shouldUnregister && !isEmptyObject(values));\n\n _state.watch = !!_options.shouldUnregister;\n _state.action = false;\n\n // Clear errors synchronously to prevent validation errors on subsequent submissions\n // This fixes the issue where form.reset() causes validation errors on subsequent\n // submissions in Next.js 16 with Server Actions\n if (!keepStateOptions.keepErrors) {\n _formState.errors = {};\n }\n\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(\n keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)\n ),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? {}\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n defaultValues: _defaultValues as FormState<TFieldValues>['defaultValues'],\n });\n };\n\n const reset: UseFormReset<TFieldValues> = (formValues, keepStateOptions) =>\n _reset(\n isFunction(formValues)\n ? (formValues as Function)(_formValues as TFieldValues)\n : formValues,\n keepStateOptions,\n );\n\n const setFocus: UseFormSetFocus<TFieldValues> = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect &&\n isFunction(fieldRef.select) &&\n fieldRef.select();\n }\n }\n };\n\n const _setFormState = (\n updatedFormState: Partial<FormState<TFieldValues>>,\n ) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n\n const _resetDefaultValues = () =>\n isFunction(_options.defaultValues) &&\n (_options.defaultValues as Function)().then((values: TFieldValues) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n\n const methods = {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _subscribe,\n _runSchema,\n _focusError,\n _getWatch,\n _getDirty,\n _setValid,\n _setFieldArray,\n _setDisabledField,\n _setErrors,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _removeUnmounted,\n _disableForm,\n _subjects,\n _proxyFormState,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n subscribe,\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n\n return {\n ...methods,\n formControl: methods,\n };\n}\n","import React from 'react';\n\nimport getProxyFormState from './logic/getProxyFormState';\nimport deepEqual from './utils/deepEqual';\nimport isFunction from './utils/isFunction';\nimport { createFormControl } from './logic';\nimport type {\n FieldValues,\n FormState,\n UseFormProps,\n UseFormReturn,\n} from './types';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props: UseFormProps<TFieldValues, TContext, TTransformedValues> = {},\n): UseFormReturn<TFieldValues, TContext, TTransformedValues> {\n const _formControl = React.useRef<\n UseFormReturn<TFieldValues, TContext, TTransformedValues> | undefined\n >(undefined);\n const _values = React.useRef<typeof props.values>(undefined);\n const [formState, updateFormState] = React.useState<FormState<TFieldValues>>({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n isReady: false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n\n if (!_formControl.current) {\n if (props.formControl) {\n _formControl.current = {\n ...props.formControl,\n formState,\n };\n\n if (props.defaultValues && !isFunction(props.defaultValues)) {\n props.formControl.reset(props.defaultValues, props.resetOptions);\n }\n } else {\n const { formControl, ...rest } = createFormControl(props);\n\n _formControl.current = {\n ...rest,\n formState,\n };\n }\n }\n\n const control = _formControl.current.control;\n control._options = props;\n\n useIsomorphicLayoutEffect(() => {\n const sub = control._subscribe({\n formState: control._proxyFormState,\n callback: () => updateFormState({ ...control._formState }),\n reRenderRoot: true,\n });\n\n updateFormState((data) => ({\n ...data,\n isReady: true,\n }));\n\n control._formState.isReady = true;\n\n return sub;\n }, [control]);\n\n React.useEffect(\n () => control._disableForm(props.disabled),\n [control, props.disabled],\n );\n\n React.useEffect(() => {\n if (props.mode) {\n control._options.mode = props.mode;\n }\n if (props.reValidateMode) {\n control._options.reValidateMode = props.reValidateMode;\n }\n }, [control, props.mode, props.reValidateMode]);\n\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n control._focusError();\n }\n }, [control, props.errors]);\n\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.state.next({\n values: control._getWatch(),\n });\n }, [control, props.shouldUnregister]);\n\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, {\n keepFieldsRef: true,\n ...control._options.resetOptions,\n });\n if (!control._options.resetOptions?.keepIsValid) {\n control._setValid();\n }\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n } else {\n control._resetDefaultValues();\n }\n }, [control, props.values]);\n\n React.useEffect(() => {\n if (!control._state.mount) {\n control._setValid();\n control._state.mount = true;\n }\n\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n\n control._removeUnmounted();\n });\n\n _formControl.current.formState = getProxyFormState(formState, control);\n\n return _formControl.current;\n}\n","'use client'\n\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","'use client'\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport * as React from 'react'\n\nimport { CheckIcon } from 'lucide-react'\nimport { cn } from '@lib/utils'\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import * as React from 'react'\n\nimport { cn } from '@lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import React from 'react'\nimport {\n type LoginPageProps,\n type LoginFormTypes,\n useLink,\n useLogin,\n useTranslate,\n} from '@refinedev/core'\nimport { useForm, FormProvider } from 'react-hook-form'\nimport { Button } from '@components/ui/button'\nimport { Input } from '@components/ui/input'\nimport { Label } from '@components/ui/label'\nimport { Checkbox } from '@components/ui/checkbox'\nimport { Card, CardContent, CardHeader, CardTitle } from '@components/ui/card'\nimport { Separator } from '@components/ui/separator'\nimport { cn } from '@lib/utils'\n\nimport { ThemedTitle } from '@components'\nimport type { FormPropsType } from '@components/pages/auth'\n\ntype LoginProps = LoginPageProps<\n React.HTMLAttributes<HTMLDivElement>,\n React.HTMLAttributes<HTMLDivElement>,\n FormPropsType<LoginFormTypes>\n>\n\nexport const LoginPage: React.FC<LoginProps> = ({\n providers,\n registerLink,\n forgotPasswordLink,\n rememberMe,\n contentProps,\n wrapperProps,\n renderContent,\n formProps,\n title,\n hideForm,\n mutationVariables,\n}) => {\n const { onSubmit, ...useFormProps } = formProps || {}\n\n const { mutate: login } = useLogin<LoginFormTypes>()\n const translate = useTranslate()\n const Link = useLink()\n const methods = useForm<LoginFormTypes>({\n ...useFormProps,\n })\n const {\n register,\n handleSubmit,\n formState: { errors },\n } = methods\n\n const renderProviders = () => {\n if (providers && providers.length > 0) {\n return (\n <>\n <div className=\"flex flex-col gap-2\">\n {providers.map((provider) => (\n <Button\n key={provider.name}\n variant=\"outline\"\n className=\"w-full\"\n onClick={() =>\n login({\n ...mutationVariables,\n providerName: provider.name,\n })\n }\n >\n {provider?.icon}\n {provider.label ?? <span>{provider.label}</span>}\n </Button>\n ))}\n </div>\n {!hideForm && <Separator className=\"my-6\" />}\n </>\n )\n }\n return null\n }\n\n const PageTitle =\n title === false ? null : (\n <div className=\"mb-8 flex justify-center text-xl\">\n {title ?? <ThemedTitle collapsed={false} />}\n </div>\n )\n\n const content = (\n <Card\n className={cn('w-full max-w-md', contentProps?.className)}\n {...contentProps}\n >\n <CardHeader>\n <CardTitle className=\"text-center text-2xl\">\n {translate('pages.login.title', 'Sign in to your account')}\n </CardTitle>\n </CardHeader>\n <CardContent>\n {renderProviders()}\n {!hideForm && (\n <form\n onSubmit={handleSubmit((data) => {\n if (onSubmit) {\n return onSubmit(data)\n }\n\n return login({ ...mutationVariables, ...data })\n })}\n >\n <div className=\"space-y-4\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"email\">\n {translate('pages.login.fields.email', 'Email')}\n </Label>\n <Input\n id=\"email\"\n autoComplete=\"email\"\n placeholder=\"Email\"\n type=\"text\"\n aria-invalid={!!errors?.email}\n {...register('email', {\n required: translate(\n 'pages.login.errors.requiredEmail',\n 'Email is required'\n ),\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,\n message: translate(\n 'pages.login.errors.validEmail',\n 'Invalid email address'\n ),\n },\n })}\n />\n {errors.email && (\n <p className=\"text-destructive text-sm\">\n {errors.email.message}\n </p>\n )}\n </div>\n\n <div className=\"space-y-2\">\n <Label htmlFor=\"password\">\n {translate('pages.login.fields.password', 'Password')}\n </Label>\n <Input\n id=\"password\"\n type=\"password\"\n autoComplete=\"current-password\"\n placeholder=\"Password\"\n aria-invalid={!!errors?.password}\n {...register('password', {\n required: translate(\n 'pages.login.errors.requiredPassword',\n 'Password is required'\n ),\n })}\n />\n {errors.password && (\n <p className=\"text-destructive text-sm\">\n {errors.password.message}\n </p>\n )}\n </div>\n\n {rememberMe ?? (\n <div className=\"flex items-center space-x-2\">\n <Checkbox id=\"remember\" {...register('remember')} />\n <Label\n htmlFor=\"remember\"\n className=\"cursor-pointer font-normal\"\n >\n {translate('pages.login.buttons.rememberMe', 'Remember me')}\n </Label>\n </div>\n )}\n\n <Button type=\"submit\" className=\"w-full\">\n {translate('pages.login.signin', 'Sign in')}\n </Button>\n\n <div className=\"flex items-center justify-between text-xs\">\n {forgotPasswordLink ?? (\n <Link\n to=\"/forgot-password\"\n className=\"text-primary hover:underline\"\n >\n {translate(\n 'pages.login.buttons.forgotPassword',\n 'Forgot password?'\n )}\n </Link>\n )}\n {registerLink ?? (\n <div>\n <span className=\"text-muted-foreground\">\n {translate(\n 'pages.login.buttons.noAccount',\n \"Don't have an account?\"\n )}{' '}\n </span>\n <Link\n to=\"/register\"\n className=\"text-primary font-bold hover:underline\"\n >\n {translate('pages.login.register', 'Sign up')}\n </Link>\n </div>\n )}\n </div>\n </div>\n </form>\n )}\n\n {hideForm && registerLink !== false && (\n <div className=\"mt-6 text-center text-sm\">\n <span className=\"text-muted-foreground\">\n {translate(\n 'pages.login.buttons.noAccount',\n \"Don't have an account?\"\n )}{' '}\n </span>\n <Link\n to=\"/register\"\n className=\"text-primary font-bold hover:underline\"\n >\n {translate('pages.login.register', 'Sign up')}\n </Link>\n </div>\n )}\n </CardContent>\n </Card>\n )\n\n return (\n <FormProvider {...methods}>\n <div\n className={cn(\n 'flex min-h-screen flex-col items-center bg-cover p-4',\n hideForm ? 'justify-start pt-[15dvh]' : 'justify-center pt-4'\n )}\n {...wrapperProps}\n >\n {renderContent ? (\n renderContent(content, PageTitle)\n ) : (\n <>\n {PageTitle}\n {content}\n </>\n )}\n </div>\n </FormProvider>\n )\n}\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import { useCallback } from \"react\";\nimport {\n type BaseKey,\n type BaseRecord,\n type FormWithSyncWithLocationParams,\n type HttpError,\n useGo,\n useModal,\n useParsed,\n useUserFriendlyName,\n useTranslate,\n useWarnAboutChange,\n useInvalidate,\n useResourceParams,\n} from \"@refinedev/core\";\nimport type { FieldValues } from \"react-hook-form\";\n\nimport { useForm, type UseFormProps, type UseFormReturnType } from \"../useForm\";\nimport React from \"react\";\n\nexport type UseModalFormReturnType<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n modal: {\n submit: (values: TVariables) => void;\n close: () => void;\n show: (id?: BaseKey) => void;\n visible: boolean;\n title: string;\n };\n};\n\nexport type UseModalFormProps<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> & {\n /**\n * @description Configuration object for the modal.\n * `defaultVisible`: Initial visibility state of the modal.\n *\n * `autoSubmitClose`: Whether the form should be submitted when the modal is closed.\n *\n * `autoResetForm`: Whether the form should be reset when the form is submitted.\n *\n * `autoResetFormWhenClose`: Whether the form should be reset to defaultValues when the modal is closed.\n * @type `{\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n autoResetFormWhenClose?: boolean;\n }`\n * @default `defaultVisible = false` `autoSubmitClose = true` `autoResetForm = true` `autoResetFormWhenClose = true`\n */\n modalProps?: {\n defaultVisible?: boolean;\n autoSubmitClose?: boolean;\n autoResetForm?: boolean;\n autoResetFormWhenClose?: boolean;\n };\n} & FormWithSyncWithLocationParams;\n\nexport const useModalForm = <\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n>({\n modalProps,\n refineCoreProps,\n syncWithLocation,\n ...rest\n}: UseModalFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> = {}): UseModalFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> => {\n const invalidate = useInvalidate();\n const [initiallySynced, setInitiallySynced] = React.useState(false);\n\n const translate = useTranslate();\n\n const { resource: resourceProp, action: actionProp } = refineCoreProps ?? {};\n\n const { resource, identifier } = useResourceParams({\n resource: resourceProp,\n });\n const { action: actionFromParams } = useResourceParams({\n resource: resourceProp,\n action: actionProp,\n });\n\n const parsed = useParsed();\n const go = useGo();\n const getUserFriendlyName = useUserFriendlyName();\n\n const action = actionProp ?? actionFromParams ?? \"\";\n\n const syncingId = !(\n typeof syncWithLocation === \"object\" && syncWithLocation?.syncId === false\n );\n\n const syncWithLocationKey =\n typeof syncWithLocation === \"object\" && \"key\" in syncWithLocation\n ? syncWithLocation.key\n : resource && action && syncWithLocation\n ? `modal-${identifier}-${action}`\n : undefined;\n\n const {\n defaultVisible = false,\n autoSubmitClose = true,\n autoResetForm = true,\n autoResetFormWhenClose = true,\n } = modalProps ?? {};\n\n const useHookFormResult = useForm<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n >({\n refineCoreProps: {\n ...refineCoreProps,\n meta: {\n ...(syncWithLocationKey ? { [syncWithLocationKey]: undefined } : {}),\n ...refineCoreProps?.meta,\n },\n },\n ...rest,\n });\n\n const {\n reset,\n refineCore: { onFinish, id, setId, autoSaveProps, query },\n saveButtonProps,\n handleSubmit,\n } = useHookFormResult;\n\n const { visible, show, close } = useModal({\n defaultVisible,\n });\n\n // compensate for setting of initial form values in useForm since it doesnt track modal visibility\n React.useEffect(() => {\n if (!visible || !query?.data?.data) return;\n\n const formData = query.data.data;\n if (!formData) return;\n\n reset(formData as any, {\n ...(!autoResetFormWhenClose && {\n keepDirtyValues: true,\n }),\n });\n }, [visible, query?.data?.data, autoResetFormWhenClose]);\n\n React.useEffect(() => {\n if (initiallySynced === false && syncWithLocationKey) {\n const openStatus = parsed?.params?.[syncWithLocationKey]?.open;\n if (typeof openStatus === \"boolean\") {\n if (openStatus) {\n show();\n }\n } else if (typeof openStatus === \"string\") {\n if (openStatus === \"true\") {\n show();\n }\n }\n\n if (syncingId) {\n const idFromParams = parsed?.params?.[syncWithLocationKey]?.id;\n if (idFromParams) {\n setId?.(idFromParams);\n }\n }\n\n setInitiallySynced(true);\n }\n }, [syncWithLocationKey, parsed, syncingId, setId]);\n\n React.useEffect(() => {\n if (initiallySynced === true) {\n if (visible && syncWithLocationKey) {\n go({\n query: {\n [syncWithLocationKey]: {\n ...parsed?.params?.[syncWithLocationKey],\n open: true,\n ...(syncingId && id && { id }),\n },\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n } else if (syncWithLocationKey && !visible) {\n go({\n query: {\n [syncWithLocationKey]: undefined,\n },\n options: { keepQuery: true },\n type: \"replace\",\n });\n }\n }\n }, [id, visible, show, syncWithLocationKey, syncingId]);\n\n const submit = async (values: TVariables) => {\n await onFinish(values);\n\n if (autoSubmitClose) {\n close();\n }\n\n if (autoResetForm) {\n reset();\n }\n };\n\n const { warnWhen, setWarnWhen } = useWarnAboutChange();\n const handleClose = useCallback(() => {\n if (\n autoSaveProps.status === \"success\" &&\n refineCoreProps?.autoSave?.invalidateOnClose\n ) {\n invalidate({\n id,\n invalidates: refineCoreProps.invalidates || [\"list\", \"many\", \"detail\"],\n dataProviderName: refineCoreProps.dataProviderName,\n resource: identifier,\n });\n }\n\n if (warnWhen) {\n const warnWhenConfirm = window.confirm(\n translate(\n \"warnWhenUnsavedChanges\",\n \"Are you sure you want to leave? You have unsaved changes.\",\n ),\n );\n\n if (warnWhenConfirm) {\n setWarnWhen(false);\n } else {\n return;\n }\n }\n\n setId?.(undefined);\n close();\n\n if (autoResetFormWhenClose) {\n reset();\n }\n }, [warnWhen, autoSaveProps.status]);\n\n const handleShow = useCallback(\n (showId?: BaseKey) => {\n if (typeof showId !== \"undefined\") {\n setId?.(showId);\n }\n const needsIdToOpen = action === \"edit\" || action === \"clone\";\n const hasId = typeof showId !== \"undefined\" || typeof id !== \"undefined\";\n if (needsIdToOpen ? hasId : true) {\n show();\n }\n },\n [id, action, setId, show],\n );\n\n const title = translate(\n `${identifier}.titles.${actionProp}`,\n undefined,\n `${getUserFriendlyName(\n `${actionProp} ${resource?.meta?.label ?? identifier}`,\n \"singular\",\n )}`,\n );\n\n return {\n modal: {\n submit,\n close: handleClose,\n show: handleShow,\n visible,\n title,\n },\n ...useHookFormResult,\n saveButtonProps: {\n ...saveButtonProps,\n onClick: (e) => handleSubmit(submit)(e),\n },\n };\n};\n","import React, { useEffect } from \"react\";\nimport get from \"lodash-es/get.js\";\nimport has from \"lodash-es/has.js\";\n\nimport {\n useForm as useHookForm,\n type UseFormProps as UseHookFormProps,\n type UseFormReturn,\n type FieldValues,\n type UseFormHandleSubmit,\n type Path,\n} from \"react-hook-form\";\nimport {\n type BaseRecord,\n type HttpError,\n useForm as useFormCore,\n useWarnAboutChange,\n type UseFormProps as UseFormCoreProps,\n type UseFormReturnType as UseFormReturnTypeCore,\n useTranslate,\n useRefineContext,\n flattenObjectKeys,\n} from \"@refinedev/core\";\n\nexport type UseFormReturnType<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = UseFormReturn<TVariables, TContext> & {\n refineCore: UseFormReturnTypeCore<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >;\n saveButtonProps: {\n disabled: boolean;\n onClick: (e: React.BaseSyntheticEvent) => void;\n };\n};\n\nexport type UseFormProps<\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n> = {\n /**\n * Configuration object for the core of the [useForm](/docs/api-reference/core/hooks/useForm/)\n * @type [`UseFormCoreProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>`](/docs/api-reference/core/hooks/useForm/#properties)\n */\n refineCoreProps?: UseFormCoreProps<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >;\n /**\n * When you have unsaved changes and try to leave the current page, **refine** shows a confirmation modal box.\n * @default `false*`\n */\n warnWhenUnsavedChanges?: boolean;\n /**\n * Disables server-side validation\n * @default false\n * @see {@link https://refine.dev/docs/advanced-tutorials/forms/server-side-form-validation/}\n */\n disableServerSideValidation?: boolean;\n} & UseHookFormProps<TVariables, TContext>;\n\nexport const useForm = <\n TQueryFnData extends BaseRecord = BaseRecord,\n TError extends HttpError = HttpError,\n TVariables extends FieldValues = FieldValues,\n TContext extends object = {},\n TData extends BaseRecord = TQueryFnData,\n TResponse extends BaseRecord = TData,\n TResponseError extends HttpError = TError,\n>({\n refineCoreProps,\n warnWhenUnsavedChanges: warnWhenUnsavedChangesProp,\n disableServerSideValidation: disableServerSideValidationProp = false,\n ...rest\n}: UseFormProps<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> = {}): UseFormReturnType<\n TQueryFnData,\n TError,\n TVariables,\n TContext,\n TData,\n TResponse,\n TResponseError\n> => {\n const { options } = useRefineContext();\n const disableServerSideValidation =\n options?.disableServerSideValidation || disableServerSideValidationProp;\n\n const translate = useTranslate();\n\n const { warnWhenUnsavedChanges: warnWhenUnsavedChangesRefine, setWarnWhen } =\n useWarnAboutChange();\n const warnWhenUnsavedChanges =\n warnWhenUnsavedChangesProp ?? warnWhenUnsavedChangesRefine;\n\n const useHookFormResult = useHookForm<TVariables, TContext>({\n ...rest,\n });\n\n const {\n watch,\n setValue,\n getValues,\n handleSubmit: handleSubmitReactHookForm,\n setError,\n } = useHookFormResult;\n\n const useFormCoreResult = useFormCore<\n TQueryFnData,\n TError,\n TVariables,\n TData,\n TResponse,\n TResponseError\n >({\n ...refineCoreProps,\n onMutationError: (error, _variables, _context) => {\n if (disableServerSideValidation) {\n refineCoreProps?.onMutationError?.(error, _variables, _context);\n return;\n }\n\n const errors = error?.errors;\n\n for (const key in errors) {\n // when the key is not registered in the form, react-hook-form not working\n const isKeyInVariables = Object.keys(\n flattenObjectKeys(_variables),\n ).includes(key);\n\n if (!isKeyInVariables) {\n continue;\n }\n\n const fieldError = errors[key];\n\n let newError = \"\";\n\n if (Array.isArray(fieldError)) {\n newError = fieldError.join(\" \");\n }\n\n if (typeof fieldError === \"string\") {\n newError = fieldError;\n }\n\n if (typeof fieldError === \"boolean\" && fieldError) {\n newError = \"Field is not valid.\";\n }\n\n if (typeof fieldError === \"object\" && \"key\" in fieldError) {\n const translatedMessage = translate(\n fieldError.key,\n fieldError.message,\n );\n\n newError = translatedMessage;\n }\n\n setError(key as Path<TVariables>, {\n message: newError,\n });\n }\n\n refineCoreProps?.onMutationError?.(error, _variables, _context);\n },\n });\n\n const { query, onFinish, formLoading, onFinishAutoSave } = useFormCoreResult;\n\n useEffect(() => {\n const data = query?.data?.data;\n if (!data) return;\n\n /**\n * get registered fields from react-hook-form\n */\n const registeredFields = Object.keys(flattenObjectKeys(getValues()));\n\n /**\n * set values from query result as default values\n */\n registeredFields.forEach((path) => {\n const hasValue = has(data, path);\n const dataValue = get(data, path);\n\n /**\n * set value if the path exists in the query result even if the value is null\n */\n if (hasValue) {\n setValue(path as Path<TVariables>, dataValue);\n }\n });\n }, [query?.data, setValue, getValues]);\n\n useEffect(() => {\n const subscription = watch((values: any, { type }: { type?: any }) => {\n if (type === \"change\") {\n onValuesChange(values);\n }\n });\n return () => subscription.unsubscribe();\n }, [watch]);\n\n const onValuesChange = (changeValues: TVariables) => {\n if (warnWhenUnsavedChanges) {\n setWarnWhen(true);\n }\n\n if (refineCoreProps?.autoSave?.enabled) {\n setWarnWhen(false);\n\n const onFinishProps =\n refineCoreProps.autoSave?.onFinish ?? ((values: TVariables) => values);\n\n return onFinishAutoSave(onFinishProps(changeValues)).catch(\n (error) => error,\n );\n }\n\n return changeValues;\n };\n\n const handleSubmit: UseFormHandleSubmit<TVariables> =\n (onValid, onInvalid) => async (e) => {\n setWarnWhen(false);\n return handleSubmitReactHookForm(onValid, onInvalid)(e);\n };\n\n const saveButtonProps = {\n disabled: formLoading,\n onClick: (e: React.BaseSyntheticEvent) => {\n handleSubmit(\n (v) => onFinish(v).catch(() => {}),\n () => false,\n )(e);\n },\n };\n\n return {\n ...useHookFormResult,\n handleSubmit,\n refineCore: useFormCoreResult,\n saveButtonProps,\n };\n};\n","import React from 'react'\nimport {\n useTranslate,\n useLink,\n useForgotPassword,\n type ForgotPasswordFormTypes,\n type ForgotPasswordPageProps,\n type BaseRecord,\n type HttpError,\n} from '@refinedev/core'\nimport { useForm } from '@refinedev/react-hook-form'\n\nimport type { FormPropsType } from '../..'\nimport { ThemedTitle } from '@components'\nimport { Button } from '@components/ui/button'\nimport { Input } from '@components/ui/input'\nimport { Label } from '@components/ui/label'\nimport { Card, CardContent } from '@components/ui/card'\nimport { cn } from '@lib/utils'\n\ntype ForgotPasswordProps = ForgotPasswordPageProps<\n React.HTMLAttributes<HTMLDivElement>,\n React.HTMLAttributes<HTMLDivElement>,\n FormPropsType<ForgotPasswordFormTypes>\n>\n\nexport const ForgotPasswordPage: React.FC<ForgotPasswordProps> = ({\n loginLink,\n wrapperProps,\n contentProps,\n renderContent,\n formProps,\n title,\n mutationVariables,\n}) => {\n const { onSubmit, ...useFormProps } = formProps || {}\n const { mutate } = useForgotPassword<ForgotPasswordFormTypes>()\n const translate = useTranslate()\n const Link = useLink()\n\n const {\n handleSubmit,\n register,\n formState: { errors },\n } = useForm<BaseRecord, HttpError, ForgotPasswordFormTypes>({\n ...useFormProps,\n })\n\n const PageTitle =\n title === false ? null : (\n <div className=\"mb-8 flex justify-center text-xl\">\n {title ?? <ThemedTitle collapsed={false} />}\n </div>\n )\n\n const content = (\n <Card\n {...contentProps}\n className={cn(\n 'w-full max-w-[400px] rounded-xl border p-8',\n contentProps?.className\n )}\n >\n <CardContent className=\"pt-6\">\n <h2 className=\"text-primary mb-8 text-center text-2xl font-semibold\">\n {translate('pages.forgotPassword.title', 'Forgot your password?')}\n </h2>\n\n <form\n onSubmit={handleSubmit((data) => {\n if (onSubmit) {\n return onSubmit(data)\n }\n\n return mutate({ ...mutationVariables, ...data })\n })}\n >\n <div className=\"mb-3 space-y-2\">\n <Label htmlFor=\"email\">\n {translate('pages.forgotPassword.fields.email', 'Email')}\n </Label>\n <Input\n id=\"email\"\n type=\"text\"\n className={cn(errors?.email && 'border-destructive')}\n {...register('email', {\n required: translate(\n 'pages.forgotPassword.errors.requiredEmail',\n 'Email is required'\n ),\n pattern: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,\n message: translate(\n 'pages.forgotPassword.errors.validEmail',\n translate(\n 'pages.login.errors.validEmail',\n 'Invalid email address'\n )\n ),\n },\n })}\n />\n {errors?.email && (\n <p className=\"text-destructive text-sm\">{`${errors.email?.message}`}</p>\n )}\n </div>\n\n {loginLink ?? (\n <div className=\"my-6 flex justify-end\">\n <span>\n {translate(\n 'pages.forgotPassword.buttons.haveAccount',\n translate(\n 'pages.register.buttons.haveAccount',\n 'Have an account?'\n )\n )}\n </span>\n <Link to=\"/login\" className=\"text-primary ml-1 hover:underline\">\n {translate(\n 'pages.forgotPassword.signin',\n translate('pages.login.signin', 'Sign in')\n )}\n </Link>\n </div>\n )}\n\n <Button type=\"submit\" className=\"mb-3 w-full\">\n {translate(\n 'pages.forgotPassword.buttons.submit',\n 'Send reset instructions'\n )}\n </Button>\n </form>\n </CardContent>\n </Card>\n )\n\n return (\n <div\n {...wrapperProps}\n className={cn(\n 'flex min-h-dvh flex-col items-center justify-center bg-cover p-4',\n wrapperProps?.className\n )}\n >\n {renderContent ? (\n renderContent(content, PageTitle)\n ) : (\n <>\n {PageTitle}\n {content}\n </>\n )}\n </div>\n )\n}\n","import type { FieldValues, UseFormProps } from 'react-hook-form'\nimport {\n ForgotPasswordPage,\n LoginPage,\n} from '@components/pages/auth/components'\n\nimport type { AuthPageProps } from '@refinedev/core'\nimport React from 'react'\n\nexport interface FormPropsType<\n TFormType extends FieldValues = FieldValues,\n> extends UseFormProps<TFormType> {\n onSubmit?: (values: TFormType) => void\n}\n\nexport type AuthProps = AuthPageProps<\n React.HTMLAttributes<HTMLDivElement>,\n React.HTMLAttributes<HTMLDivElement>,\n FormPropsType<any>\n>\n\nexport const AuthPage: React.FC<AuthProps> = (props) => {\n const { type } = props\n const renderView = () => {\n switch (type) {\n // case 'register':\n // return <RegisterPage {...props} />\n case 'forgotPassword':\n return <ForgotPasswordPage {...props} />\n // case 'updatePassword':\n // return <UpdatePasswordPage {...props} />\n default:\n return <LoginPage {...props} />\n }\n }\n\n return <>{renderView()}</>\n}\n","import * as React from 'react'\n\nimport { ChevronRight, MoreHorizontal } from 'lucide-react'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@lib/utils'\n\ninterface BreadcrumbProps extends React.ComponentProps<'nav'> {}\n\nfunction Breadcrumb({ ...props }: BreadcrumbProps) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n BreadcrumbProps,\n}\n","import type {\n BreadcrumbProps as ShadboardBreadcrumbProps} from '@components/ui/breadcrumb';\nimport {\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n Breadcrumb as ShadboardBreadcrumb\n} from '@components/ui/breadcrumb'\nimport {\n matchResourceFromRoute,\n useBreadcrumb,\n useLink,\n useResourceParams,\n} from '@refinedev/core'\n\nimport { Home } from 'lucide-react'\nimport type { RefineBreadcrumbProps } from '@refinedev/ui-types'\n\nexport type BreadcrumbProps = RefineBreadcrumbProps<ShadboardBreadcrumbProps>\n\nexport const Breadcrumb = ({\n breadcrumbProps,\n showHome = true,\n hideIcons = false,\n meta,\n minItems = 2,\n}: BreadcrumbProps) => {\n const { breadcrumbs } = useBreadcrumb({ meta })\n const Link = useLink()\n\n if (breadcrumbs.length < minItems) return null\n\n const { resources } = useResourceParams()\n\n const rootRouteResource = matchResourceFromRoute('/', resources)\n\n return (\n <ShadboardBreadcrumb {...breadcrumbProps}>\n <BreadcrumbList>\n {showHome && rootRouteResource?.found && (\n <>\n <BreadcrumbItem>\n <Link to=\"/\">\n {rootRouteResource?.resource?.meta?.icon ?? <Home size={20} />}\n </Link>\n </BreadcrumbItem>\n {breadcrumbs.length > 0 && <BreadcrumbSeparator />}\n </>\n )}\n {breadcrumbs.map(({ label, icon, href }, index) => {\n return (\n <>\n <BreadcrumbItem key={label}>\n {!hideIcons && icon}\n {href ? (\n <BreadcrumbLink asChild>\n <Link to={href}>{label}</Link>\n </BreadcrumbLink>\n ) : (\n <BreadcrumbLink>{label}</BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < breadcrumbs.length - 1 && <BreadcrumbSeparator />}\n </>\n )\n })}\n </BreadcrumbList>\n </ShadboardBreadcrumb>\n )\n}\n","import { Button } from '@components/ui/button'\nimport type { OpenNotificationParams } from '@refinedev/core'\nimport { RotateCcwSquare } from 'lucide-react'\nimport { Text } from '@components/ui/text'\nimport { toast } from 'sonner'\n\nexport type UndoableNotificationProps = {\n notificationKey: OpenNotificationParams['key']\n message: OpenNotificationParams['message']\n cancelMutation: OpenNotificationParams['cancelMutation']\n undoableTimeout: OpenNotificationParams['undoableTimeout']\n}\n\nexport const UndoableNotification: React.FC<UndoableNotificationProps> = ({\n notificationKey = '',\n message,\n cancelMutation,\n undoableTimeout = 0,\n}) => {\n return (\n <div className=\"bg-background flex min-w-[320px] items-center justify-between gap-2 p-2 shadow-md\">\n <div className=\"flex items-center gap-2\">\n <span className=\"inline-flex h-6 min-w-6 items-center justify-center rounded-md border px-2 text-xs\">\n {undoableTimeout}s\n </span>\n </div>\n <Text>{message}</Text>\n <Button\n aria-label=\"undo\"\n variant=\"outline\"\n onClick={() => {\n cancelMutation?.()\n if (notificationKey) {\n toast.dismiss(notificationKey)\n }\n }}\n size={'icon'}\n >\n <RotateCcwSquare size={18} />\n </Button>\n </div>\n )\n}\n","import {\n type AutoSaveIndicatorProps,\n useTranslate,\n AutoSaveIndicator as AutoSaveIndicatorCore,\n} from '@refinedev/core'\nimport { Text } from '@components/ui/text'\nimport {\n CheckCircle,\n Dot,\n FileExclamationPoint,\n RefreshCcw,\n} from 'lucide-react'\n\nexport const AutoSaveIndicator = ({\n status,\n elements: {\n success = (\n <Message\n translationKey=\"autoSave.success\"\n defaultMessage=\"saved\"\n icon={<CheckCircle size=\"18px\" />}\n />\n ),\n error = (\n <Message\n translationKey=\"autoSave.error\"\n defaultMessage=\"auto save failure\"\n icon={<FileExclamationPoint size=\"18px\" />}\n />\n ),\n loading = (\n <Message\n translationKey=\"autoSave.loading\"\n defaultMessage=\"saving...\"\n icon={<RefreshCcw size=\"18px\" />}\n />\n ),\n idle = (\n <Message\n translationKey=\"autoSave.idle\"\n defaultMessage=\"waiting for changes\"\n icon={<Dot size=\"18px\" />}\n />\n ),\n } = {},\n}: AutoSaveIndicatorProps) => {\n return (\n <AutoSaveIndicatorCore\n status={status}\n elements={{\n success,\n error,\n loading,\n idle,\n }}\n />\n )\n}\n\nconst Message = ({\n translationKey,\n defaultMessage,\n icon,\n}: {\n translationKey: string\n defaultMessage: string\n icon: React.ReactNode\n}) => {\n const translate = useTranslate()\n\n return (\n <Text\n color=\"gray.700\"\n className=\"color-muted mr-2 flex flex-wrap items-center text-sm\"\n >\n {translate(translationKey, defaultMessage)}\n <span style={{ marginLeft: '3px' }}>{icon}</span>\n </Text>\n )\n}\n","import type { NotificationProvider } from '@refinedev/core'\nimport { UndoableNotification } from '@components/undoable-notification'\nimport { toast } from 'sonner'\n\nexport const useNotificationProvider = (): NotificationProvider => {\n return {\n open: ({\n key,\n message,\n type,\n description,\n undoableTimeout,\n cancelMutation,\n }) => {\n if (type === 'progress') {\n toast.custom(\n () => (\n <UndoableNotification\n notificationKey={key}\n message={message}\n cancelMutation={cancelMutation}\n undoableTimeout={undoableTimeout}\n />\n ),\n {\n id: key,\n duration: Infinity,\n }\n )\n return\n }\n\n const options: { id?: string | number; description?: string } = {}\n if (key !== undefined) options.id = key\n if (description) options.description = description\n\n if (type === 'success') {\n toast.success(message, options)\n } else if (type === 'error') {\n toast.error(message, options)\n } else {\n toast(message, options)\n }\n },\n close: (key) => toast.dismiss(key as any),\n }\n}\n","export type GreetingOptions = {\n name?: string\n}\n\nexport function greet(opts: GreetingOptions = {}): string {\n const name = opts.name ?? 'mundo'\n return `Hola, ${name}!`\n}\n\nexport * from './components'\n// export * from './hooks'\n// export * from './theme'\nexport * from './providers'\nexport * from './contexts'\n"]}