@bigbinary/neeto-atoms 1.0.50 → 1.0.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/{Callout-ClNFeMbn.js → Callout-NVYmCwJL.js} +3 -2
  2. package/dist/{Callout-ClNFeMbn.js.map → Callout-NVYmCwJL.js.map} +1 -1
  3. package/dist/{DataTable-CHxdhAU2.js → DataTable-1-31X8Kf.js} +46 -8
  4. package/dist/DataTable-1-31X8Kf.js.map +1 -0
  5. package/dist/{Empty-fV1Yplri.js → Empty-DdthjwJz.js} +2 -2
  6. package/dist/{Empty-fV1Yplri.js.map → Empty-DdthjwJz.js.map} +1 -1
  7. package/dist/{Input-C_aFPEXD.js → Input-Bxs8n6xp.js} +2 -2
  8. package/dist/Input-Bxs8n6xp.js.map +1 -0
  9. package/dist/{Kbd-CJOM9x4C.js → Kbd-CAIAs4OO.js} +11 -4
  10. package/dist/Kbd-CAIAs4OO.js.map +1 -0
  11. package/dist/{Label-CrCRic4I.js → Label-CS8ErCaf.js} +2 -2
  12. package/dist/{Label-CrCRic4I.js.map → Label-CS8ErCaf.js.map} +1 -1
  13. package/dist/{MultiEmailInput-DhjSEXbS.js → MultiEmailInput-Du1964Ka.js} +2 -2
  14. package/dist/{MultiEmailInput-DhjSEXbS.js.map → MultiEmailInput-Du1964Ka.js.map} +1 -1
  15. package/dist/{Popover-Cco_6txS.js → Popover-C1FNlRtU.js} +2 -2
  16. package/dist/{Popover-Cco_6txS.js.map → Popover-C1FNlRtU.js.map} +1 -1
  17. package/dist/Toastr-tmAtpmwv.js +182 -0
  18. package/dist/Toastr-tmAtpmwv.js.map +1 -0
  19. package/dist/{Typography-CiQzW5Fy.js → Typography-CmILccNh.js} +3 -2
  20. package/dist/Typography-CmILccNh.js.map +1 -0
  21. package/dist/cjs/{Callout-_XBx1JHL.js → Callout-CYIrflF1.js} +4 -3
  22. package/dist/cjs/{Callout-_XBx1JHL.js.map → Callout-CYIrflF1.js.map} +1 -1
  23. package/dist/cjs/{DataTable-CgQRfaIc.js → DataTable-CT2pgEhZ.js} +46 -8
  24. package/dist/cjs/DataTable-CT2pgEhZ.js.map +1 -0
  25. package/dist/cjs/{Empty-DqmmPlPJ.js → Empty-AEIH-jLF.js} +2 -2
  26. package/dist/cjs/{Empty-DqmmPlPJ.js.map → Empty-AEIH-jLF.js.map} +1 -1
  27. package/dist/cjs/{Input-BngZja62.js → Input-BQh-GS_w.js} +2 -2
  28. package/dist/cjs/Input-BQh-GS_w.js.map +1 -0
  29. package/dist/cjs/{Kbd-D2nELu5m.js → Kbd-BvC3VSNb.js} +11 -4
  30. package/dist/cjs/Kbd-BvC3VSNb.js.map +1 -0
  31. package/dist/cjs/{Label-DFkiC2Jk.js → Label-OpNoSl0F.js} +2 -2
  32. package/dist/cjs/{Label-DFkiC2Jk.js.map → Label-OpNoSl0F.js.map} +1 -1
  33. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js → MultiEmailInput-KmN2BSaX.js} +2 -2
  34. package/dist/cjs/{MultiEmailInput-BZtzoX7D.js.map → MultiEmailInput-KmN2BSaX.js.map} +1 -1
  35. package/dist/cjs/{Popover-Br9hkU5i.js → Popover-DuRSsDHz.js} +2 -2
  36. package/dist/cjs/{Popover-Br9hkU5i.js.map → Popover-DuRSsDHz.js.map} +1 -1
  37. package/dist/cjs/Toastr-CQ-R8VcZ.js +184 -0
  38. package/dist/cjs/Toastr-CQ-R8VcZ.js.map +1 -0
  39. package/dist/cjs/{Typography-UyaYuppP.js → Typography-BW6xEk10.js} +3 -2
  40. package/dist/cjs/Typography-BW6xEk10.js.map +1 -0
  41. package/dist/cjs/components/Callout.js +3 -2
  42. package/dist/cjs/components/Callout.js.map +1 -1
  43. package/dist/cjs/components/DataTable.js +5 -1
  44. package/dist/cjs/components/DataTable.js.map +1 -1
  45. package/dist/cjs/components/Empty.js +2 -2
  46. package/dist/cjs/components/Input.js +2 -2
  47. package/dist/cjs/components/Kbd.js +1 -1
  48. package/dist/cjs/components/Label.js +3 -3
  49. package/dist/cjs/components/MultiEmailInput.js +2 -2
  50. package/dist/cjs/components/Popover.js +2 -2
  51. package/dist/cjs/components/Toastr.js +8 -2
  52. package/dist/cjs/components/Toastr.js.map +1 -1
  53. package/dist/cjs/components/Typography.js +1 -1
  54. package/dist/cjs/components/index.js +14 -13
  55. package/dist/cjs/components/index.js.map +1 -1
  56. package/dist/cjs/formik/Input.js +2 -2
  57. package/dist/cjs/formik/MultiEmailInput.js +2 -2
  58. package/dist/cjs/formik/index.js +3 -3
  59. package/dist/cjs/{index-Vlwnyfvs.js → index-CPmGpPzg.js} +39 -1
  60. package/dist/cjs/index-CPmGpPzg.js.map +1 -0
  61. package/dist/cjs/index.js +14 -13
  62. package/dist/cjs/index.js.map +1 -1
  63. package/dist/cjs/info-DGfDptn1.js +21 -0
  64. package/dist/cjs/info-DGfDptn1.js.map +1 -0
  65. package/dist/cjs/primitives/Kbd.js +39 -10
  66. package/dist/cjs/primitives/Kbd.js.map +1 -1
  67. package/dist/cjs/primitives/Sonner.js +7 -41
  68. package/dist/cjs/primitives/Sonner.js.map +1 -1
  69. package/dist/cjs/primitives/index.js +3 -2
  70. package/dist/cjs/primitives/index.js.map +1 -1
  71. package/dist/cjs/{triangle-alert-ZUMRpmzW.js → triangle-alert-CC-cck8p.js} +1 -17
  72. package/dist/cjs/triangle-alert-CC-cck8p.js.map +1 -0
  73. package/dist/cjs/{withIconSize-BKUwVY6t.js → withIconSize-C6LP0R7o.js} +5 -1
  74. package/dist/cjs/withIconSize-C6LP0R7o.js.map +1 -0
  75. package/dist/components/Callout.js +3 -2
  76. package/dist/components/Callout.js.map +1 -1
  77. package/dist/components/DataTable/components/HeaderDescription.d.ts +6 -0
  78. package/dist/components/DataTable.js +5 -1
  79. package/dist/components/DataTable.js.map +1 -1
  80. package/dist/components/Empty.js +2 -2
  81. package/dist/components/Input/Input.d.ts +7 -4
  82. package/dist/components/Input.js +2 -2
  83. package/dist/components/Kbd/Kbd.d.ts +1 -1
  84. package/dist/components/Kbd.js +1 -1
  85. package/dist/components/Label.js +3 -3
  86. package/dist/components/MultiEmailInput/types.d.ts +7 -4
  87. package/dist/components/MultiEmailInput.js +2 -2
  88. package/dist/components/Popover.js +2 -2
  89. package/dist/components/Toastr/Toastr.d.ts +3 -1
  90. package/dist/components/Toastr/ToastrBody.d.ts +12 -0
  91. package/dist/components/Toastr/utils.d.ts +1 -3
  92. package/dist/components/Toastr.js +8 -2
  93. package/dist/components/Toastr.js.map +1 -1
  94. package/dist/components/Typography/Typography.d.ts +13 -2
  95. package/dist/components/Typography.js +1 -1
  96. package/dist/components/index.js +14 -13
  97. package/dist/components/index.js.map +1 -1
  98. package/dist/formik/Input.js +2 -2
  99. package/dist/formik/MultiEmailInput.js +2 -2
  100. package/dist/formik/index.js +3 -3
  101. package/dist/{index-D_roZz8G.js → index-CDo_esrR.js} +38 -2
  102. package/dist/index-CDo_esrR.js.map +1 -0
  103. package/dist/index.css +3 -0
  104. package/dist/index.js +14 -13
  105. package/dist/index.js.map +1 -1
  106. package/dist/info-BlwkmMZr.js +19 -0
  107. package/dist/info-BlwkmMZr.js.map +1 -0
  108. package/dist/primitives/Kbd.d.ts +3 -4
  109. package/dist/primitives/Kbd.js +20 -10
  110. package/dist/primitives/Kbd.js.map +1 -1
  111. package/dist/primitives/Sonner.js +4 -38
  112. package/dist/primitives/Sonner.js.map +1 -1
  113. package/dist/primitives/index.js +3 -2
  114. package/dist/primitives/index.js.map +1 -1
  115. package/dist/shadcn/components/kbd.d.ts +3 -2
  116. package/dist/{triangle-alert-PXnNWQy_.js → triangle-alert-C434HydH.js} +2 -17
  117. package/dist/triangle-alert-C434HydH.js.map +1 -0
  118. package/dist/utils/withIconSize.d.ts +10 -6
  119. package/dist/{withIconSize-Czt1EelO.js → withIconSize-BonoFXeH.js} +5 -1
  120. package/dist/withIconSize-BonoFXeH.js.map +1 -0
  121. package/package.json +1 -1
  122. package/dist/DataTable-CHxdhAU2.js.map +0 -1
  123. package/dist/Input-C_aFPEXD.js.map +0 -1
  124. package/dist/Kbd-CJOM9x4C.js.map +0 -1
  125. package/dist/Toastr-BimwuEnS.js +0 -95
  126. package/dist/Toastr-BimwuEnS.js.map +0 -1
  127. package/dist/Typography-CiQzW5Fy.js.map +0 -1
  128. package/dist/cjs/DataTable-CgQRfaIc.js.map +0 -1
  129. package/dist/cjs/Input-BngZja62.js.map +0 -1
  130. package/dist/cjs/Kbd-D2nELu5m.js.map +0 -1
  131. package/dist/cjs/Toastr-DYWd66L7.js +0 -97
  132. package/dist/cjs/Toastr-DYWd66L7.js.map +0 -1
  133. package/dist/cjs/Typography-UyaYuppP.js.map +0 -1
  134. package/dist/cjs/index-Vlwnyfvs.js.map +0 -1
  135. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +0 -1
  136. package/dist/cjs/withIconSize-BKUwVY6t.js.map +0 -1
  137. package/dist/index-D_roZz8G.js.map +0 -1
  138. package/dist/triangle-alert-PXnNWQy_.js.map +0 -1
  139. package/dist/withIconSize-Czt1EelO.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Input-BngZja62.js","sources":["../../src/components/Input/constants.ts","../../src/components/Input/utils.ts","../../src/components/Input/Input.tsx"],"sourcesContent":["// Mobile (<768px) uses 16px input font-size to prevent iOS Safari auto-zoom\n// on focus. Desktop (md+) keeps the original text sizes. Small variant also\n// bumps its height on mobile so 16px text doesn't look cramped in a 28px\n// container; medium and large keep their desktop heights.\nexport const SIZE_CONFIG = {\n small: {\n group: \"h-8 md:h-7\",\n input: \"text-base md:text-xs px-2\",\n addonStart: \"ps-1.5\",\n addonEnd: \"pe-1.5\",\n icon: \"size-3.5\",\n },\n medium: {\n group: \"h-8\",\n input: \"text-base md:text-sm\",\n addonStart: \"ps-2\",\n addonEnd: \"pe-2\",\n icon: \"size-4\",\n },\n large: {\n group: \"h-10\",\n input: \"text-base md:text-sm\",\n addonStart: \"ps-2.5\",\n addonEnd: \"pe-2.5\",\n icon: \"size-5\",\n },\n};\n","import React from \"react\";\n\nexport function toFixed(numStr: string, prec: number): string {\n const num = Number(numStr);\n if (Number.isNaN(num)) return numStr;\n\n return num.toFixed(prec);\n}\n\nexport function formatWithPrecision(\n value: string | number | undefined,\n precision: number\n): string | undefined {\n if (precision < 0 || !value) return value as string | undefined;\n\n const str = value.toString();\n const trimmed = str.trim();\n if (trimmed !== \"\" && !Number.isNaN(Number(trimmed)))\n return toFixed(str, precision);\n\n return str;\n}\n\nexport function enforceDecimalPrecision(\n value: string,\n precision: number\n): string {\n if (precision < 0 || !value) return value;\n\n const valueStr = value.toString();\n if (precision === 0) return valueStr.split(\".\")[0];\n\n const regex = new RegExp(`^\\\\d*\\\\.?\\\\d{0,${precision}}$`);\n if (regex.test(valueStr)) return value;\n\n const parts = valueStr.split(\".\");\n if (parts.length === 1) return parts[0];\n\n return `${parts[0]}.${parts[1].substring(0, precision)}`;\n}\n\nexport function formatWithRejectCharsRegex(\n value: string,\n rejectCharsRegex?: RegExp\n): string {\n if (!rejectCharsRegex) return value;\n\n const globalRegex = new RegExp(rejectCharsRegex, \"g\");\n\n return value.replace(globalRegex, \"\");\n}\n\nexport function getTrimmedValue(\n value: string | number,\n disableTrimOnBlur: boolean\n): string | number {\n if (disableTrimOnBlur || typeof value !== \"string\") return value;\n\n return value.trim();\n}\n\nexport function preserveCursor(\n e: React.ChangeEvent<HTMLInputElement>,\n updateValueFn: () => React.ChangeEvent<HTMLInputElement>\n) {\n const input = e.target;\n const prevCursor = input.selectionStart;\n const prevValue = input.value;\n\n const updatedEvent = updateValueFn();\n\n const lengthDiff = input.value.length - prevValue.length;\n const newCursor = Math.max(0, (prevCursor ?? 0) + lengthDiff);\n\n requestAnimationFrame(() => {\n if (document.activeElement !== input) return;\n if (input.type === \"number\") return;\n\n input.setSelectionRange(newCursor, newCursor);\n });\n\n return updatedEvent;\n}\n","import React, { forwardRef, useId, useState } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupText,\n InputGroupInput,\n} from \"src/primitives/InputGroup\";\nimport { withIconSize } from \"src/utils/withIconSize\";\n\nimport { SIZE_CONFIG } from \"./constants\";\nimport {\n formatWithPrecision,\n enforceDecimalPrecision,\n formatWithRejectCharsRegex,\n getTrimmedValue,\n preserveCursor,\n} from \"./utils\";\n\ntype InputSize = \"small\" | \"medium\" | \"large\";\n\nexport interface InputProps extends Omit<\n React.ComponentProps<\"input\">,\n \"size\" | \"prefix\" | \"value\"\n> {\n /** Controlled value. */\n value?: string | number;\n /** Size of the input. */\n size?: InputSize;\n /** Input type. */\n type?: string;\n /** Label displayed above the input. */\n label?: string;\n /** Error message displayed below the input. */\n error?: string;\n /** Help text displayed below the input. Accepts string or ReactNode. */\n helpText?: React.ReactNode;\n /** Content rendered before the input. */\n prefix?: React.ReactNode;\n /** Content rendered after the input. */\n suffix?: React.ReactNode;\n /** Removes borders from the input. */\n nakedInput?: boolean;\n /** HTML size attribute for the input element. */\n contentSize?: number;\n /** Maximum character limit. Counter visible at 85%. */\n maxLength?: number;\n /** Allow typing past maxLength, show error styling on count. */\n unlimitedChars?: boolean;\n /** Regex to reject matching characters from input. */\n rejectCharsRegex?: RegExp;\n /** Prevent trimming whitespace on blur. */\n disableTrimOnBlur?: boolean;\n /** Decimal places for number formatting. -1 to disable. */\n precision?: number;\n /** Props forwarded to the Label element. */\n labelProps?: React.ComponentProps<typeof FieldLabel>;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n size = \"medium\",\n type = \"text\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n prefix = null,\n suffix = null,\n disabled = false,\n nakedInput = false,\n contentSize,\n required = false,\n maxLength,\n unlimitedChars = false,\n rejectCharsRegex,\n disableTrimOnBlur = false,\n precision = -1,\n labelProps,\n className = \"\",\n onBlur,\n onChange,\n value: controlledValue,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = otherProps.id ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n // Controlled / uncontrolled value tracking\n const [valueInternal, setValueInternal] = useState(controlledValue);\n const isControlled = controlledValue !== undefined;\n\n const value =\n formatWithPrecision(controlledValue, precision) ?? valueInternal ?? \"\";\n const valueLength = value?.toString().length || 0;\n\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n const isCharacterLimitVisible =\n isMaxLengthPresent && valueLength >= maxLength! * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength!;\n\n // --- Handlers ---\n\n const onChangeInternal = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setValueInternal(e.target.value);\n }\n onChange?.(e);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (type === \"file\") {\n onChangeInternal(e);\n\n return;\n }\n\n let formattedValue = formatWithRejectCharsRegex(\n e.target.value,\n rejectCharsRegex\n );\n formattedValue = enforceDecimalPrecision(formattedValue, precision);\n\n if (formattedValue !== e.target.value) {\n preserveCursor(e, () => {\n const syntheticEvent = Object.create(e, {\n target: { value: { ...e.target, value: formattedValue } },\n });\n e.target.value = formattedValue;\n onChangeInternal(syntheticEvent);\n\n return syntheticEvent;\n });\n } else {\n onChangeInternal(e);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (type === \"file\") {\n onBlur?.(e);\n\n return;\n }\n\n const trimmedValue = getTrimmedValue(value, disableTrimOnBlur);\n const formattedValue = formatWithPrecision(trimmedValue, precision);\n\n if (formattedValue !== undefined && formattedValue !== value) {\n e.target.value = formattedValue.toString();\n handleChange(e as unknown as React.ChangeEvent<HTMLInputElement>);\n }\n\n onBlur?.(e);\n };\n\n const handleWheel = (e: React.WheelEvent<HTMLInputElement>) => {\n if (type === \"number\") (e.target as HTMLInputElement).blur();\n };\n\n // --- aria-describedby ---\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n // --- Render ---\n\n const hasField = !!(label || error || helpText);\n const sizeConfig = SIZE_CONFIG[size];\n\n const inputGroup = (\n <InputGroup\n className={cn(\n sizeConfig.group,\n nakedInput &&\n \"border-0 shadow-none has-[[data-slot=input-group-control]:focus-visible]:ring-0 has-[[data-slot=input-group-control]:focus-visible]:border-transparent\",\n !!error &&\n !nakedInput &&\n \"border-destructive ring-destructive/20 ring-3\",\n !hasField && className\n )}\n >\n {prefix && (\n <InputGroupAddon\n align=\"inline-start\"\n className={sizeConfig.addonStart}\n >\n <InputGroupText>\n {withIconSize(prefix, sizeConfig.icon)}\n </InputGroupText>\n </InputGroupAddon>\n )}\n <InputGroupInput\n ref={ref}\n id={id}\n type={type}\n disabled={disabled}\n required={required}\n size={contentSize}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(sizeConfig.input, nakedInput && \"px-0\")}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onWheel={handleWheel}\n {...(isMaxLengthPresent && !unlimitedChars ? { maxLength } : {})}\n {...otherProps}\n />\n {suffix && (\n <InputGroupAddon align=\"inline-end\" className={sizeConfig.addonEnd}>\n <InputGroupText>\n {withIconSize(suffix, sizeConfig.icon)}\n </InputGroupText>\n </InputGroupAddon>\n )}\n </InputGroup>\n );\n\n if (!hasField) {\n return inputGroup;\n }\n\n return (\n <Field\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {(label || isCharacterLimitVisible) && (\n <div className=\"flex items-center justify-between\">\n {label && (\n <FieldLabel htmlFor={id} {...labelProps}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n {isCharacterLimitVisible && (\n <span\n className={cn(\n \"text-xs tabular-nums\",\n maxLengthError ? \"text-destructive\" : \"text-muted-foreground\"\n )}\n >\n {valueLength}/{maxLength}\n </span>\n )}\n </div>\n )}\n <FieldContent>\n {inputGroup}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nInput.displayName = \"Input\";\n\nexport { Input };\n"],"names":["forwardRef","useId","useState","jsxs","InputGroup","cn","jsx","InputGroupAddon","InputGroupText","withIconSize","InputGroupInput","Field","FieldLabel","FieldContent","FieldError","FieldDescription"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Kbd-D2nELu5m.js","sources":["../../src/components/Kbd/constants.ts","../../src/components/Kbd/Kbd.tsx"],"sourcesContent":["export const SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n auto: \"top\",\n};\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Kbd as PrimitiveKbd,\n KbdGroup as PrimitiveKbdGroup,\n} from \"src/primitives/Kbd\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\n\nimport { SIDE_MAP } from \"./constants\";\n\nexport interface KbdProps extends React.ComponentProps<typeof PrimitiveKbd> {\n /** Optional tooltip to display on hover. */\n tooltipProps?: {\n content?: React.ReactNode;\n position?: string;\n };\n /** Additional CSS class names. */\n className?: string;\n}\n\nconst Kbd = forwardRef<HTMLElement, KbdProps>(\n ({ tooltipProps, className, ...otherProps }, ref) => {\n const kbd = (\n <PrimitiveKbd ref={ref} className={cn(className)} {...otherProps} />\n );\n\n if (!tooltipProps?.content) {\n return kbd;\n }\n\n const side = SIDE_MAP[tooltipProps.position ?? \"auto\"] ?? \"top\";\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{kbd}</TooltipTrigger>\n <TooltipContent side={side}>{tooltipProps.content}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n);\n\nKbd.displayName = \"Kbd\";\n\nconst KbdGroup = PrimitiveKbdGroup;\n\nconst KbdNamespace = Object.assign(Kbd, { Group: KbdGroup });\n\nexport { KbdNamespace as Kbd };\n"],"names":["forwardRef","PrimitiveKbd","cn","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","TooltipContent","PrimitiveKbdGroup"],"mappings":";;;;;;;;AAAO,MAAM,QAAA,GAAgE;AAAA,EAC3E,GAAA,EAAK,KAAA;AAAA,EACL,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,WAAA,EAAa,KAAA;AAAA,EACb,SAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAgB,QAAA;AAAA,EAChB,YAAA,EAAc,QAAA;AAAA,EACd,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAY,MAAA;AAAA,EACZ,aAAA,EAAe,OAAA;AAAA,EACf,WAAA,EAAa,OAAA;AAAA,EACb,IAAA,EAAM;AACR,CAAA;;ACYA,MAAM,GAAA,GAAMA,gBAAA;AAAA,EACV,CAAC,EAAE,YAAA,EAAc,WAAW,GAAG,UAAA,IAAc,GAAA,KAAQ;AACnD,IAAA,MAAM,GAAA,kCACHC,kBAAA,EAAA,EAAa,GAAA,EAAU,WAAWC,QAAA,CAAG,SAAS,CAAA,EAAI,GAAG,UAAA,EAAY,CAAA;AAGpE,IAAA,IAAI,CAAC,cAAc,OAAA,EAAS;AAC1B,MAAA,OAAO,GAAA;AAAA,IACT;AAEA,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,YAAA,CAAa,QAAA,IAAY,MAAM,CAAA,IAAK,KAAA;AAE1D,IAAA,uBACEC,cAAA,CAACC,kCAAA,EAAA,EACC,QAAA,kBAAAC,eAAA,CAACC,0BAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAAH,cAAA,CAACI,iCAAA,EAAA,EAAe,OAAA,EAAO,IAAA,EAAE,QAAA,EAAA,GAAA,EAAI,CAAA;AAAA,sBAC7BJ,cAAA,CAACK,iCAAA,EAAA,EAAe,IAAA,EAAa,QAAA,EAAA,YAAA,CAAa,OAAA,EAAQ;AAAA,KAAA,EACpD,CAAA,EACF,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;AAElB,MAAM,QAAA,GAAWC,uBAAA;AAEjB,MAAM,eAAe,MAAA,CAAO,MAAA,CAAO,KAAK,EAAE,KAAA,EAAO,UAAU;;;;"}
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./index-Vlwnyfvs.js');
4
-
5
- const activeToasts = /* @__PURE__ */ new Set();
6
- function toastKey(type, message, buttonLabel) {
7
- return `${type}::${message}::${buttonLabel ?? ""}`;
8
- }
9
- function getContentDir() {
10
- if (typeof document === "undefined") return "ltr";
11
- return document.documentElement.getAttribute("dir") ?? document.body.getAttribute("dir") ?? "ltr";
12
- }
13
- function resolveMessage(message) {
14
- if (typeof message === "string") return message;
15
- if (message && typeof message === "object") {
16
- if (message.customMessage) return message.customMessage;
17
- if (message.notice) return message.notice;
18
- if (message.noticeCode) return message.noticeCode;
19
- }
20
- return String(message);
21
- }
22
- function resolveErrorMessage(errorObject) {
23
- if (typeof errorObject === "string") return errorObject;
24
- if (errorObject && typeof errorObject === "object") {
25
- const axiosLike = errorObject;
26
- if (axiosLike.response?.data) {
27
- const data = axiosLike.response.data;
28
- if (data.customMessage) return String(data.customMessage);
29
- if (data.error) return String(data.error);
30
- if (Array.isArray(data.errors)) return data.errors.join("\n");
31
- if (data.noticeCode) return String(data.noticeCode);
32
- }
33
- if (axiosLike.isAxiosError && axiosLike.message) return axiosLike.message;
34
- if (errorObject instanceof Error) return errorObject.message;
35
- return resolveMessage(errorObject);
36
- }
37
- return "Something went wrong.";
38
- }
39
- function showToast(type, message, config) {
40
- const { buttonLabel, onClick, showIcon, ...restConfig } = config ?? {};
41
- const key = toastKey(type, message, buttonLabel);
42
- if (activeToasts.has(key)) return void 0;
43
- activeToasts.add(key);
44
- const options = {
45
- onDismiss: () => activeToasts.delete(key),
46
- onAutoClose: () => activeToasts.delete(key),
47
- position: getContentDir() === "rtl" ? "bottom-right" : "bottom-left",
48
- ...restConfig
49
- };
50
- if (buttonLabel) {
51
- options.action = {
52
- label: buttonLabel,
53
- onClick: onClick ?? (() => {
54
- })
55
- };
56
- }
57
- if (showIcon === false) {
58
- options.icon = null;
59
- }
60
- return index.toast[type](message, options);
61
- }
62
- function parseConfig(args) {
63
- if (args.length === 0) return {};
64
- const first = args[0];
65
- if (typeof first === "object" && first !== null && !Array.isArray(first)) {
66
- return first;
67
- }
68
- const [buttonLabel, onClick, customConfig, showIcon] = args;
69
- return {
70
- ...buttonLabel ? { buttonLabel } : {},
71
- ...onClick ? { onClick } : {},
72
- ...showIcon !== void 0 ? { showIcon } : {},
73
- ...customConfig ?? {}
74
- };
75
- }
76
-
77
- const Toastr = {
78
- success(message, ...args) {
79
- return showToast("success", resolveMessage(message), parseConfig(args));
80
- },
81
- info(message, ...args) {
82
- return showToast("info", resolveMessage(message), parseConfig(args));
83
- },
84
- show(message, ...args) {
85
- return showToast("info", resolveMessage(message), parseConfig(args));
86
- },
87
- warning(message, ...args) {
88
- return showToast("warning", resolveMessage(message), parseConfig(args));
89
- },
90
- error(errorObject, ...args) {
91
- const msg = resolveErrorMessage(errorObject);
92
- return showToast("error", msg, parseConfig(args));
93
- }
94
- };
95
-
96
- exports.Toastr = Toastr;
97
- //# sourceMappingURL=Toastr-DYWd66L7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toastr-DYWd66L7.js","sources":["../../src/components/Toastr/utils.ts","../../src/components/Toastr/Toastr.tsx"],"sourcesContent":["import { toast } from \"sonner\";\n\nimport type { ToastrConfig, ToastrErrorInput, ToastrMessage } from \"./Toastr\";\n\ntype SonnerType = \"success\" | \"info\" | \"warning\" | \"error\";\n\nconst activeToasts = new Set<string>();\n\nfunction toastKey(type: string, message: string, buttonLabel?: string): string {\n return `${type}::${message}::${buttonLabel ?? \"\"}`;\n}\n\nfunction getContentDir(): \"ltr\" | \"rtl\" {\n if (typeof document === \"undefined\") return \"ltr\";\n return (\n (document.documentElement.getAttribute(\"dir\") as \"ltr\" | \"rtl\") ??\n (document.body.getAttribute(\"dir\") as \"ltr\" | \"rtl\") ??\n \"ltr\"\n );\n}\n\nfunction resolveMessage(message: ToastrMessage): string {\n if (typeof message === \"string\") return message;\n if (message && typeof message === \"object\") {\n if (message.customMessage) return message.customMessage;\n if (message.notice) return message.notice;\n if (message.noticeCode) return message.noticeCode;\n }\n return String(message);\n}\n\nfunction resolveErrorMessage(errorObject: ToastrErrorInput): string {\n if (typeof errorObject === \"string\") return errorObject;\n\n if (errorObject && typeof errorObject === \"object\") {\n // Axios-style error\n const axiosLike = errorObject as {\n response?: { data?: Record<string, unknown> };\n message?: string;\n isAxiosError?: boolean;\n };\n\n if (axiosLike.response?.data) {\n const data = axiosLike.response.data;\n if (data.customMessage) return String(data.customMessage);\n if (data.error) return String(data.error);\n if (Array.isArray(data.errors)) return data.errors.join(\"\\n\");\n if (data.noticeCode) return String(data.noticeCode);\n }\n\n if (axiosLike.isAxiosError && axiosLike.message) return axiosLike.message;\n\n // Native Error\n if (errorObject instanceof Error) return errorObject.message;\n\n // ToastrMessage object\n return resolveMessage(errorObject as ToastrMessage);\n }\n\n return \"Something went wrong.\";\n}\n\nfunction showToast(\n type: SonnerType,\n message: string,\n config?: ToastrConfig\n): string | number | undefined {\n const { buttonLabel, onClick, showIcon, ...restConfig } = config ?? {};\n\n const key = toastKey(type, message, buttonLabel);\n\n if (activeToasts.has(key)) return undefined;\n activeToasts.add(key);\n\n const options: Record<string, unknown> = {\n onDismiss: () => activeToasts.delete(key),\n onAutoClose: () => activeToasts.delete(key),\n position: getContentDir() === \"rtl\" ? \"bottom-right\" : \"bottom-left\",\n ...restConfig,\n };\n\n if (buttonLabel) {\n options.action = {\n label: buttonLabel,\n onClick: onClick ?? (() => {}),\n };\n }\n\n // When showIcon is explicitly false, hide the type icon\n if (showIcon === false) {\n options.icon = null;\n }\n\n return toast[type](message, options);\n}\n\nfunction parseConfig(args: unknown[]): ToastrConfig {\n if (args.length === 0) return {};\n\n const first = args[0];\n if (typeof first === \"object\" && first !== null && !Array.isArray(first)) {\n return first as ToastrConfig;\n }\n\n // Legacy positional args: buttonLabel, onClick, customConfig, showIcon\n const [buttonLabel, onClick, customConfig, showIcon] = args as [\n string?,\n (() => void)?,\n Record<string, unknown>?,\n boolean?,\n ];\n\n return {\n ...(buttonLabel ? { buttonLabel } : {}),\n ...(onClick ? { onClick } : {}),\n ...(showIcon !== undefined ? { showIcon } : {}),\n ...(customConfig ?? {}),\n };\n}\n\nexport {\n activeToasts,\n getContentDir,\n parseConfig,\n resolveErrorMessage,\n resolveMessage,\n showToast,\n toastKey,\n};\n","import {\n parseConfig,\n resolveErrorMessage,\n resolveMessage,\n showToast,\n} from \"./utils\";\n\nexport interface ToastrConfig {\n /** Label for an action button inside the toast. */\n buttonLabel?: string;\n /** Callback when the action button is clicked. */\n onClick?: () => void;\n /** Whether to show the type icon in the toast. */\n showIcon?: boolean;\n /** Additional sonner toast options (duration, position, dismissible, etc.). */\n [key: string]: unknown;\n}\n\nexport type ToastrMessage =\n | string\n | { noticeCode?: string; customMessage?: string; notice?: string };\n\nexport type ToastrErrorInput =\n | string\n | Error\n | {\n response?: { data?: Record<string, unknown> };\n message?: string;\n isAxiosError?: boolean;\n }\n | ToastrMessage;\n\nconst Toastr = {\n success(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"success\", resolveMessage(message), parseConfig(args));\n },\n\n info(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"info\", resolveMessage(message), parseConfig(args));\n },\n\n show(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"info\", resolveMessage(message), parseConfig(args));\n },\n\n warning(message: ToastrMessage, ...args: unknown[]) {\n return showToast(\"warning\", resolveMessage(message), parseConfig(args));\n },\n\n error(errorObject: ToastrErrorInput, ...args: unknown[]) {\n const msg = resolveErrorMessage(errorObject);\n return showToast(\"error\", msg, parseConfig(args));\n },\n};\n\nexport { Toastr };\n"],"names":["toast"],"mappings":";;;;AAMA,MAAM,YAAA,uBAAmB,GAAA,EAAY;AAErC,SAAS,QAAA,CAAS,IAAA,EAAc,OAAA,EAAiB,WAAA,EAA8B;AAC7E,EAAA,OAAO,GAAG,IAAI,CAAA,EAAA,EAAK,OAAO,CAAA,EAAA,EAAK,eAAe,EAAE,CAAA,CAAA;AAClD;AAEA,SAAS,aAAA,GAA+B;AACtC,EAAA,IAAI,OAAO,QAAA,KAAa,WAAA,EAAa,OAAO,KAAA;AAC5C,EAAA,OACG,QAAA,CAAS,gBAAgB,YAAA,CAAa,KAAK,KAC3C,QAAA,CAAS,IAAA,CAAK,YAAA,CAAa,KAAK,CAAA,IACjC,KAAA;AAEJ;AAEA,SAAS,eAAe,OAAA,EAAgC;AACtD,EAAA,IAAI,OAAO,OAAA,KAAY,QAAA,EAAU,OAAO,OAAA;AACxC,EAAA,IAAI,OAAA,IAAW,OAAO,OAAA,KAAY,QAAA,EAAU;AAC1C,IAAA,IAAI,OAAA,CAAQ,aAAA,EAAe,OAAO,OAAA,CAAQ,aAAA;AAC1C,IAAA,IAAI,OAAA,CAAQ,MAAA,EAAQ,OAAO,OAAA,CAAQ,MAAA;AACnC,IAAA,IAAI,OAAA,CAAQ,UAAA,EAAY,OAAO,OAAA,CAAQ,UAAA;AAAA,EACzC;AACA,EAAA,OAAO,OAAO,OAAO,CAAA;AACvB;AAEA,SAAS,oBAAoB,WAAA,EAAuC;AAClE,EAAA,IAAI,OAAO,WAAA,KAAgB,QAAA,EAAU,OAAO,WAAA;AAE5C,EAAA,IAAI,WAAA,IAAe,OAAO,WAAA,KAAgB,QAAA,EAAU;AAElD,IAAA,MAAM,SAAA,GAAY,WAAA;AAMlB,IAAA,IAAI,SAAA,CAAU,UAAU,IAAA,EAAM;AAC5B,MAAA,MAAM,IAAA,GAAO,UAAU,QAAA,CAAS,IAAA;AAChC,MAAA,IAAI,IAAA,CAAK,aAAA,EAAe,OAAO,MAAA,CAAO,KAAK,aAAa,CAAA;AACxD,MAAA,IAAI,IAAA,CAAK,KAAA,EAAO,OAAO,MAAA,CAAO,KAAK,KAAK,CAAA;AACxC,MAAA,IAAI,KAAA,CAAM,QAAQ,IAAA,CAAK,MAAM,GAAG,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAC5D,MAAA,IAAI,IAAA,CAAK,UAAA,EAAY,OAAO,MAAA,CAAO,KAAK,UAAU,CAAA;AAAA,IACpD;AAEA,IAAA,IAAI,SAAA,CAAU,YAAA,IAAgB,SAAA,CAAU,OAAA,SAAgB,SAAA,CAAU,OAAA;AAGlE,IAAA,IAAI,WAAA,YAAuB,KAAA,EAAO,OAAO,WAAA,CAAY,OAAA;AAGrD,IAAA,OAAO,eAAe,WAA4B,CAAA;AAAA,EACpD;AAEA,EAAA,OAAO,uBAAA;AACT;AAEA,SAAS,SAAA,CACP,IAAA,EACA,OAAA,EACA,MAAA,EAC6B;AAC7B,EAAA,MAAM,EAAE,aAAa,OAAA,EAAS,QAAA,EAAU,GAAG,UAAA,EAAW,GAAI,UAAU,EAAC;AAErE,EAAA,MAAM,GAAA,GAAM,QAAA,CAAS,IAAA,EAAM,OAAA,EAAS,WAAW,CAAA;AAE/C,EAAA,IAAI,YAAA,CAAa,GAAA,CAAI,GAAG,CAAA,EAAG,OAAO,MAAA;AAClC,EAAA,YAAA,CAAa,IAAI,GAAG,CAAA;AAEpB,EAAA,MAAM,OAAA,GAAmC;AAAA,IACvC,SAAA,EAAW,MAAM,YAAA,CAAa,MAAA,CAAO,GAAG,CAAA;AAAA,IACxC,WAAA,EAAa,MAAM,YAAA,CAAa,MAAA,CAAO,GAAG,CAAA;AAAA,IAC1C,QAAA,EAAU,aAAA,EAAc,KAAM,KAAA,GAAQ,cAAA,GAAiB,aAAA;AAAA,IACvD,GAAG;AAAA,GACL;AAEA,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,OAAA,CAAQ,MAAA,GAAS;AAAA,MACf,KAAA,EAAO,WAAA;AAAA,MACP,OAAA,EAAS,YAAY,MAAM;AAAA,MAAC,CAAA;AAAA,KAC9B;AAAA,EACF;AAGA,EAAA,IAAI,aAAa,KAAA,EAAO;AACtB,IAAA,OAAA,CAAQ,IAAA,GAAO,IAAA;AAAA,EACjB;AAEA,EAAA,OAAOA,WAAA,CAAM,IAAI,CAAA,CAAE,OAAA,EAAS,OAAO,CAAA;AACrC;AAEA,SAAS,YAAY,IAAA,EAA+B;AAClD,EAAA,IAAI,IAAA,CAAK,MAAA,KAAW,CAAA,EAAG,OAAO,EAAC;AAE/B,EAAA,MAAM,KAAA,GAAQ,KAAK,CAAC,CAAA;AACpB,EAAA,IAAI,OAAO,UAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxE,IAAA,OAAO,KAAA;AAAA,EACT;AAGA,EAAA,MAAM,CAAC,WAAA,EAAa,OAAA,EAAS,YAAA,EAAc,QAAQ,CAAA,GAAI,IAAA;AAOvD,EAAA,OAAO;AAAA,IACL,GAAI,WAAA,GAAc,EAAE,WAAA,KAAgB,EAAC;AAAA,IACrC,GAAI,OAAA,GAAU,EAAE,OAAA,KAAY,EAAC;AAAA,IAC7B,GAAI,QAAA,KAAa,MAAA,GAAY,EAAE,QAAA,KAAa,EAAC;AAAA,IAC7C,GAAI,gBAAgB;AAAC,GACvB;AACF;;ACtFA,MAAM,MAAA,GAAS;AAAA,EACb,OAAA,CAAQ,YAA2B,IAAA,EAAiB;AAClD,IAAA,OAAO,UAAU,SAAA,EAAW,cAAA,CAAe,OAAO,CAAA,EAAG,WAAA,CAAY,IAAI,CAAC,CAAA;AAAA,EACxE,CAAA;AAAA,EAEA,IAAA,CAAK,YAA2B,IAAA,EAAiB;AAC/C,IAAA,OAAO,UAAU,MAAA,EAAQ,cAAA,CAAe,OAAO,CAAA,EAAG,WAAA,CAAY,IAAI,CAAC,CAAA;AAAA,EACrE,CAAA;AAAA,EAEA,IAAA,CAAK,YAA2B,IAAA,EAAiB;AAC/C,IAAA,OAAO,UAAU,MAAA,EAAQ,cAAA,CAAe,OAAO,CAAA,EAAG,WAAA,CAAY,IAAI,CAAC,CAAA;AAAA,EACrE,CAAA;AAAA,EAEA,OAAA,CAAQ,YAA2B,IAAA,EAAiB;AAClD,IAAA,OAAO,UAAU,SAAA,EAAW,cAAA,CAAe,OAAO,CAAA,EAAG,WAAA,CAAY,IAAI,CAAC,CAAA;AAAA,EACxE,CAAA;AAAA,EAEA,KAAA,CAAM,gBAAkC,IAAA,EAAiB;AACvD,IAAA,MAAM,GAAA,GAAM,oBAAoB,WAAW,CAAA;AAC3C,IAAA,OAAO,SAAA,CAAU,OAAA,EAAS,GAAA,EAAK,WAAA,CAAY,IAAI,CAAC,CAAA;AAAA,EAClD;AACF;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Typography-UyaYuppP.js","sources":["../../src/components/Typography/Typography.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n jumbo: \"text-5xl font-semibold leading-none tracking-tight\",\n h1: \"text-[2.5rem] font-semibold leading-tight tracking-tight\",\n h2: \"text-[2rem] font-semibold leading-tight tracking-tight\",\n h3: \"text-[1.75rem] font-semibold leading-tight\",\n h4: \"text-2xl font-semibold leading-tight\",\n h5: \"text-xl font-semibold leading-tight\",\n h6: \"text-base font-semibold leading-tight\",\n body1: \"text-base leading-normal\",\n body2: \"text-[15px] leading-normal\",\n body3: \"text-sm leading-normal\",\n caption: \"text-xs leading-normal\",\n nano: \"text-[10px] leading-normal\",\n code: \"font-mono text-sm\",\n },\n weight: {\n thin: \"font-thin\",\n extralight: \"font-extralight\",\n light: \"font-light\",\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n extrabold: \"font-extrabold\",\n black: \"font-black\",\n },\n color: {\n default: \"text-foreground\",\n muted: \"text-muted-foreground\",\n primary: \"text-primary\",\n destructive: \"text-destructive\",\n inherit: \"text-inherit\",\n },\n lineClamp: {\n none: \"\",\n 1: \"line-clamp-1\",\n 2: \"line-clamp-2\",\n 3: \"line-clamp-3\",\n },\n },\n defaultVariants: {\n variant: \"body3\",\n color: \"default\",\n },\n});\n\nconst defaultElementMap: Record<string, keyof React.JSX.IntrinsicElements> = {\n jumbo: \"h1\",\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body1: \"p\",\n body2: \"p\",\n body3: \"p\",\n caption: \"span\",\n nano: \"span\",\n code: \"code\",\n};\n\nconst Typography = forwardRef<\n HTMLElement,\n React.ComponentProps<\"p\"> &\n VariantProps<typeof typographyVariants> & {\n asChild?: boolean;\n }\n>(\n (\n {\n className,\n variant = \"body3\",\n weight,\n color = \"default\",\n lineClamp,\n asChild = false,\n ...props\n },\n ref\n ) => {\n const Comp = (\n asChild ? Slot.Root : (defaultElementMap[variant ?? \"body3\"] ?? \"p\")\n ) as React.ElementType;\n\n return (\n <Comp\n ref={ref}\n data-slot=\"typography\"\n data-variant={variant}\n className={cn(\n typographyVariants({ variant, weight, color, lineClamp, className })\n )}\n {...props}\n />\n );\n }\n);\n\nTypography.displayName = \"Typography\";\n\nexport { Typography, typographyVariants };\n"],"names":["cva","forwardRef","Slot.Root","jsx","cn"],"mappings":";;;;;;;;AAMA,MAAM,kBAAA,GAAqBA,YAAI,EAAA,EAAI;AAAA,EACjC,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,oDAAA;AAAA,MACP,EAAA,EAAI,0DAAA;AAAA,MACJ,EAAA,EAAI,wDAAA;AAAA,MACJ,EAAA,EAAI,4CAAA;AAAA,MACJ,EAAA,EAAI,sCAAA;AAAA,MACJ,EAAA,EAAI,qCAAA;AAAA,MACJ,EAAA,EAAI,uCAAA;AAAA,MACJ,KAAA,EAAO,0BAAA;AAAA,MACP,KAAA,EAAO,4BAAA;AAAA,MACP,KAAA,EAAO,wBAAA;AAAA,MACP,OAAA,EAAS,wBAAA;AAAA,MACT,IAAA,EAAM,4BAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM,WAAA;AAAA,MACN,UAAA,EAAY,iBAAA;AAAA,MACZ,KAAA,EAAO,YAAA;AAAA,MACP,MAAA,EAAQ,aAAA;AAAA,MACR,MAAA,EAAQ,aAAA;AAAA,MACR,QAAA,EAAU,eAAA;AAAA,MACV,IAAA,EAAM,WAAA;AAAA,MACN,SAAA,EAAW,gBAAA;AAAA,MACX,KAAA,EAAO;AAAA,KACT;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,iBAAA;AAAA,MACT,KAAA,EAAO,uBAAA;AAAA,MACP,OAAA,EAAS,cAAA;AAAA,MACT,WAAA,EAAa,kBAAA;AAAA,MACb,OAAA,EAAS;AAAA,KACX;AAAA,IACA,SAAA,EAAW;AAAA,MACT,IAAA,EAAM,EAAA;AAAA,MACN,CAAA,EAAG,cAAA;AAAA,MACH,CAAA,EAAG,cAAA;AAAA,MACH,CAAA,EAAG;AAAA;AACL,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,OAAA;AAAA,IACT,KAAA,EAAO;AAAA;AAEX,CAAC;AAED,MAAM,iBAAA,GAAuE;AAAA,EAC3E,KAAA,EAAO,IAAA;AAAA,EACP,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,EAAA,EAAI,IAAA;AAAA,EACJ,KAAA,EAAO,GAAA;AAAA,EACP,KAAA,EAAO,GAAA;AAAA,EACP,KAAA,EAAO,GAAA;AAAA,EACP,OAAA,EAAS,MAAA;AAAA,EACT,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AACR,CAAA;AAEA,MAAM,UAAA,GAAaC,gBAAA;AAAA,EAOjB,CACE;AAAA,IACE,SAAA;AAAA,IACA,OAAA,GAAU,OAAA;AAAA,IACV,MAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,SAAA;AAAA,IACA,OAAA,GAAU,KAAA;AAAA,IACV,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,OACJ,OAAA,GAAUC,aAAa,iBAAA,CAAkB,OAAA,IAAW,OAAO,CAAA,IAAK,GAAA;AAGlE,IAAA,uBACEC,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,YAAA;AAAA,QACV,cAAA,EAAc,OAAA;AAAA,QACd,SAAA,EAAWC,QAAA;AAAA,UACT,mBAAmB,EAAE,OAAA,EAAS,QAAQ,KAAA,EAAO,SAAA,EAAW,WAAW;AAAA,SACrE;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-Vlwnyfvs.js","sources":["../../node_modules/sonner/dist/index.mjs"],"sourcesContent":["'use client';\nfunction __insertCSS(code) {\n if (!code || typeof document == 'undefined') return\n let head = document.head || document.getElementsByTagName('head')[0]\n let style = document.createElement('style')\n style.type = 'text/css'\n head.appendChild(style)\n ;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code))\n}\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nconst getAsset = (type)=>{\n switch(type){\n case 'success':\n return SuccessIcon;\n case 'info':\n return InfoIcon;\n case 'warning':\n return WarningIcon;\n case 'error':\n return ErrorIcon;\n default:\n return null;\n }\n};\nconst bars = Array(12).fill(0);\nconst Loader = ({ visible, className })=>{\n return /*#__PURE__*/ React.createElement(\"div\", {\n className: [\n 'sonner-loading-wrapper',\n className\n ].filter(Boolean).join(' '),\n \"data-visible\": visible\n }, /*#__PURE__*/ React.createElement(\"div\", {\n className: \"sonner-spinner\"\n }, bars.map((_, i)=>/*#__PURE__*/ React.createElement(\"div\", {\n className: \"sonner-loading-bar\",\n key: `spinner-bar-${i}`\n }))));\n};\nconst SuccessIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\",\n clipRule: \"evenodd\"\n}));\nconst WarningIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z\",\n clipRule: \"evenodd\"\n}));\nconst InfoIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\",\n clipRule: \"evenodd\"\n}));\nconst ErrorIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n height: \"20\",\n width: \"20\"\n}, /*#__PURE__*/ React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\",\n clipRule: \"evenodd\"\n}));\nconst CloseIcon = /*#__PURE__*/ React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"12\",\n height: \"12\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/ React.createElement(\"line\", {\n x1: \"18\",\n y1: \"6\",\n x2: \"6\",\n y2: \"18\"\n}), /*#__PURE__*/ React.createElement(\"line\", {\n x1: \"6\",\n y1: \"6\",\n x2: \"18\",\n y2: \"18\"\n}));\n\nconst useIsDocumentHidden = ()=>{\n const [isDocumentHidden, setIsDocumentHidden] = React.useState(document.hidden);\n React.useEffect(()=>{\n const callback = ()=>{\n setIsDocumentHidden(document.hidden);\n };\n document.addEventListener('visibilitychange', callback);\n return ()=>window.removeEventListener('visibilitychange', callback);\n }, []);\n return isDocumentHidden;\n};\n\nlet toastsCounter = 1;\nclass Observer {\n constructor(){\n // We use arrow functions to maintain the correct `this` reference\n this.subscribe = (subscriber)=>{\n this.subscribers.push(subscriber);\n return ()=>{\n const index = this.subscribers.indexOf(subscriber);\n this.subscribers.splice(index, 1);\n };\n };\n this.publish = (data)=>{\n this.subscribers.forEach((subscriber)=>subscriber(data));\n };\n this.addToast = (data)=>{\n this.publish(data);\n this.toasts = [\n ...this.toasts,\n data\n ];\n };\n this.create = (data)=>{\n var _data_id;\n const { message, ...rest } = data;\n const id = typeof (data == null ? void 0 : data.id) === 'number' || ((_data_id = data.id) == null ? void 0 : _data_id.length) > 0 ? data.id : toastsCounter++;\n const alreadyExists = this.toasts.find((toast)=>{\n return toast.id === id;\n });\n const dismissible = data.dismissible === undefined ? true : data.dismissible;\n if (this.dismissedToasts.has(id)) {\n this.dismissedToasts.delete(id);\n }\n if (alreadyExists) {\n this.toasts = this.toasts.map((toast)=>{\n if (toast.id === id) {\n this.publish({\n ...toast,\n ...data,\n id,\n title: message\n });\n return {\n ...toast,\n ...data,\n id,\n dismissible,\n title: message\n };\n }\n return toast;\n });\n } else {\n this.addToast({\n title: message,\n ...rest,\n dismissible,\n id\n });\n }\n return id;\n };\n this.dismiss = (id)=>{\n if (id) {\n this.dismissedToasts.add(id);\n requestAnimationFrame(()=>this.subscribers.forEach((subscriber)=>subscriber({\n id,\n dismiss: true\n })));\n } else {\n this.toasts.forEach((toast)=>{\n this.subscribers.forEach((subscriber)=>subscriber({\n id: toast.id,\n dismiss: true\n }));\n });\n }\n return id;\n };\n this.message = (message, data)=>{\n return this.create({\n ...data,\n message\n });\n };\n this.error = (message, data)=>{\n return this.create({\n ...data,\n message,\n type: 'error'\n });\n };\n this.success = (message, data)=>{\n return this.create({\n ...data,\n type: 'success',\n message\n });\n };\n this.info = (message, data)=>{\n return this.create({\n ...data,\n type: 'info',\n message\n });\n };\n this.warning = (message, data)=>{\n return this.create({\n ...data,\n type: 'warning',\n message\n });\n };\n this.loading = (message, data)=>{\n return this.create({\n ...data,\n type: 'loading',\n message\n });\n };\n this.promise = (promise, data)=>{\n if (!data) {\n // Nothing to show\n return;\n }\n let id = undefined;\n if (data.loading !== undefined) {\n id = this.create({\n ...data,\n promise,\n type: 'loading',\n message: data.loading,\n description: typeof data.description !== 'function' ? data.description : undefined\n });\n }\n const p = Promise.resolve(promise instanceof Function ? promise() : promise);\n let shouldDismiss = id !== undefined;\n let result;\n const originalPromise = p.then(async (response)=>{\n result = [\n 'resolve',\n response\n ];\n const isReactElementResponse = React.isValidElement(response);\n if (isReactElementResponse) {\n shouldDismiss = false;\n this.create({\n id,\n type: 'default',\n message: response\n });\n } else if (isHttpResponse(response) && !response.ok) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(`HTTP error! status: ${response.status}`) : data.error;\n const description = typeof data.description === 'function' ? await data.description(`HTTP error! status: ${response.status}`) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n } else if (response instanceof Error) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(response) : data.error;\n const description = typeof data.description === 'function' ? await data.description(response) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n } else if (data.success !== undefined) {\n shouldDismiss = false;\n const promiseData = typeof data.success === 'function' ? await data.success(response) : data.success;\n const description = typeof data.description === 'function' ? await data.description(response) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'success',\n description,\n ...toastSettings\n });\n }\n }).catch(async (error)=>{\n result = [\n 'reject',\n error\n ];\n if (data.error !== undefined) {\n shouldDismiss = false;\n const promiseData = typeof data.error === 'function' ? await data.error(error) : data.error;\n const description = typeof data.description === 'function' ? await data.description(error) : data.description;\n const isExtendedResult = typeof promiseData === 'object' && !React.isValidElement(promiseData);\n const toastSettings = isExtendedResult ? promiseData : {\n message: promiseData\n };\n this.create({\n id,\n type: 'error',\n description,\n ...toastSettings\n });\n }\n }).finally(()=>{\n if (shouldDismiss) {\n // Toast is still in load state (and will be indefinitely — dismiss it)\n this.dismiss(id);\n id = undefined;\n }\n data.finally == null ? void 0 : data.finally.call(data);\n });\n const unwrap = ()=>new Promise((resolve, reject)=>originalPromise.then(()=>result[0] === 'reject' ? reject(result[1]) : resolve(result[1])).catch(reject));\n if (typeof id !== 'string' && typeof id !== 'number') {\n // cannot Object.assign on undefined\n return {\n unwrap\n };\n } else {\n return Object.assign(id, {\n unwrap\n });\n }\n };\n this.custom = (jsx, data)=>{\n const id = (data == null ? void 0 : data.id) || toastsCounter++;\n this.create({\n jsx: jsx(id),\n id,\n ...data\n });\n return id;\n };\n this.getActiveToasts = ()=>{\n return this.toasts.filter((toast)=>!this.dismissedToasts.has(toast.id));\n };\n this.subscribers = [];\n this.toasts = [];\n this.dismissedToasts = new Set();\n }\n}\nconst ToastState = new Observer();\n// bind this to the toast function\nconst toastFunction = (message, data)=>{\n const id = (data == null ? void 0 : data.id) || toastsCounter++;\n ToastState.addToast({\n title: message,\n ...data,\n id\n });\n return id;\n};\nconst isHttpResponse = (data)=>{\n return data && typeof data === 'object' && 'ok' in data && typeof data.ok === 'boolean' && 'status' in data && typeof data.status === 'number';\n};\nconst basicToast = toastFunction;\nconst getHistory = ()=>ToastState.toasts;\nconst getToasts = ()=>ToastState.getActiveToasts();\n// We use `Object.assign` to maintain the correct types as we would lose them otherwise\nconst toast = Object.assign(basicToast, {\n success: ToastState.success,\n info: ToastState.info,\n warning: ToastState.warning,\n error: ToastState.error,\n custom: ToastState.custom,\n message: ToastState.message,\n promise: ToastState.promise,\n dismiss: ToastState.dismiss,\n loading: ToastState.loading\n}, {\n getHistory,\n getToasts\n});\n\n__insertCSS(\"[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}\");\n\nfunction isAction(action) {\n return action.label !== undefined;\n}\n\n// Visible toasts amount\nconst VISIBLE_TOASTS_AMOUNT = 3;\n// Viewport padding\nconst VIEWPORT_OFFSET = '24px';\n// Mobile viewport padding\nconst MOBILE_VIEWPORT_OFFSET = '16px';\n// Default lifetime of a toasts (in ms)\nconst TOAST_LIFETIME = 4000;\n// Default toast width\nconst TOAST_WIDTH = 356;\n// Default gap between toasts\nconst GAP = 14;\n// Threshold to dismiss a toast\nconst SWIPE_THRESHOLD = 45;\n// Equal to exit animation duration\nconst TIME_BEFORE_UNMOUNT = 200;\nfunction cn(...classes) {\n return classes.filter(Boolean).join(' ');\n}\nfunction getDefaultSwipeDirections(position) {\n const [y, x] = position.split('-');\n const directions = [];\n if (y) {\n directions.push(y);\n }\n if (x) {\n directions.push(x);\n }\n return directions;\n}\nconst Toast = (props)=>{\n var _toast_classNames, _toast_classNames1, _toast_classNames2, _toast_classNames3, _toast_classNames4, _toast_classNames5, _toast_classNames6, _toast_classNames7, _toast_classNames8;\n const { invert: ToasterInvert, toast, unstyled, interacting, setHeights, visibleToasts, heights, index, toasts, expanded, removeToast, defaultRichColors, closeButton: closeButtonFromToaster, style, cancelButtonStyle, actionButtonStyle, className = '', descriptionClassName = '', duration: durationFromToaster, position, gap, expandByDefault, classNames, icons, closeButtonAriaLabel = 'Close toast' } = props;\n const [swipeDirection, setSwipeDirection] = React.useState(null);\n const [swipeOutDirection, setSwipeOutDirection] = React.useState(null);\n const [mounted, setMounted] = React.useState(false);\n const [removed, setRemoved] = React.useState(false);\n const [swiping, setSwiping] = React.useState(false);\n const [swipeOut, setSwipeOut] = React.useState(false);\n const [isSwiped, setIsSwiped] = React.useState(false);\n const [offsetBeforeRemove, setOffsetBeforeRemove] = React.useState(0);\n const [initialHeight, setInitialHeight] = React.useState(0);\n const remainingTime = React.useRef(toast.duration || durationFromToaster || TOAST_LIFETIME);\n const dragStartTime = React.useRef(null);\n const toastRef = React.useRef(null);\n const isFront = index === 0;\n const isVisible = index + 1 <= visibleToasts;\n const toastType = toast.type;\n const dismissible = toast.dismissible !== false;\n const toastClassname = toast.className || '';\n const toastDescriptionClassname = toast.descriptionClassName || '';\n // Height index is used to calculate the offset as it gets updated before the toast array, which means we can calculate the new layout faster.\n const heightIndex = React.useMemo(()=>heights.findIndex((height)=>height.toastId === toast.id) || 0, [\n heights,\n toast.id\n ]);\n const closeButton = React.useMemo(()=>{\n var _toast_closeButton;\n return (_toast_closeButton = toast.closeButton) != null ? _toast_closeButton : closeButtonFromToaster;\n }, [\n toast.closeButton,\n closeButtonFromToaster\n ]);\n const duration = React.useMemo(()=>toast.duration || durationFromToaster || TOAST_LIFETIME, [\n toast.duration,\n durationFromToaster\n ]);\n const closeTimerStartTimeRef = React.useRef(0);\n const offset = React.useRef(0);\n const lastCloseTimerStartTimeRef = React.useRef(0);\n const pointerStartRef = React.useRef(null);\n const [y, x] = position.split('-');\n const toastsHeightBefore = React.useMemo(()=>{\n return heights.reduce((prev, curr, reducerIndex)=>{\n // Calculate offset up until current toast\n if (reducerIndex >= heightIndex) {\n return prev;\n }\n return prev + curr.height;\n }, 0);\n }, [\n heights,\n heightIndex\n ]);\n const isDocumentHidden = useIsDocumentHidden();\n const invert = toast.invert || ToasterInvert;\n const disabled = toastType === 'loading';\n offset.current = React.useMemo(()=>heightIndex * gap + toastsHeightBefore, [\n heightIndex,\n toastsHeightBefore\n ]);\n React.useEffect(()=>{\n remainingTime.current = duration;\n }, [\n duration\n ]);\n React.useEffect(()=>{\n // Trigger enter animation without using CSS animation\n setMounted(true);\n }, []);\n React.useEffect(()=>{\n const toastNode = toastRef.current;\n if (toastNode) {\n const height = toastNode.getBoundingClientRect().height;\n // Add toast height to heights array after the toast is mounted\n setInitialHeight(height);\n setHeights((h)=>[\n {\n toastId: toast.id,\n height,\n position: toast.position\n },\n ...h\n ]);\n return ()=>setHeights((h)=>h.filter((height)=>height.toastId !== toast.id));\n }\n }, [\n setHeights,\n toast.id\n ]);\n React.useLayoutEffect(()=>{\n // Keep height up to date with the content in case it updates\n if (!mounted) return;\n const toastNode = toastRef.current;\n const originalHeight = toastNode.style.height;\n toastNode.style.height = 'auto';\n const newHeight = toastNode.getBoundingClientRect().height;\n toastNode.style.height = originalHeight;\n setInitialHeight(newHeight);\n setHeights((heights)=>{\n const alreadyExists = heights.find((height)=>height.toastId === toast.id);\n if (!alreadyExists) {\n return [\n {\n toastId: toast.id,\n height: newHeight,\n position: toast.position\n },\n ...heights\n ];\n } else {\n return heights.map((height)=>height.toastId === toast.id ? {\n ...height,\n height: newHeight\n } : height);\n }\n });\n }, [\n mounted,\n toast.title,\n toast.description,\n setHeights,\n toast.id,\n toast.jsx,\n toast.action,\n toast.cancel\n ]);\n const deleteToast = React.useCallback(()=>{\n // Save the offset for the exit swipe animation\n setRemoved(true);\n setOffsetBeforeRemove(offset.current);\n setHeights((h)=>h.filter((height)=>height.toastId !== toast.id));\n setTimeout(()=>{\n removeToast(toast);\n }, TIME_BEFORE_UNMOUNT);\n }, [\n toast,\n removeToast,\n setHeights,\n offset\n ]);\n React.useEffect(()=>{\n if (toast.promise && toastType === 'loading' || toast.duration === Infinity || toast.type === 'loading') return;\n let timeoutId;\n // Pause the timer on each hover\n const pauseTimer = ()=>{\n if (lastCloseTimerStartTimeRef.current < closeTimerStartTimeRef.current) {\n // Get the elapsed time since the timer started\n const elapsedTime = new Date().getTime() - closeTimerStartTimeRef.current;\n remainingTime.current = remainingTime.current - elapsedTime;\n }\n lastCloseTimerStartTimeRef.current = new Date().getTime();\n };\n const startTimer = ()=>{\n // setTimeout(, Infinity) behaves as if the delay is 0.\n // As a result, the toast would be closed immediately, giving the appearance that it was never rendered.\n // See: https://github.com/denysdovhan/wtfjs?tab=readme-ov-file#an-infinite-timeout\n if (remainingTime.current === Infinity) return;\n closeTimerStartTimeRef.current = new Date().getTime();\n // Let the toast know it has started\n timeoutId = setTimeout(()=>{\n toast.onAutoClose == null ? void 0 : toast.onAutoClose.call(toast, toast);\n deleteToast();\n }, remainingTime.current);\n };\n if (expanded || interacting || isDocumentHidden) {\n pauseTimer();\n } else {\n startTimer();\n }\n return ()=>clearTimeout(timeoutId);\n }, [\n expanded,\n interacting,\n toast,\n toastType,\n isDocumentHidden,\n deleteToast\n ]);\n React.useEffect(()=>{\n if (toast.delete) {\n deleteToast();\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n }\n }, [\n deleteToast,\n toast.delete\n ]);\n function getLoadingIcon() {\n var _toast_classNames;\n if (icons == null ? void 0 : icons.loading) {\n var _toast_classNames1;\n return /*#__PURE__*/ React.createElement(\"div\", {\n className: cn(classNames == null ? void 0 : classNames.loader, toast == null ? void 0 : (_toast_classNames1 = toast.classNames) == null ? void 0 : _toast_classNames1.loader, 'sonner-loader'),\n \"data-visible\": toastType === 'loading'\n }, icons.loading);\n }\n return /*#__PURE__*/ React.createElement(Loader, {\n className: cn(classNames == null ? void 0 : classNames.loader, toast == null ? void 0 : (_toast_classNames = toast.classNames) == null ? void 0 : _toast_classNames.loader),\n visible: toastType === 'loading'\n });\n }\n const icon = toast.icon || (icons == null ? void 0 : icons[toastType]) || getAsset(toastType);\n var _toast_richColors, _icons_close;\n return /*#__PURE__*/ React.createElement(\"li\", {\n tabIndex: 0,\n ref: toastRef,\n className: cn(className, toastClassname, classNames == null ? void 0 : classNames.toast, toast == null ? void 0 : (_toast_classNames = toast.classNames) == null ? void 0 : _toast_classNames.toast, classNames == null ? void 0 : classNames.default, classNames == null ? void 0 : classNames[toastType], toast == null ? void 0 : (_toast_classNames1 = toast.classNames) == null ? void 0 : _toast_classNames1[toastType]),\n \"data-sonner-toast\": \"\",\n \"data-rich-colors\": (_toast_richColors = toast.richColors) != null ? _toast_richColors : defaultRichColors,\n \"data-styled\": !Boolean(toast.jsx || toast.unstyled || unstyled),\n \"data-mounted\": mounted,\n \"data-promise\": Boolean(toast.promise),\n \"data-swiped\": isSwiped,\n \"data-removed\": removed,\n \"data-visible\": isVisible,\n \"data-y-position\": y,\n \"data-x-position\": x,\n \"data-index\": index,\n \"data-front\": isFront,\n \"data-swiping\": swiping,\n \"data-dismissible\": dismissible,\n \"data-type\": toastType,\n \"data-invert\": invert,\n \"data-swipe-out\": swipeOut,\n \"data-swipe-direction\": swipeOutDirection,\n \"data-expanded\": Boolean(expanded || expandByDefault && mounted),\n \"data-testid\": toast.testId,\n style: {\n '--index': index,\n '--toasts-before': index,\n '--z-index': toasts.length - index,\n '--offset': `${removed ? offsetBeforeRemove : offset.current}px`,\n '--initial-height': expandByDefault ? 'auto' : `${initialHeight}px`,\n ...style,\n ...toast.style\n },\n onDragEnd: ()=>{\n setSwiping(false);\n setSwipeDirection(null);\n pointerStartRef.current = null;\n },\n onPointerDown: (event)=>{\n if (event.button === 2) return; // Return early on right click\n if (disabled || !dismissible) return;\n dragStartTime.current = new Date();\n setOffsetBeforeRemove(offset.current);\n // Ensure we maintain correct pointer capture even when going outside of the toast (e.g. when swiping)\n event.target.setPointerCapture(event.pointerId);\n if (event.target.tagName === 'BUTTON') return;\n setSwiping(true);\n pointerStartRef.current = {\n x: event.clientX,\n y: event.clientY\n };\n },\n onPointerUp: ()=>{\n var _toastRef_current, _toastRef_current1, _dragStartTime_current;\n if (swipeOut || !dismissible) return;\n pointerStartRef.current = null;\n const swipeAmountX = Number(((_toastRef_current = toastRef.current) == null ? void 0 : _toastRef_current.style.getPropertyValue('--swipe-amount-x').replace('px', '')) || 0);\n const swipeAmountY = Number(((_toastRef_current1 = toastRef.current) == null ? void 0 : _toastRef_current1.style.getPropertyValue('--swipe-amount-y').replace('px', '')) || 0);\n const timeTaken = new Date().getTime() - ((_dragStartTime_current = dragStartTime.current) == null ? void 0 : _dragStartTime_current.getTime());\n const swipeAmount = swipeDirection === 'x' ? swipeAmountX : swipeAmountY;\n const velocity = Math.abs(swipeAmount) / timeTaken;\n if (Math.abs(swipeAmount) >= SWIPE_THRESHOLD || velocity > 0.11) {\n setOffsetBeforeRemove(offset.current);\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n if (swipeDirection === 'x') {\n setSwipeOutDirection(swipeAmountX > 0 ? 'right' : 'left');\n } else {\n setSwipeOutDirection(swipeAmountY > 0 ? 'down' : 'up');\n }\n deleteToast();\n setSwipeOut(true);\n return;\n } else {\n var _toastRef_current2, _toastRef_current3;\n (_toastRef_current2 = toastRef.current) == null ? void 0 : _toastRef_current2.style.setProperty('--swipe-amount-x', `0px`);\n (_toastRef_current3 = toastRef.current) == null ? void 0 : _toastRef_current3.style.setProperty('--swipe-amount-y', `0px`);\n }\n setIsSwiped(false);\n setSwiping(false);\n setSwipeDirection(null);\n },\n onPointerMove: (event)=>{\n var _window_getSelection, // Apply transform using both x and y values\n _toastRef_current, _toastRef_current1;\n if (!pointerStartRef.current || !dismissible) return;\n const isHighlighted = ((_window_getSelection = window.getSelection()) == null ? void 0 : _window_getSelection.toString().length) > 0;\n if (isHighlighted) return;\n const yDelta = event.clientY - pointerStartRef.current.y;\n const xDelta = event.clientX - pointerStartRef.current.x;\n var _props_swipeDirections;\n const swipeDirections = (_props_swipeDirections = props.swipeDirections) != null ? _props_swipeDirections : getDefaultSwipeDirections(position);\n // Determine swipe direction if not already locked\n if (!swipeDirection && (Math.abs(xDelta) > 1 || Math.abs(yDelta) > 1)) {\n setSwipeDirection(Math.abs(xDelta) > Math.abs(yDelta) ? 'x' : 'y');\n }\n let swipeAmount = {\n x: 0,\n y: 0\n };\n const getDampening = (delta)=>{\n const factor = Math.abs(delta) / 20;\n return 1 / (1.5 + factor);\n };\n // Only apply swipe in the locked direction\n if (swipeDirection === 'y') {\n // Handle vertical swipes\n if (swipeDirections.includes('top') || swipeDirections.includes('bottom')) {\n if (swipeDirections.includes('top') && yDelta < 0 || swipeDirections.includes('bottom') && yDelta > 0) {\n swipeAmount.y = yDelta;\n } else {\n // Smoothly transition to dampened movement\n const dampenedDelta = yDelta * getDampening(yDelta);\n // Ensure we don't jump when transitioning to dampened movement\n swipeAmount.y = Math.abs(dampenedDelta) < Math.abs(yDelta) ? dampenedDelta : yDelta;\n }\n }\n } else if (swipeDirection === 'x') {\n // Handle horizontal swipes\n if (swipeDirections.includes('left') || swipeDirections.includes('right')) {\n if (swipeDirections.includes('left') && xDelta < 0 || swipeDirections.includes('right') && xDelta > 0) {\n swipeAmount.x = xDelta;\n } else {\n // Smoothly transition to dampened movement\n const dampenedDelta = xDelta * getDampening(xDelta);\n // Ensure we don't jump when transitioning to dampened movement\n swipeAmount.x = Math.abs(dampenedDelta) < Math.abs(xDelta) ? dampenedDelta : xDelta;\n }\n }\n }\n if (Math.abs(swipeAmount.x) > 0 || Math.abs(swipeAmount.y) > 0) {\n setIsSwiped(true);\n }\n (_toastRef_current = toastRef.current) == null ? void 0 : _toastRef_current.style.setProperty('--swipe-amount-x', `${swipeAmount.x}px`);\n (_toastRef_current1 = toastRef.current) == null ? void 0 : _toastRef_current1.style.setProperty('--swipe-amount-y', `${swipeAmount.y}px`);\n }\n }, closeButton && !toast.jsx && toastType !== 'loading' ? /*#__PURE__*/ React.createElement(\"button\", {\n \"aria-label\": closeButtonAriaLabel,\n \"data-disabled\": disabled,\n \"data-close-button\": true,\n onClick: disabled || !dismissible ? ()=>{} : ()=>{\n deleteToast();\n toast.onDismiss == null ? void 0 : toast.onDismiss.call(toast, toast);\n },\n className: cn(classNames == null ? void 0 : classNames.closeButton, toast == null ? void 0 : (_toast_classNames2 = toast.classNames) == null ? void 0 : _toast_classNames2.closeButton)\n }, (_icons_close = icons == null ? void 0 : icons.close) != null ? _icons_close : CloseIcon) : null, (toastType || toast.icon || toast.promise) && toast.icon !== null && ((icons == null ? void 0 : icons[toastType]) !== null || toast.icon) ? /*#__PURE__*/ React.createElement(\"div\", {\n \"data-icon\": \"\",\n className: cn(classNames == null ? void 0 : classNames.icon, toast == null ? void 0 : (_toast_classNames3 = toast.classNames) == null ? void 0 : _toast_classNames3.icon)\n }, toast.promise || toast.type === 'loading' && !toast.icon ? toast.icon || getLoadingIcon() : null, toast.type !== 'loading' ? icon : null) : null, /*#__PURE__*/ React.createElement(\"div\", {\n \"data-content\": \"\",\n className: cn(classNames == null ? void 0 : classNames.content, toast == null ? void 0 : (_toast_classNames4 = toast.classNames) == null ? void 0 : _toast_classNames4.content)\n }, /*#__PURE__*/ React.createElement(\"div\", {\n \"data-title\": \"\",\n className: cn(classNames == null ? void 0 : classNames.title, toast == null ? void 0 : (_toast_classNames5 = toast.classNames) == null ? void 0 : _toast_classNames5.title)\n }, toast.jsx ? toast.jsx : typeof toast.title === 'function' ? toast.title() : toast.title), toast.description ? /*#__PURE__*/ React.createElement(\"div\", {\n \"data-description\": \"\",\n className: cn(descriptionClassName, toastDescriptionClassname, classNames == null ? void 0 : classNames.description, toast == null ? void 0 : (_toast_classNames6 = toast.classNames) == null ? void 0 : _toast_classNames6.description)\n }, typeof toast.description === 'function' ? toast.description() : toast.description) : null), /*#__PURE__*/ React.isValidElement(toast.cancel) ? toast.cancel : toast.cancel && isAction(toast.cancel) ? /*#__PURE__*/ React.createElement(\"button\", {\n \"data-button\": true,\n \"data-cancel\": true,\n style: toast.cancelButtonStyle || cancelButtonStyle,\n onClick: (event)=>{\n // We need to check twice because typescript\n if (!isAction(toast.cancel)) return;\n if (!dismissible) return;\n toast.cancel.onClick == null ? void 0 : toast.cancel.onClick.call(toast.cancel, event);\n deleteToast();\n },\n className: cn(classNames == null ? void 0 : classNames.cancelButton, toast == null ? void 0 : (_toast_classNames7 = toast.classNames) == null ? void 0 : _toast_classNames7.cancelButton)\n }, toast.cancel.label) : null, /*#__PURE__*/ React.isValidElement(toast.action) ? toast.action : toast.action && isAction(toast.action) ? /*#__PURE__*/ React.createElement(\"button\", {\n \"data-button\": true,\n \"data-action\": true,\n style: toast.actionButtonStyle || actionButtonStyle,\n onClick: (event)=>{\n // We need to check twice because typescript\n if (!isAction(toast.action)) return;\n toast.action.onClick == null ? void 0 : toast.action.onClick.call(toast.action, event);\n if (event.defaultPrevented) return;\n deleteToast();\n },\n className: cn(classNames == null ? void 0 : classNames.actionButton, toast == null ? void 0 : (_toast_classNames8 = toast.classNames) == null ? void 0 : _toast_classNames8.actionButton)\n }, toast.action.label) : null);\n};\nfunction getDocumentDirection() {\n if (typeof window === 'undefined') return 'ltr';\n if (typeof document === 'undefined') return 'ltr'; // For Fresh purpose\n const dirAttribute = document.documentElement.getAttribute('dir');\n if (dirAttribute === 'auto' || !dirAttribute) {\n return window.getComputedStyle(document.documentElement).direction;\n }\n return dirAttribute;\n}\nfunction assignOffset(defaultOffset, mobileOffset) {\n const styles = {};\n [\n defaultOffset,\n mobileOffset\n ].forEach((offset, index)=>{\n const isMobile = index === 1;\n const prefix = isMobile ? '--mobile-offset' : '--offset';\n const defaultValue = isMobile ? MOBILE_VIEWPORT_OFFSET : VIEWPORT_OFFSET;\n function assignAll(offset) {\n [\n 'top',\n 'right',\n 'bottom',\n 'left'\n ].forEach((key)=>{\n styles[`${prefix}-${key}`] = typeof offset === 'number' ? `${offset}px` : offset;\n });\n }\n if (typeof offset === 'number' || typeof offset === 'string') {\n assignAll(offset);\n } else if (typeof offset === 'object') {\n [\n 'top',\n 'right',\n 'bottom',\n 'left'\n ].forEach((key)=>{\n if (offset[key] === undefined) {\n styles[`${prefix}-${key}`] = defaultValue;\n } else {\n styles[`${prefix}-${key}`] = typeof offset[key] === 'number' ? `${offset[key]}px` : offset[key];\n }\n });\n } else {\n assignAll(defaultValue);\n }\n });\n return styles;\n}\nfunction useSonner() {\n const [activeToasts, setActiveToasts] = React.useState([]);\n React.useEffect(()=>{\n return ToastState.subscribe((toast)=>{\n if (toast.dismiss) {\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setActiveToasts((toasts)=>toasts.filter((t)=>t.id !== toast.id));\n });\n });\n return;\n }\n // Prevent batching, temp solution.\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setActiveToasts((toasts)=>{\n const indexOfExistingToast = toasts.findIndex((t)=>t.id === toast.id);\n // Update the toast if it already exists\n if (indexOfExistingToast !== -1) {\n return [\n ...toasts.slice(0, indexOfExistingToast),\n {\n ...toasts[indexOfExistingToast],\n ...toast\n },\n ...toasts.slice(indexOfExistingToast + 1)\n ];\n }\n return [\n toast,\n ...toasts\n ];\n });\n });\n });\n });\n }, []);\n return {\n toasts: activeToasts\n };\n}\nconst Toaster = /*#__PURE__*/ React.forwardRef(function Toaster(props, ref) {\n const { id, invert, position = 'bottom-right', hotkey = [\n 'altKey',\n 'KeyT'\n ], expand, closeButton, className, offset, mobileOffset, theme = 'light', richColors, duration, style, visibleToasts = VISIBLE_TOASTS_AMOUNT, toastOptions, dir = getDocumentDirection(), gap = GAP, icons, containerAriaLabel = 'Notifications' } = props;\n const [toasts, setToasts] = React.useState([]);\n const filteredToasts = React.useMemo(()=>{\n if (id) {\n return toasts.filter((toast)=>toast.toasterId === id);\n }\n return toasts.filter((toast)=>!toast.toasterId);\n }, [\n toasts,\n id\n ]);\n const possiblePositions = React.useMemo(()=>{\n return Array.from(new Set([\n position\n ].concat(filteredToasts.filter((toast)=>toast.position).map((toast)=>toast.position))));\n }, [\n filteredToasts,\n position\n ]);\n const [heights, setHeights] = React.useState([]);\n const [expanded, setExpanded] = React.useState(false);\n const [interacting, setInteracting] = React.useState(false);\n const [actualTheme, setActualTheme] = React.useState(theme !== 'system' ? theme : typeof window !== 'undefined' ? window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' : 'light');\n const listRef = React.useRef(null);\n const hotkeyLabel = hotkey.join('+').replace(/Key/g, '').replace(/Digit/g, '');\n const lastFocusedElementRef = React.useRef(null);\n const isFocusWithinRef = React.useRef(false);\n const removeToast = React.useCallback((toastToRemove)=>{\n setToasts((toasts)=>{\n var _toasts_find;\n if (!((_toasts_find = toasts.find((toast)=>toast.id === toastToRemove.id)) == null ? void 0 : _toasts_find.delete)) {\n ToastState.dismiss(toastToRemove.id);\n }\n return toasts.filter(({ id })=>id !== toastToRemove.id);\n });\n }, []);\n React.useEffect(()=>{\n return ToastState.subscribe((toast)=>{\n if (toast.dismiss) {\n // Prevent batching of other state updates\n requestAnimationFrame(()=>{\n setToasts((toasts)=>toasts.map((t)=>t.id === toast.id ? {\n ...t,\n delete: true\n } : t));\n });\n return;\n }\n // Prevent batching, temp solution.\n setTimeout(()=>{\n ReactDOM.flushSync(()=>{\n setToasts((toasts)=>{\n const indexOfExistingToast = toasts.findIndex((t)=>t.id === toast.id);\n // Update the toast if it already exists\n if (indexOfExistingToast !== -1) {\n return [\n ...toasts.slice(0, indexOfExistingToast),\n {\n ...toasts[indexOfExistingToast],\n ...toast\n },\n ...toasts.slice(indexOfExistingToast + 1)\n ];\n }\n return [\n toast,\n ...toasts\n ];\n });\n });\n });\n });\n }, [\n toasts\n ]);\n React.useEffect(()=>{\n if (theme !== 'system') {\n setActualTheme(theme);\n return;\n }\n if (theme === 'system') {\n // check if current preference is dark\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n // it's currently dark\n setActualTheme('dark');\n } else {\n // it's not dark\n setActualTheme('light');\n }\n }\n if (typeof window === 'undefined') return;\n const darkMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n try {\n // Chrome & Firefox\n darkMediaQuery.addEventListener('change', ({ matches })=>{\n if (matches) {\n setActualTheme('dark');\n } else {\n setActualTheme('light');\n }\n });\n } catch (error) {\n // Safari < 14\n darkMediaQuery.addListener(({ matches })=>{\n try {\n if (matches) {\n setActualTheme('dark');\n } else {\n setActualTheme('light');\n }\n } catch (e) {\n console.error(e);\n }\n });\n }\n }, [\n theme\n ]);\n React.useEffect(()=>{\n // Ensure expanded is always false when no toasts are present / only one left\n if (toasts.length <= 1) {\n setExpanded(false);\n }\n }, [\n toasts\n ]);\n React.useEffect(()=>{\n const handleKeyDown = (event)=>{\n var _listRef_current;\n const isHotkeyPressed = hotkey.every((key)=>event[key] || event.code === key);\n if (isHotkeyPressed) {\n var _listRef_current1;\n setExpanded(true);\n (_listRef_current1 = listRef.current) == null ? void 0 : _listRef_current1.focus();\n }\n if (event.code === 'Escape' && (document.activeElement === listRef.current || ((_listRef_current = listRef.current) == null ? void 0 : _listRef_current.contains(document.activeElement)))) {\n setExpanded(false);\n }\n };\n document.addEventListener('keydown', handleKeyDown);\n return ()=>document.removeEventListener('keydown', handleKeyDown);\n }, [\n hotkey\n ]);\n React.useEffect(()=>{\n if (listRef.current) {\n return ()=>{\n if (lastFocusedElementRef.current) {\n lastFocusedElementRef.current.focus({\n preventScroll: true\n });\n lastFocusedElementRef.current = null;\n isFocusWithinRef.current = false;\n }\n };\n }\n }, [\n listRef.current\n ]);\n return(// Remove item from normal navigation flow, only available via hotkey\n /*#__PURE__*/ React.createElement(\"section\", {\n ref: ref,\n \"aria-label\": `${containerAriaLabel} ${hotkeyLabel}`,\n tabIndex: -1,\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n \"aria-atomic\": \"false\",\n suppressHydrationWarning: true\n }, possiblePositions.map((position, index)=>{\n var _heights_;\n const [y, x] = position.split('-');\n if (!filteredToasts.length) return null;\n return /*#__PURE__*/ React.createElement(\"ol\", {\n key: position,\n dir: dir === 'auto' ? getDocumentDirection() : dir,\n tabIndex: -1,\n ref: listRef,\n className: className,\n \"data-sonner-toaster\": true,\n \"data-sonner-theme\": actualTheme,\n \"data-y-position\": y,\n \"data-x-position\": x,\n style: {\n '--front-toast-height': `${((_heights_ = heights[0]) == null ? void 0 : _heights_.height) || 0}px`,\n '--width': `${TOAST_WIDTH}px`,\n '--gap': `${gap}px`,\n ...style,\n ...assignOffset(offset, mobileOffset)\n },\n onBlur: (event)=>{\n if (isFocusWithinRef.current && !event.currentTarget.contains(event.relatedTarget)) {\n isFocusWithinRef.current = false;\n if (lastFocusedElementRef.current) {\n lastFocusedElementRef.current.focus({\n preventScroll: true\n });\n lastFocusedElementRef.current = null;\n }\n }\n },\n onFocus: (event)=>{\n const isNotDismissible = event.target instanceof HTMLElement && event.target.dataset.dismissible === 'false';\n if (isNotDismissible) return;\n if (!isFocusWithinRef.current) {\n isFocusWithinRef.current = true;\n lastFocusedElementRef.current = event.relatedTarget;\n }\n },\n onMouseEnter: ()=>setExpanded(true),\n onMouseMove: ()=>setExpanded(true),\n onMouseLeave: ()=>{\n // Avoid setting expanded to false when interacting with a toast, e.g. swiping\n if (!interacting) {\n setExpanded(false);\n }\n },\n onDragEnd: ()=>setExpanded(false),\n onPointerDown: (event)=>{\n const isNotDismissible = event.target instanceof HTMLElement && event.target.dataset.dismissible === 'false';\n if (isNotDismissible) return;\n setInteracting(true);\n },\n onPointerUp: ()=>setInteracting(false)\n }, filteredToasts.filter((toast)=>!toast.position && index === 0 || toast.position === position).map((toast, index)=>{\n var _toastOptions_duration, _toastOptions_closeButton;\n return /*#__PURE__*/ React.createElement(Toast, {\n key: toast.id,\n icons: icons,\n index: index,\n toast: toast,\n defaultRichColors: richColors,\n duration: (_toastOptions_duration = toastOptions == null ? void 0 : toastOptions.duration) != null ? _toastOptions_duration : duration,\n className: toastOptions == null ? void 0 : toastOptions.className,\n descriptionClassName: toastOptions == null ? void 0 : toastOptions.descriptionClassName,\n invert: invert,\n visibleToasts: visibleToasts,\n closeButton: (_toastOptions_closeButton = toastOptions == null ? void 0 : toastOptions.closeButton) != null ? _toastOptions_closeButton : closeButton,\n interacting: interacting,\n position: position,\n style: toastOptions == null ? void 0 : toastOptions.style,\n unstyled: toastOptions == null ? void 0 : toastOptions.unstyled,\n classNames: toastOptions == null ? void 0 : toastOptions.classNames,\n cancelButtonStyle: toastOptions == null ? void 0 : toastOptions.cancelButtonStyle,\n actionButtonStyle: toastOptions == null ? void 0 : toastOptions.actionButtonStyle,\n closeButtonAriaLabel: toastOptions == null ? void 0 : toastOptions.closeButtonAriaLabel,\n removeToast: removeToast,\n toasts: filteredToasts.filter((t)=>t.position == toast.position),\n heights: heights.filter((h)=>h.position == toast.position),\n setHeights: setHeights,\n expandByDefault: expand,\n gap: gap,\n expanded: expanded,\n swipeDirections: props.swipeDirections\n });\n }));\n })));\n});\n\nexport { Toaster, toast, useSonner };\n"],"names":["React","ReactDOM"],"mappings":";;;;;;;;;;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,IAAa,OAAO,QAAQ,IAAI,WAAW,EAAE;AAC/C,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO;AAC5C,EAAE,KAAK,CAAC,IAAI,GAAG;AACf,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;AACxB,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AACzG;;AAKA,MAAM,QAAQ,GAAG,CAAC,IAAI,GAAG;AACzB,IAAI,OAAO,IAAI;AACf,QAAQ,KAAK,SAAS;AACtB,YAAY,OAAO,WAAW;AAC9B,QAAQ,KAAK,MAAM;AACnB,YAAY,OAAO,QAAQ;AAC3B,QAAQ,KAAK,SAAS;AACtB,YAAY,OAAO,WAAW;AAC9B,QAAQ,KAAK,OAAO;AACpB,YAAY,OAAO,SAAS;AAC5B,QAAQ;AACR,YAAY,OAAO,IAAI;AACvB;AACA,CAAC;AACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,MAAM,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;AACzC,IAAI,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,QAAQ,SAAS,EAAE;AACnB,YAAY,wBAAwB;AACpC,YAAY;AACZ,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC,QAAQ,cAAc,EAAE;AACxB,KAAK,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,QAAQ,SAAS,EAAE;AACnB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjE,YAAY,SAAS,EAAE,oBAAoB;AAC3C,YAAY,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;AAClC,SAAS,CAAC,CAAC,CAAC,CAAC;AACb,CAAC;AACD,MAAM,WAAW,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7C,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,wJAAwJ;AAC/J,IAAI,QAAQ,EAAE;AACd,CAAC,CAAC,CAAC;AACH,MAAM,WAAW,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC7D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7C,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,2OAA2O;AAClP,IAAI,QAAQ,EAAE;AACd,CAAC,CAAC,CAAC;AACH,MAAM,QAAQ,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7C,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,yOAAyO;AAChP,IAAI,QAAQ,EAAE;AACd,CAAC,CAAC,CAAC;AACH,MAAM,SAAS,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE;AACX,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7C,IAAI,QAAQ,EAAE,SAAS;AACvB,IAAI,CAAC,EAAE,qIAAqI;AAC5I,IAAI,QAAQ,EAAE;AACd,CAAC,CAAC,CAAC;AACH,MAAM,SAAS,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC3D,IAAI,KAAK,EAAE,4BAA4B;AACvC,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,cAAc;AAC1B,IAAI,WAAW,EAAE,KAAK;AACtB,IAAI,aAAa,EAAE,OAAO;AAC1B,IAAI,cAAc,EAAE;AACpB,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC7C,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE;AACR,CAAC,CAAC,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC9C,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,EAAE,EAAE;AACR,CAAC,CAAC,CAAC;;AAEH,MAAM,mBAAmB,GAAG,IAAI;AAChC,IAAI,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;AACnF,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,MAAM,QAAQ,GAAG,IAAI;AAC7B,YAAY,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAChD,QAAQ,CAAC;AACT,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AAC/D,QAAQ,OAAO,IAAI,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AAC3E,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,IAAI,OAAO,gBAAgB;AAC3B,CAAC;;AAED,IAAI,aAAa,GAAG,CAAC;AACrB,MAAM,QAAQ,CAAC;AACf,IAAI,WAAW,EAAE;AACjB;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,CAAC,UAAU,GAAG;AACvC,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7C,YAAY,OAAO,IAAI;AACvB,gBAAgB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;AAClE,gBAAgB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACjD,YAAY,CAAC;AACb,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,GAAG;AAC/B,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACpE,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG;AAChC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9B,YAAY,IAAI,CAAC,MAAM,GAAG;AAC1B,gBAAgB,GAAG,IAAI,CAAC,MAAM;AAC9B,gBAAgB;AAChB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG;AAC9B,YAAY,IAAI,QAAQ;AACxB,YAAY,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAC7C,YAAY,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE;AACzK,YAAY,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG;AAC5D,gBAAgB,OAAO,KAAK,CAAC,EAAE,KAAK,EAAE;AACtC,YAAY,CAAC,CAAC;AACd,YAAY,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,WAAW;AACxF,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AAC9C,gBAAgB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/C,YAAY;AACZ,YAAY,IAAI,aAAa,EAAE;AAC/B,gBAAgB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;AACvD,oBAAoB,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;AACzC,wBAAwB,IAAI,CAAC,OAAO,CAAC;AACrC,4BAA4B,GAAG,KAAK;AACpC,4BAA4B,GAAG,IAAI;AACnC,4BAA4B,EAAE;AAC9B,4BAA4B,KAAK,EAAE;AACnC,yBAAyB,CAAC;AAC1B,wBAAwB,OAAO;AAC/B,4BAA4B,GAAG,KAAK;AACpC,4BAA4B,GAAG,IAAI;AACnC,4BAA4B,EAAE;AAC9B,4BAA4B,WAAW;AACvC,4BAA4B,KAAK,EAAE;AACnC,yBAAyB;AACzB,oBAAoB;AACpB,oBAAoB,OAAO,KAAK;AAChC,gBAAgB,CAAC,CAAC;AAClB,YAAY,CAAC,MAAM;AACnB,gBAAgB,IAAI,CAAC,QAAQ,CAAC;AAC9B,oBAAoB,KAAK,EAAE,OAAO;AAClC,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,WAAW;AAC/B,oBAAoB;AACpB,iBAAiB,CAAC;AAClB,YAAY;AACZ,YAAY,OAAO,EAAE;AACrB,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG;AAC7B,YAAY,IAAI,EAAE,EAAE;AACpB,gBAAgB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;AAC5C,gBAAgB,qBAAqB,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;AAC5F,4BAA4B,EAAE;AAC9B,4BAA4B,OAAO,EAAE;AACrC,yBAAyB,CAAC,CAAC,CAAC;AAC5B,YAAY,CAAC,MAAM;AACnB,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG;AAC7C,oBAAoB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;AACtE,4BAA4B,EAAE,EAAE,KAAK,CAAC,EAAE;AACxC,4BAA4B,OAAO,EAAE;AACrC,yBAAyB,CAAC,CAAC;AAC3B,gBAAgB,CAAC,CAAC;AAClB,YAAY;AACZ,YAAY,OAAO,EAAE;AACrB,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACxC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACtC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,OAAO;AACvB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACxC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACrC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,IAAI,EAAE,MAAM;AAC5B,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACxC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACxC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC;AAC/B,gBAAgB,GAAG,IAAI;AACvB,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB;AAChB,aAAa,CAAC;AACd,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACxC,YAAY,IAAI,CAAC,IAAI,EAAE;AACvB;AACA,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,EAAE,GAAG,SAAS;AAC9B,YAAY,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AAC5C,gBAAgB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;AACjC,oBAAoB,GAAG,IAAI;AAC3B,oBAAoB,OAAO;AAC3B,oBAAoB,IAAI,EAAE,SAAS;AACnC,oBAAoB,OAAO,EAAE,IAAI,CAAC,OAAO;AACzC,oBAAoB,WAAW,EAAE,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG;AAC7F,iBAAiB,CAAC;AAClB,YAAY;AACZ,YAAY,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,QAAQ,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;AACxF,YAAY,IAAI,aAAa,GAAG,EAAE,KAAK,SAAS;AAChD,YAAY,IAAI,MAAM;AACtB,YAAY,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,GAAG;AAC7D,gBAAgB,MAAM,GAAG;AACzB,oBAAoB,SAAS;AAC7B,oBAAoB;AACpB,iBAAiB;AACjB,gBAAgB,MAAM,sBAAsB,GAAGA,sBAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC7E,gBAAgB,IAAI,sBAAsB,EAAE;AAC5C,oBAAoB,aAAa,GAAG,KAAK;AACzC,oBAAoB,IAAI,CAAC,MAAM,CAAC;AAChC,wBAAwB,EAAE;AAC1B,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,OAAO,EAAE;AACjC,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACrE,oBAAoB,aAAa,GAAG,KAAK;AACzC,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK;AAClJ,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW;AACpK,oBAAoB,MAAM,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,CAACA,sBAAK,CAAC,cAAc,CAAC,WAAW,CAAC;AAClH,oBAAoB,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG;AAC3E,wBAAwB,OAAO,EAAE;AACjC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,MAAM,CAAC;AAChC,wBAAwB,EAAE;AAC1B,wBAAwB,IAAI,EAAE,OAAO;AACrC,wBAAwB,WAAW;AACnC,wBAAwB,GAAG;AAC3B,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,MAAM,IAAI,QAAQ,YAAY,KAAK,EAAE;AACtD,oBAAoB,aAAa,GAAG,KAAK;AACzC,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK;AAClH,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW;AACpI,oBAAoB,MAAM,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,CAACA,sBAAK,CAAC,cAAc,CAAC,WAAW,CAAC;AAClH,oBAAoB,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG;AAC3E,wBAAwB,OAAO,EAAE;AACjC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,MAAM,CAAC;AAChC,wBAAwB,EAAE;AAC1B,wBAAwB,IAAI,EAAE,OAAO;AACrC,wBAAwB,WAAW;AACnC,wBAAwB,GAAG;AAC3B,qBAAqB,CAAC;AACtB,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AACvD,oBAAoB,aAAa,GAAG,KAAK;AACzC,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO;AACxH,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW;AACpI,oBAAoB,MAAM,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,CAACA,sBAAK,CAAC,cAAc,CAAC,WAAW,CAAC;AAClH,oBAAoB,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG;AAC3E,wBAAwB,OAAO,EAAE;AACjC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,MAAM,CAAC;AAChC,wBAAwB,EAAE;AAC1B,wBAAwB,IAAI,EAAE,SAAS;AACvC,wBAAwB,WAAW;AACnC,wBAAwB,GAAG;AAC3B,qBAAqB,CAAC;AACtB,gBAAgB;AAChB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,GAAG;AACpC,gBAAgB,MAAM,GAAG;AACzB,oBAAoB,QAAQ;AAC5B,oBAAoB;AACpB,iBAAiB;AACjB,gBAAgB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC9C,oBAAoB,aAAa,GAAG,KAAK;AACzC,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK;AAC/G,oBAAoB,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW;AACjI,oBAAoB,MAAM,gBAAgB,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,CAACA,sBAAK,CAAC,cAAc,CAAC,WAAW,CAAC;AAClH,oBAAoB,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG;AAC3E,wBAAwB,OAAO,EAAE;AACjC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,MAAM,CAAC;AAChC,wBAAwB,EAAE;AAC1B,wBAAwB,IAAI,EAAE,OAAO;AACrC,wBAAwB,WAAW;AACnC,wBAAwB,GAAG;AAC3B,qBAAqB,CAAC;AACtB,gBAAgB;AAChB,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;AAC3B,gBAAgB,IAAI,aAAa,EAAE;AACnC;AACA,oBAAoB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACpC,oBAAoB,EAAE,GAAG,SAAS;AAClC,gBAAgB;AAChB,gBAAgB,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACvE,YAAY,CAAC,CAAC;AACd,YAAY,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACtK,YAAY,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAClE;AACA,gBAAgB,OAAO;AACvB,oBAAoB;AACpB,iBAAiB;AACjB,YAAY,CAAC,MAAM;AACnB,gBAAgB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;AACzC,oBAAoB;AACpB,iBAAiB,CAAC;AAClB,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG;AACnC,YAAY,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE;AAC3E,YAAY,IAAI,CAAC,MAAM,CAAC;AACxB,gBAAgB,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5B,gBAAgB,EAAE;AAClB,gBAAgB,GAAG;AACnB,aAAa,CAAC;AACd,YAAY,OAAO,EAAE;AACrB,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI;AACnC,YAAY,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACnF,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,QAAQ,IAAI,CAAC,MAAM,GAAG,EAAE;AACxB,QAAQ,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE;AACxC,IAAI;AACJ;AACA,MAAM,UAAU,GAAG,IAAI,QAAQ,EAAE;AACjC;AACA,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG;AACvC,IAAI,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE;AACnE,IAAI,UAAU,CAAC,QAAQ,CAAC;AACxB,QAAQ,KAAK,EAAE,OAAO;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,OAAO,EAAE;AACb,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,IAAI,GAAG;AAC/B,IAAI,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;AAClJ,CAAC;AACD,MAAM,UAAU,GAAG,aAAa;AAChC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM;AACxC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,eAAe,EAAE;AAClD;AACK,MAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACxC,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,IAAI,EAAE,UAAU,CAAC,IAAI;AACzB,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,KAAK,EAAE,UAAU,CAAC,KAAK;AAC3B,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM;AAC7B,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO;AAC/B,IAAI,OAAO,EAAE,UAAU,CAAC;AACxB,CAAC,EAAE;AACH,IAAI,UAAU;AACd,IAAI;AACJ,CAAC;;AAED,WAAW,CAAC,6gdAA6gd,CAAC;;AAE1hd,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC1B,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS;AACrC;;AAEA;AACA,MAAM,qBAAqB,GAAG,CAAC;AAC/B;AACA,MAAM,eAAe,GAAG,MAAM;AAC9B;AACA,MAAM,sBAAsB,GAAG,MAAM;AACrC;AACA,MAAM,cAAc,GAAG,IAAI;AAC3B;AACA,MAAM,WAAW,GAAG,GAAG;AACvB;AACA,MAAM,GAAG,GAAG,EAAE;AACd;AACA,MAAM,eAAe,GAAG,EAAE;AAC1B;AACA,MAAM,mBAAmB,GAAG,GAAG;AAC/B,SAAS,EAAE,CAAC,GAAG,OAAO,EAAE;AACxB,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C;AACA,SAAS,yBAAyB,CAAC,QAAQ,EAAE;AAC7C,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACtC,IAAI,MAAM,UAAU,GAAG,EAAE;AACzB,IAAI,IAAI,CAAC,EAAE;AACX,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,IAAI;AACJ,IAAI,IAAI,CAAC,EAAE;AACX,QAAQ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,IAAI;AACJ,IAAI,OAAO,UAAU;AACrB;AACA,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG;AACvB,IAAI,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB;AACzL,IAAI,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,sBAAsB,EAAE,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,SAAS,GAAG,EAAE,EAAE,oBAAoB,GAAG,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,GAAG,aAAa,EAAE,GAAG,KAAK;AAC3Z,IAAI,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpE,IAAI,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1E,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACvD,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACvD,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACvD,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAI,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzE,IAAI,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/D,IAAI,MAAM,aAAa,GAAGA,sBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,mBAAmB,IAAI,cAAc,CAAC;AAC/F,IAAI,MAAM,aAAa,GAAGA,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5C,IAAI,MAAM,QAAQ,GAAGA,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACvC,IAAI,MAAM,OAAO,GAAG,KAAK,KAAK,CAAC;AAC/B,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,aAAa;AAChD,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI;AAChC,IAAI,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,KAAK;AACnD,IAAI,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE;AAChD,IAAI,MAAM,yBAAyB,GAAG,KAAK,CAAC,oBAAoB,IAAI,EAAE;AACtE;AACA,IAAI,MAAM,WAAW,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AACzG,QAAQ,OAAO;AACf,QAAQ,KAAK,CAAC;AACd,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI;AAC1C,QAAQ,IAAI,kBAAkB;AAC9B,QAAQ,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,WAAW,KAAK,IAAI,GAAG,kBAAkB,GAAG,sBAAsB;AAC7G,IAAI,CAAC,EAAE;AACP,QAAQ,KAAK,CAAC,WAAW;AACzB,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,MAAM,QAAQ,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,mBAAmB,IAAI,cAAc,EAAE;AAChG,QAAQ,KAAK,CAAC,QAAQ;AACtB,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,MAAM,sBAAsB,GAAGA,sBAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,IAAI,MAAM,MAAM,GAAGA,sBAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,IAAI,MAAM,0BAA0B,GAAGA,sBAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,IAAI,MAAM,eAAe,GAAGA,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC9C,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACtC,IAAI,MAAM,kBAAkB,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI;AACjD,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG;AAC1D;AACA,YAAY,IAAI,YAAY,IAAI,WAAW,EAAE;AAC7C,gBAAgB,OAAO,IAAI;AAC3B,YAAY;AACZ,YAAY,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM;AACrC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACb,IAAI,CAAC,EAAE;AACP,QAAQ,OAAO;AACf,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,MAAM,gBAAgB,GAAG,mBAAmB,EAAE;AAClD,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa;AAChD,IAAI,MAAM,QAAQ,GAAG,SAAS,KAAK,SAAS;AAC5C,IAAI,MAAM,CAAC,OAAO,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI,WAAW,GAAG,GAAG,GAAG,kBAAkB,EAAE;AAC/E,QAAQ,WAAW;AACnB,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,aAAa,CAAC,OAAO,GAAG,QAAQ;AACxC,IAAI,CAAC,EAAE;AACP,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB;AACA,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO;AAC1C,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,MAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM;AACnE;AACA,YAAY,gBAAgB,CAAC,MAAM,CAAC;AACpC,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG;AAC5B,oBAAoB;AACpB,wBAAwB,OAAO,EAAE,KAAK,CAAC,EAAE;AACzC,wBAAwB,MAAM;AAC9B,wBAAwB,QAAQ,EAAE,KAAK,CAAC;AACxC,qBAAqB;AACrB,oBAAoB,GAAG;AACvB,iBAAiB,CAAC;AAClB,YAAY,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;AACvF,QAAQ;AACR,IAAI,CAAC,EAAE;AACP,QAAQ,UAAU;AAClB,QAAQ,KAAK,CAAC;AACd,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,eAAe,CAAC,IAAI;AAC9B;AACA,QAAQ,IAAI,CAAC,OAAO,EAAE;AACtB,QAAQ,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO;AAC1C,QAAQ,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM;AACrD,QAAQ,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AACvC,QAAQ,MAAM,SAAS,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM;AAClE,QAAQ,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,cAAc;AAC/C,QAAQ,gBAAgB,CAAC,SAAS,CAAC;AACnC,QAAQ,UAAU,CAAC,CAAC,OAAO,GAAG;AAC9B,YAAY,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC;AACrF,YAAY,IAAI,CAAC,aAAa,EAAE;AAChC,gBAAgB,OAAO;AACvB,oBAAoB;AACpB,wBAAwB,OAAO,EAAE,KAAK,CAAC,EAAE;AACzC,wBAAwB,MAAM,EAAE,SAAS;AACzC,wBAAwB,QAAQ,EAAE,KAAK,CAAC;AACxC,qBAAqB;AACrB,oBAAoB,GAAG;AACvB,iBAAiB;AACjB,YAAY,CAAC,MAAM;AACnB,gBAAgB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,GAAG;AAC3E,wBAAwB,GAAG,MAAM;AACjC,wBAAwB,MAAM,EAAE;AAChC,qBAAqB,GAAG,MAAM,CAAC;AAC/B,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI,CAAC,EAAE;AACP,QAAQ,OAAO;AACf,QAAQ,KAAK,CAAC,KAAK;AACnB,QAAQ,KAAK,CAAC,WAAW;AACzB,QAAQ,UAAU;AAClB,QAAQ,KAAK,CAAC,EAAE;AAChB,QAAQ,KAAK,CAAC,GAAG;AACjB,QAAQ,KAAK,CAAC,MAAM;AACpB,QAAQ,KAAK,CAAC;AACd,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAGA,sBAAK,CAAC,WAAW,CAAC,IAAI;AAC9C;AACA,QAAQ,UAAU,CAAC,IAAI,CAAC;AACxB,QAAQ,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7C,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;AACxE,QAAQ,UAAU,CAAC,IAAI;AACvB,YAAY,WAAW,CAAC,KAAK,CAAC;AAC9B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;AAC/B,IAAI,CAAC,EAAE;AACP,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,UAAU;AAClB,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AACjH,QAAQ,IAAI,SAAS;AACrB;AACA,QAAQ,MAAM,UAAU,GAAG,IAAI;AAC/B,YAAY,IAAI,0BAA0B,CAAC,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE;AACrF;AACA,gBAAgB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,sBAAsB,CAAC,OAAO;AACzF,gBAAgB,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,GAAG,WAAW;AAC3E,YAAY;AACZ,YAAY,0BAA0B,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AACrE,QAAQ,CAAC;AACT,QAAQ,MAAM,UAAU,GAAG,IAAI;AAC/B;AACA;AACA;AACA,YAAY,IAAI,aAAa,CAAC,OAAO,KAAK,QAAQ,EAAE;AACpD,YAAY,sBAAsB,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AACjE;AACA,YAAY,SAAS,GAAG,UAAU,CAAC,IAAI;AACvC,gBAAgB,KAAK,CAAC,WAAW,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACzF,gBAAgB,WAAW,EAAE;AAC7B,YAAY,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,IAAI,QAAQ,IAAI,WAAW,IAAI,gBAAgB,EAAE;AACzD,YAAY,UAAU,EAAE;AACxB,QAAQ,CAAC,MAAM;AACf,YAAY,UAAU,EAAE;AACxB,QAAQ;AACR,QAAQ,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC;AAC1C,IAAI,CAAC,EAAE;AACP,QAAQ,QAAQ;AAChB,QAAQ,WAAW;AACnB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,gBAAgB;AACxB,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;AAC1B,YAAY,WAAW,EAAE;AACzB,YAAY,KAAK,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACjF,QAAQ;AACR,IAAI,CAAC,EAAE;AACP,QAAQ,WAAW;AACnB,QAAQ,KAAK,CAAC;AACd,KAAK,CAAC;AACN,IAAI,SAAS,cAAc,GAAG;AAC9B,QAAQ,IAAI,iBAAiB;AAC7B,QAAQ,IAAI,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE;AACpD,YAAY,IAAI,kBAAkB;AAClC,YAAY,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5D,gBAAgB,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC;AAC9M,gBAAgB,cAAc,EAAE,SAAS,KAAK;AAC9C,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;AAC7B,QAAQ;AACR,QAAQ,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACzD,YAAY,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;AACvL,YAAY,OAAO,EAAE,SAAS,KAAK;AACnC,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC;AACjG,IAAI,IAAI,iBAAiB,EAAE,YAAY;AACvC,IAAI,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACnD,QAAQ,QAAQ,EAAE,CAAC;AACnB,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACta,QAAQ,mBAAmB,EAAE,EAAE;AAC/B,QAAQ,kBAAkB,EAAE,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,iBAAiB,GAAG,iBAAiB;AAClH,QAAQ,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC;AACxE,QAAQ,cAAc,EAAE,OAAO;AAC/B,QAAQ,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAC9C,QAAQ,aAAa,EAAE,QAAQ;AAC/B,QAAQ,cAAc,EAAE,OAAO;AAC/B,QAAQ,cAAc,EAAE,SAAS;AACjC,QAAQ,iBAAiB,EAAE,CAAC;AAC5B,QAAQ,iBAAiB,EAAE,CAAC;AAC5B,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,YAAY,EAAE,OAAO;AAC7B,QAAQ,cAAc,EAAE,OAAO;AAC/B,QAAQ,kBAAkB,EAAE,WAAW;AACvC,QAAQ,WAAW,EAAE,SAAS;AAC9B,QAAQ,aAAa,EAAE,MAAM;AAC7B,QAAQ,gBAAgB,EAAE,QAAQ;AAClC,QAAQ,sBAAsB,EAAE,iBAAiB;AACjD,QAAQ,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAI,eAAe,IAAI,OAAO,CAAC;AACxE,QAAQ,aAAa,EAAE,KAAK,CAAC,MAAM;AACnC,QAAQ,KAAK,EAAE;AACf,YAAY,SAAS,EAAE,KAAK;AAC5B,YAAY,iBAAiB,EAAE,KAAK;AACpC,YAAY,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK;AAC9C,YAAY,UAAU,EAAE,CAAC,EAAE,OAAO,GAAG,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5E,YAAY,kBAAkB,EAAE,eAAe,GAAG,MAAM,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;AAC/E,YAAY,GAAG,KAAK;AACpB,YAAY,GAAG,KAAK,CAAC;AACrB,SAAS;AACT,QAAQ,SAAS,EAAE,IAAI;AACvB,YAAY,UAAU,CAAC,KAAK,CAAC;AAC7B,YAAY,iBAAiB,CAAC,IAAI,CAAC;AACnC,YAAY,eAAe,CAAC,OAAO,GAAG,IAAI;AAC1C,QAAQ,CAAC;AACT,QAAQ,aAAa,EAAE,CAAC,KAAK,GAAG;AAChC,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO;AAC3C,YAAY,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1C,YAAY,aAAa,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE;AAC9C,YAAY,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;AACjD;AACA,YAAY,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;AAC3D,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;AACnD,YAAY,UAAU,CAAC,IAAI,CAAC;AAC5B,YAAY,eAAe,CAAC,OAAO,GAAG;AACtC,gBAAgB,CAAC,EAAE,KAAK,CAAC,OAAO;AAChC,gBAAgB,CAAC,EAAE,KAAK,CAAC;AACzB,aAAa;AACb,QAAQ,CAAC;AACT,QAAQ,WAAW,EAAE,IAAI;AACzB,YAAY,IAAI,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB;AAC7E,YAAY,IAAI,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1C,YAAY,eAAe,CAAC,OAAO,GAAG,IAAI;AAC1C,YAAY,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AACxL,YAAY,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1L,YAAY,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,CAAC;AAC3J,YAAY,MAAM,WAAW,GAAG,cAAc,KAAK,GAAG,GAAG,YAAY,GAAG,YAAY;AACpF,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS;AAC9D,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,eAAe,IAAI,QAAQ,GAAG,IAAI,EAAE;AAC7E,gBAAgB,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,gBAAgB,KAAK,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACrF,gBAAgB,IAAI,cAAc,KAAK,GAAG,EAAE;AAC5C,oBAAoB,oBAAoB,CAAC,YAAY,GAAG,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;AAC7E,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,oBAAoB,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAC1E,gBAAgB;AAChB,gBAAgB,WAAW,EAAE;AAC7B,gBAAgB,WAAW,CAAC,IAAI,CAAC;AACjC,gBAAgB;AAChB,YAAY,CAAC,MAAM;AACnB,gBAAgB,IAAI,kBAAkB,EAAE,kBAAkB;AAC1D,gBAAgB,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1I,gBAAgB,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1I,YAAY;AACZ,YAAY,WAAW,CAAC,KAAK,CAAC;AAC9B,YAAY,UAAU,CAAC,KAAK,CAAC;AAC7B,YAAY,iBAAiB,CAAC,IAAI,CAAC;AACnC,QAAQ,CAAC;AACT,QAAQ,aAAa,EAAE,CAAC,KAAK,GAAG;AAChC,YAAY,IAAI,oBAAoB;AACpC,YAAY,iBAAiB,EAAE,kBAAkB;AACjD,YAAY,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE;AAC1D,YAAY,MAAM,aAAa,GAAG,CAAC,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC;AAChJ,YAAY,IAAI,aAAa,EAAE;AAC/B,YAAY,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACpE,YAAY,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;AACpE,YAAY,IAAI,sBAAsB;AACtC,YAAY,MAAM,eAAe,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,GAAG,sBAAsB,GAAG,yBAAyB,CAAC,QAAQ,CAAC;AAC3J;AACA,YAAY,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AACnF,gBAAgB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAClF,YAAY;AACZ,YAAY,IAAI,WAAW,GAAG;AAC9B,gBAAgB,CAAC,EAAE,CAAC;AACpB,gBAAgB,CAAC,EAAE;AACnB,aAAa;AACb,YAAY,MAAM,YAAY,GAAG,CAAC,KAAK,GAAG;AAC1C,gBAAgB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;AACnD,gBAAgB,OAAO,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC;AACzC,YAAY,CAAC;AACb;AACA,YAAY,IAAI,cAAc,KAAK,GAAG,EAAE;AACxC;AACA,gBAAgB,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAC3F,oBAAoB,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;AAC3H,wBAAwB,WAAW,CAAC,CAAC,GAAG,MAAM;AAC9C,oBAAoB,CAAC,MAAM;AAC3B;AACA,wBAAwB,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;AAC3E;AACA,wBAAwB,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,GAAG,MAAM;AAC3G,oBAAoB;AACpB,gBAAgB;AAChB,YAAY,CAAC,MAAM,IAAI,cAAc,KAAK,GAAG,EAAE;AAC/C;AACA,gBAAgB,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC3F,oBAAoB,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;AAC3H,wBAAwB,WAAW,CAAC,CAAC,GAAG,MAAM;AAC9C,oBAAoB,CAAC,MAAM;AAC3B;AACA,wBAAwB,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;AAC3E;AACA,wBAAwB,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,GAAG,MAAM;AAC3G,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AAC5E,gBAAgB,WAAW,CAAC,IAAI,CAAC;AACjC,YAAY;AACZ,YAAY,CAAC,iBAAiB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnJ,YAAY,CAAC,kBAAkB,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrJ,QAAQ;AACR,KAAK,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,SAAS,KAAK,SAAS,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC1G,QAAQ,YAAY,EAAE,oBAAoB;AAC1C,QAAQ,eAAe,EAAE,QAAQ;AACjC,QAAQ,mBAAmB,EAAE,IAAI;AACjC,QAAQ,OAAO,EAAE,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI;AACzD,YAAY,WAAW,EAAE;AACzB,YAAY,KAAK,CAAC,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AACjF,QAAQ,CAAC;AACT,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,WAAW;AAC9L,KAAK,EAAE,CAAC,YAAY,GAAG,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9R,QAAQ,WAAW,EAAE,EAAE;AACvB,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI;AAChL,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,cAAc,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClM,QAAQ,cAAc,EAAE,EAAE;AAC1B,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,OAAO;AACtL,KAAK,gBAAgBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,QAAQ,YAAY,EAAE,EAAE;AACxB,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK;AAClL,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9J,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,QAAQ,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,WAAW;AAC/O,KAAK,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,gBAAgBA,sBAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC1P,QAAQ,aAAa,EAAE,IAAI;AAC3B,QAAQ,aAAa,EAAE,IAAI;AAC3B,QAAQ,KAAK,EAAE,KAAK,CAAC,iBAAiB,IAAI,iBAAiB;AAC3D,QAAQ,OAAO,EAAE,CAAC,KAAK,GAAG;AAC1B;AACA,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACzC,YAAY,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClG,YAAY,WAAW,EAAE;AACzB,QAAQ,CAAC;AACT,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,YAAY;AAChM,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,gBAAgBA,sBAAK,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiBA,sBAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC1L,QAAQ,aAAa,EAAE,IAAI;AAC3B,QAAQ,aAAa,EAAE,IAAI;AAC3B,QAAQ,KAAK,EAAE,KAAK,CAAC,iBAAiB,IAAI,iBAAiB;AAC3D,QAAQ,OAAO,EAAE,CAAC,KAAK,GAAG;AAC1B;AACA,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACzC,YAAY,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAClG,YAAY,IAAI,KAAK,CAAC,gBAAgB,EAAE;AACxC,YAAY,WAAW,EAAE;AACzB,QAAQ,CAAC;AACT,QAAQ,SAAS,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,YAAY;AAChM,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAClC,CAAC;AACD,SAAS,oBAAoB,GAAG;AAChC,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,KAAK;AACnD,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,OAAO,KAAK,CAAC;AACtD,IAAI,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC;AACrE,IAAI,IAAI,YAAY,KAAK,MAAM,IAAI,CAAC,YAAY,EAAE;AAClD,QAAQ,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,SAAS;AAC1E,IAAI;AACJ,IAAI,OAAO,YAAY;AACvB;AACA,SAAS,YAAY,CAAC,aAAa,EAAE,YAAY,EAAE;AACnD,IAAI,MAAM,MAAM,GAAG,EAAE;AACrB,IAAI;AACJ,QAAQ,aAAa;AACrB,QAAQ;AACR,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,GAAG;AAC/B,QAAQ,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC;AACpC,QAAQ,MAAM,MAAM,GAAG,QAAQ,GAAG,iBAAiB,GAAG,UAAU;AAChE,QAAQ,MAAM,YAAY,GAAG,QAAQ,GAAG,sBAAsB,GAAG,eAAe;AAChF,QAAQ,SAAS,SAAS,CAAC,MAAM,EAAE;AACnC,YAAY;AACZ,gBAAgB,KAAK;AACrB,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG;AAC7B,gBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM;AAChG,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACtE,YAAY,SAAS,CAAC,MAAM,CAAC;AAC7B,QAAQ,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC/C,YAAY;AACZ,gBAAgB,KAAK;AACrB,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,gBAAgB;AAChB,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG;AAC7B,gBAAgB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AAC/C,oBAAoB,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY;AAC7D,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACnH,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC,MAAM;AACf,YAAY,SAAS,CAAC,YAAY,CAAC;AACnC,QAAQ;AACR,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,MAAM;AACjB;AA0CK,MAAC,OAAO,iBAAiBA,sBAAK,CAAC,UAAU,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;AAC5E,IAAI,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,GAAG,cAAc,EAAE,MAAM,GAAG;AAC5D,QAAQ,QAAQ;AAChB,QAAQ;AACR,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,GAAG,qBAAqB,EAAE,YAAY,EAAE,GAAG,GAAG,oBAAoB,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,kBAAkB,GAAG,eAAe,EAAE,GAAG,KAAK;AAC9P,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAClD,IAAI,MAAM,cAAc,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI;AAC7C,QAAQ,IAAI,EAAE,EAAE;AAChB,YAAY,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC;AACjE,QAAQ;AACR,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;AACvD,IAAI,CAAC,EAAE;AACP,QAAQ,MAAM;AACd,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,MAAM,iBAAiB,GAAGA,sBAAK,CAAC,OAAO,CAAC,IAAI;AAChD,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAClC,YAAY;AACZ,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC/F,IAAI,CAAC,EAAE;AACP,QAAQ,cAAc;AACtB,QAAQ;AACR,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpD,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAI,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC/D,IAAI,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,sBAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAClO,IAAI,MAAM,OAAO,GAAGA,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACtC,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AAClF,IAAI,MAAM,qBAAqB,GAAGA,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACpD,IAAI,MAAM,gBAAgB,GAAGA,sBAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAChD,IAAI,MAAM,WAAW,GAAGA,sBAAK,CAAC,WAAW,CAAC,CAAC,aAAa,GAAG;AAC3D,QAAQ,SAAS,CAAC,CAAC,MAAM,GAAG;AAC5B,YAAY,IAAI,YAAY;AAC5B,YAAY,IAAI,EAAE,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE;AAChI,gBAAgB,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;AACpD,YAAY;AACZ,YAAY,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC;AACnE,QAAQ,CAAC,CAAC;AACV,IAAI,CAAC,EAAE,EAAE,CAAC;AACV,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG;AAC7C,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,gBAAgB,qBAAqB,CAAC,IAAI;AAC1C,oBAAoB,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,GAAG;AAC5E,gCAAgC,GAAG,CAAC;AACpC,gCAAgC,MAAM,EAAE;AACxC,6BAA6B,GAAG,CAAC,CAAC,CAAC;AACnC,gBAAgB,CAAC,CAAC;AAClB,gBAAgB;AAChB,YAAY;AACZ;AACA,YAAY,UAAU,CAAC,IAAI;AAC3B,gBAAgBC,yBAAQ,CAAC,SAAS,CAAC,IAAI;AACvC,oBAAoB,SAAS,CAAC,CAAC,MAAM,GAAG;AACxC,wBAAwB,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;AAC7F;AACA,wBAAwB,IAAI,oBAAoB,KAAK,EAAE,EAAE;AACzD,4BAA4B,OAAO;AACnC,gCAAgC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACxE,gCAAgC;AAChC,oCAAoC,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACnE,oCAAoC,GAAG;AACvC,iCAAiC;AACjC,gCAAgC,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC;AACxE,6BAA6B;AAC7B,wBAAwB;AACxB,wBAAwB,OAAO;AAC/B,4BAA4B,KAAK;AACjC,4BAA4B,GAAG;AAC/B,yBAAyB;AACzB,oBAAoB,CAAC,CAAC;AACtB,gBAAgB,CAAC,CAAC;AAClB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC;AACV,IAAI,CAAC,EAAE;AACP,QAAQ;AACR,KAAK,CAAC;AACN,IAAID,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;AAChC,YAAY,cAAc,CAAC,KAAK,CAAC;AACjC,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,KAAK,KAAK,QAAQ,EAAE;AAChC;AACA,YAAY,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE;AAChG;AACA,gBAAgB,cAAc,CAAC,MAAM,CAAC;AACtC,YAAY,CAAC,MAAM;AACnB;AACA,gBAAgB,cAAc,CAAC,OAAO,CAAC;AACvC,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC3C,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;AAChF,QAAQ,IAAI;AACZ;AACA,YAAY,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG;AACrE,gBAAgB,IAAI,OAAO,EAAE;AAC7B,oBAAoB,cAAc,CAAC,MAAM,CAAC;AAC1C,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,cAAc,CAAC,OAAO,CAAC;AAC3C,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC,CAAC,OAAO,KAAK,EAAE;AACxB;AACA,YAAY,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG;AACtD,gBAAgB,IAAI;AACpB,oBAAoB,IAAI,OAAO,EAAE;AACjC,wBAAwB,cAAc,CAAC,MAAM,CAAC;AAC9C,oBAAoB,CAAC,MAAM;AAC3B,wBAAwB,cAAc,CAAC,OAAO,CAAC;AAC/C,oBAAoB;AACpB,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE;AAC5B,oBAAoB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,gBAAgB;AAChB,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,IAAI,CAAC,EAAE;AACP,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB;AACA,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;AAChC,YAAY,WAAW,CAAC,KAAK,CAAC;AAC9B,QAAQ;AACR,IAAI,CAAC,EAAE;AACP,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,MAAM,aAAa,GAAG,CAAC,KAAK,GAAG;AACvC,YAAY,IAAI,gBAAgB;AAChC,YAAY,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;AACzF,YAAY,IAAI,eAAe,EAAE;AACjC,gBAAgB,IAAI,iBAAiB;AACrC,gBAAgB,WAAW,CAAC,IAAI,CAAC;AACjC,gBAAgB,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE;AAClG,YAAY;AACZ,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,KAAK,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,OAAO,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;AACxM,gBAAgB,WAAW,CAAC,KAAK,CAAC;AAClC,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;AAC3D,QAAQ,OAAO,IAAI,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACzE,IAAI,CAAC,EAAE;AACP,QAAQ;AACR,KAAK,CAAC;AACN,IAAIA,sBAAK,CAAC,SAAS,CAAC,IAAI;AACxB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,OAAO,IAAI;AACvB,gBAAgB,IAAI,qBAAqB,CAAC,OAAO,EAAE;AACnD,oBAAoB,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;AACxD,wBAAwB,aAAa,EAAE;AACvC,qBAAqB,CAAC;AACtB,oBAAoB,qBAAqB,CAAC,OAAO,GAAG,IAAI;AACxD,oBAAoB,gBAAgB,CAAC,OAAO,GAAG,KAAK;AACpD,gBAAgB;AAChB,YAAY,CAAC;AACb,QAAQ;AACR,IAAI,CAAC,EAAE;AACP,QAAQ,OAAO,CAAC;AAChB,KAAK,CAAC;AACN,IAAI;AACJ,kBAAkBA,sBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACjD,QAAQ,GAAG,EAAE,GAAG;AAChB,QAAQ,YAAY,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5D,QAAQ,QAAQ,EAAE,EAAE;AACpB,QAAQ,WAAW,EAAE,QAAQ;AAC7B,QAAQ,eAAe,EAAE,gBAAgB;AACzC,QAAQ,aAAa,EAAE,OAAO;AAC9B,QAAQ,wBAAwB,EAAE;AAClC,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG;AAChD,QAAQ,IAAI,SAAS;AACrB,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,IAAI;AAC/C,QAAQ,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACvD,YAAY,GAAG,EAAE,QAAQ;AACzB,YAAY,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,oBAAoB,EAAE,GAAG,GAAG;AAC9D,YAAY,QAAQ,EAAE,EAAE;AACxB,YAAY,GAAG,EAAE,OAAO;AACxB,YAAY,SAAS,EAAE,SAAS;AAChC,YAAY,qBAAqB,EAAE,IAAI;AACvC,YAAY,mBAAmB,EAAE,WAAW;AAC5C,YAAY,iBAAiB,EAAE,CAAC;AAChC,YAAY,iBAAiB,EAAE,CAAC;AAChC,YAAY,KAAK,EAAE;AACnB,gBAAgB,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;AAClH,gBAAgB,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;AAC7C,gBAAgB,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnC,gBAAgB,GAAG,KAAK;AACxB,gBAAgB,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY;AACpD,aAAa;AACb,YAAY,MAAM,EAAE,CAAC,KAAK,GAAG;AAC7B,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AACpG,oBAAoB,gBAAgB,CAAC,OAAO,GAAG,KAAK;AACpD,oBAAoB,IAAI,qBAAqB,CAAC,OAAO,EAAE;AACvD,wBAAwB,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5D,4BAA4B,aAAa,EAAE;AAC3C,yBAAyB,CAAC;AAC1B,wBAAwB,qBAAqB,CAAC,OAAO,GAAG,IAAI;AAC5D,oBAAoB;AACpB,gBAAgB;AAChB,YAAY,CAAC;AACb,YAAY,OAAO,EAAE,CAAC,KAAK,GAAG;AAC9B,gBAAgB,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO;AAC5H,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAC/C,oBAAoB,gBAAgB,CAAC,OAAO,GAAG,IAAI;AACnD,oBAAoB,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC,aAAa;AACvE,gBAAgB;AAChB,YAAY,CAAC;AACb,YAAY,YAAY,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;AAC/C,YAAY,WAAW,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC;AAC9C,YAAY,YAAY,EAAE,IAAI;AAC9B;AACA,gBAAgB,IAAI,CAAC,WAAW,EAAE;AAClC,oBAAoB,WAAW,CAAC,KAAK,CAAC;AACtC,gBAAgB;AAChB,YAAY,CAAC;AACb,YAAY,SAAS,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC;AAC7C,YAAY,aAAa,EAAE,CAAC,KAAK,GAAG;AACpC,gBAAgB,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,YAAY,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,OAAO;AAC5H,gBAAgB,IAAI,gBAAgB,EAAE;AACtC,gBAAgB,cAAc,CAAC,IAAI,CAAC;AACpC,YAAY,CAAC;AACb,YAAY,WAAW,EAAE,IAAI,cAAc,CAAC,KAAK;AACjD,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG;AAC7H,YAAY,IAAI,sBAAsB,EAAE,yBAAyB;AACjE,YAAY,qBAAqBA,sBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5D,gBAAgB,GAAG,EAAE,KAAK,CAAC,EAAE;AAC7B,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,KAAK,EAAE,KAAK;AAC5B,gBAAgB,iBAAiB,EAAE,UAAU;AAC7C,gBAAgB,QAAQ,EAAE,CAAC,sBAAsB,GAAG,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,IAAI,GAAG,sBAAsB,GAAG,QAAQ;AACtJ,gBAAgB,SAAS,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,SAAS;AACjF,gBAAgB,oBAAoB,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,oBAAoB;AACvG,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,aAAa,EAAE,aAAa;AAC5C,gBAAgB,WAAW,EAAE,CAAC,yBAAyB,GAAG,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,WAAW,KAAK,IAAI,GAAG,yBAAyB,GAAG,WAAW;AACrK,gBAAgB,WAAW,EAAE,WAAW;AACxC,gBAAgB,QAAQ,EAAE,QAAQ;AAClC,gBAAgB,KAAK,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,KAAK;AACzE,gBAAgB,QAAQ,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,QAAQ;AAC/E,gBAAgB,UAAU,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,UAAU;AACnF,gBAAgB,iBAAiB,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,iBAAiB;AACjG,gBAAgB,iBAAiB,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,iBAAiB;AACjG,gBAAgB,oBAAoB,EAAE,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,oBAAoB;AACvG,gBAAgB,WAAW,EAAE,WAAW;AACxC,gBAAgB,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;AAChF,gBAAgB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;AAC1E,gBAAgB,UAAU,EAAE,UAAU;AACtC,gBAAgB,eAAe,EAAE,MAAM;AACvC,gBAAgB,GAAG,EAAE,GAAG;AACxB,gBAAgB,QAAQ,EAAE,QAAQ;AAClC,gBAAgB,eAAe,EAAE,KAAK,CAAC;AACvC,aAAa,CAAC;AACd,QAAQ,CAAC,CAAC,CAAC;AACX,IAAI,CAAC,CAAC,CAAC;AACP,CAAC;;;;;","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"triangle-alert-ZUMRpmzW.js","sources":["../../node_modules/lucide-react/dist/esm/icons/info.js","../../node_modules/lucide-react/dist/esm/icons/triangle-alert.js"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n];\nconst Info = createLucideIcon(\"info\", __iconNode);\n\nexport { __iconNode, Info as default };\n//# sourceMappingURL=info.js.map\n","/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n];\nconst TriangleAlert = createLucideIcon(\"triangle-alert\", __iconNode);\n\nexport { __iconNode, TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n"],"names":["__iconNode","createLucideIcon"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5D,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC7C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5C,CAAC;AACI,MAAC,IAAI,GAAGC,iCAAgB,CAAC,MAAM,EAAED,YAAU;;ACdhD;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE;AACF,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,CAAC,EAAE,0EAA0E;AACnF,MAAM,GAAG,EAAE;AACX;AACA,GAAG;AACH,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC7C,CAAC;AACI,MAAC,aAAa,GAAGC,iCAAgB,CAAC,gBAAgB,EAAE,UAAU;;;;;","x_google_ignoreList":[0,1]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"withIconSize-BKUwVY6t.js","sources":["../../src/utils/withIconSize.ts"],"sourcesContent":["import React from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\n\n/**\n * Injects an icon size className on a React element so shadcn's\n * `[&_svg:not([class*='size-'])]:size-X` guard rules skip it and our\n * variant-aware size wins. Caller-provided classes are preserved via cn().\n *\n * - If `node` is not a valid React element (string, number, fragment,\n * null/undefined), returns it as-is. No size is injected.\n * - If `node` already has a `className` prop, the injected size is prepended\n * so tailwind-merge lets the caller's className win if it conflicts.\n */\nexport function withIconSize(\n node: React.ReactNode,\n sizeClassName: string\n): React.ReactNode {\n if (!React.isValidElement(node)) return node;\n\n const element = node as React.ReactElement<{ className?: string }>;\n\n return React.cloneElement(element, {\n className: cn(sizeClassName, element.props.className),\n });\n}\n"],"names":["React","cn"],"mappings":";;;;;;;;;AAcO,SAAS,YAAA,CACd,MACA,aAAA,EACiB;AACjB,EAAA,IAAI,CAACA,sBAAA,CAAM,cAAA,CAAe,IAAI,GAAG,OAAO,IAAA;AAExC,EAAA,MAAM,OAAA,GAAU,IAAA;AAEhB,EAAA,OAAOA,sBAAA,CAAM,aAAa,OAAA,EAAS;AAAA,IACjC,SAAA,EAAWC,QAAA,CAAG,aAAA,EAAe,OAAA,CAAQ,MAAM,SAAS;AAAA,GACrD,CAAA;AACH;;;;"}