@mahatisystems/mahati-ui-components 5.2.2 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["d:\\insurgence\\cleanup\\uicomponents\\library\\dist\\index.js"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__commonJS","cb","mod","__require","exports","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","isNodeMode","__esModule","value","__toCommonJS","require_down_4","exports2","module2","require_performance_peak_icon","require_calendar_3","require_increase","require_decrease","index_exports","Accordion","CardOverlayLoader","CardWithLoading","CircularSpinner","DEFAULT_ACTIVITY_OPTIONS","DEFAULT_STATUS_OPTIONS","Filter","LoadingDots","LoadingDotsLinear","MahatiActivity","MahatiAsyncDropdown","AsyncDropdown","MahatiAvatarDropdown","AvatarDropdown","MahatiAvatarMultiSelectDropdown","AvatarMultiSelectDropdown","MahatiButton","Button","MahatiCalendar","Calendar","MahatiCameraAccessModal","MahatiCard","Card","MahatiCascadingDropdown","CascadingDropdown","MahatiChartAnalyticsWidget","MahatiConfettiExplosion","ConfettiExplosion","MahatiDropdown","Dropdown","MahatiFormContainer","FormContainer","MahatiGroupedDropdown","GroupedDropdown","MahatiInput","Input","MahatiLocationAccessModal","MahatiMicrophoneAccessModal","MahatiModal","Modal","MahatiMultiSelectDropdown","MultiSelectDropdown","MahatiNotificationCard","MahatiPromotionModal_V1","MahatiPromotionModal","MahatiPromotionModal_V2","MahatiPromotionModalV2Modal","MahatiPromotionModal_V3","MahatiPromotionModalV3Modal","MahatiRealisticConfetti","RealisticConfetti","MahatiSearch","MahatiSearchableDropdown","SearchableDropdown","MahatiStatus","MahatiTabbedInterface","TabbedInterface","MahatiTable","Table","MahatiTableWithTab","TableWithTab","MahatiTexttoAudio","TexttoAudio","MahatiToastMessage","ToastMessage","MahatiTooltip","Tooltip2","Spinner","module","import_react","require","import_lucide_react","import_jsx_runtime","title","children","items","defaultOpenIndex","defaultOpen","className","headerClassName","contentClassName","icon","iconPosition","multipleOpen","onToggle","accordionTestId","headerTestId","contentTestId","useState","openIndexes","setOpenIndexes","normalizedItems","length","content","handleToggle","index","newIndexes","includes","filter","i","jsx","map","item","isOpen","jsxs","disabled","onClick","ChevronUp","ChevronDown","displayName","import_react2","import_jsx_runtime2","parseHeightWidth","match","parseInt","parseGap","gapClass","getColorByName","colors","blue","green","red","orange","purple","yellow","pink","teal","indigo","primary","secondary","success","danger","warning","info","toLowerCase","IconButtonGroup","default","forwardRef","direction","props","ref","gap","style","variantClasses","destructive","outline","ghost","link","dotted","pill","sizeClasses","sm","md","lg","ButtonBase","variant","size","iconButton","iconButtonHeightClass","iconButtonWidthClass","iconButtonBgClass","iconButtonRadiusClass","iconButtonBgPaddingClass","iconButtonHoverBgClass","iconButtonHoverIntensity","testId","color","height","width","minHeight","minWidth","startsWith","background","borderRadius","import_react3","import_lucide_react2","import_jsx_runtime3","cardContent","cardBackContent","collapsible","flippable","backgroundColor","onFlip","open","setOpen","isFlipped","setIsFlipped","contentId","useId","handleFlip","newState","mainContent","variantStyles","elevated","outlined","subtle","figma","sizeStyles","type","e","stopPropagation","p","id","React4","import_lucide_react3","import_jsx_runtime4","MODAL_WIDTH_MAP","xl","getPositionClass","position","onClose","subtitle","customWidth","margin","primaryAction","secondaryAction","headerIcon","showDivider","useEffect","onKey","document","addEventListener","removeEventListener","body","overflow","Fragment","role","X","strokeWidth","label","import_jsx_runtime5","onSubmit","import_react4","import_jsx_runtime6","hasError","errorMessage","onChange","handleChange","import_react6","import_lucide_react4","import_react_dom","import_react5","import_hi","import_hi2","import_jsx_runtime7","convertToDateString","date","year","month","String","padStart","day","isSameDate","date1","date2","formatDate","formatDateWithFormat","format","monthNum","monthNames","monthAbbr","formatTime","time","hour24","hour","period","hour2","minute2","minute","getDaysInMonth","monthIndex","Date","getDate","getFirstDayOfMonth","getDay","getMonthName","toLocaleDateString","DATE_FORMAT_OPTIONS","TIME_ZONE_OPTIONS","compareInternalDates","a","b","addDaysInternal","start","daysToAdd","y","m","d","dim","isBlockedDateHelper","config","days","startInternal","startDate","endInternal","currentInternal","afterOrOnStart","beforeOrOnEnd","getLocalTimeZone","timeZoneString","Intl","DateTimeFormat","resolvedOptions","timeZone","shortTimeZone","toLocaleTimeString","timeZoneName","split","SIZE_SCALES","getDeviceScale","window","innerWidth","calendartestId","enableRangeSelection","rangeValue","onRangeChange","enableTimeSelection","timeValue","onTimeChange","showTimeFormatToggle","timeFormat","onTimeFormatChange","autoHide","showTodayButton","showClearButton","placeholder","onShow","onHide","showIcon","enableYearDropdown","showDateFormatSelector","dateFormat","onDateFormatChange","showTimeZoneSelector","timeZoneFormat","onTimeZoneFormatChange","blockDateConfig","previewTextStyles","globalTypography","today","getFullYear","currentYear","setCurrentYear","getMonth","currentMonth","setCurrentMonth","end","internalRangeValue","setInternalRangeValue","setIsOpen","activeField","setActiveField","showTimeSelector","setShowTimeSelector","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedPeriod","setSelectedPeriod","internalTimeFormat","setInternalTimeFormat","showYearDropdown","setShowYearDropdown","internalDateFormat","setInternalDateFormat","internalTimeZoneFormat","setInternalTimeZoneFormat","deviceScale","setDeviceScale","positionAbove","setPositionAbove","containerRef","useRef","calendarRef","sizeScale","scale","finalRangeValue","scaled","value2","Math","round","handleResize","current","calculatePosition","containerRect","getBoundingClientRect","calendarHeight","offsetHeight","spaceBelow","innerHeight","bottom","spaceAbove","top","bufferSpace","handleClickOutside","event","contains","daysInMonth","firstDay","monthName","previousMonth","nextMonth","selectDate","newRange","startTime","getTime","endTime","dateString","selectToday","todayDate","now","currentHour","getHours","currentMinute","getMinutes","hour12","localTZ","clearDate","toggleCalendar","handleStartFieldClick","handleEndFieldClick","handleChooseTimeClick","handleChooseDateClick","handleTimeFormatToggle","newFormat","handleTimeConfirm","handleDateConfirm","handleMonthYearClick","handleYearSelect","renderDays","isSelected","isInRange","currentTime","isToday","isBlocked","push","fontSize","totalCells","remainingCells","renderTimeSelector","hours12","Array","_","hours24","minutes","marginBottom","transform","paddingLeft","paddingRight","border","HiChevronDown","zone","marginTop","Number","paddingTop","flex","HiOutlineClock","defaultIcon","HiCalendarDays","readOnly","paddingBottom","cursor","opacity","padding","marginLeft","HiChevronLeft","HiChevronRight","import_jsx_runtime8","onApply","onReset","activityOptions","statusOptions","searchPlaceholder","activity","status","keyword","values","setValues","prev","resetField","resetAll","newValues","applyFilters","Section","range","SelectWrapper","opt","SelectIcon","options","triggerRef","dropdownRef","pos","setPos","selectedLabel","find","o","updatePosition","rect","scrollY","left","scrollX","handler","createPortal","import_react7","import_jsx_runtime9","getFontFamily","font","lower","trim","tabs","defaultActiveTab","onTabChange","draggableTabs","onReorderTabs","orientation","verticalPosition","showTabCloseIconInHeader","tabCloseIconPosition","tabCloseIconContent","onCloseTab","tabHeaderFont","tabContentFont","sectionTitleFont","sectionDescriptionFont","activeIndex","setActiveIndex","draggingIndex","setDraggingIndex","effectiveCloseIconContent","tabHeaderFontFamily","tabContentFontFamily","handleTabClick","handleDragStart","handleDragOver","preventDefault","handleDrop","fromIndex","toIndex","prevActive","active","handleDragEnd","headerButtons","tab","isDragging","showClose","closeIcon","draggable","onDragStart","onDragOver","onDrop","onDragEnd","fontFamily","import_react8","import_jsx_runtime10","onSelect","internalSelected","setInternalSelected","selectedOption","handleSelect","option","handleButtonClick","basic","dark","underline","shadow","glass","gradient","import_react9","import_outline","import_jsx_runtime11","getFontFamily2","renderCellValue","isValidElement","isArray","some","v","join","toLocaleString","toString","JSON","stringify","DefaultTabContent","headers","row","h","tableProps","tabProps","rearrange","getRowId","renderTabContent","onRowOpenInTab","description","tabLabelKey","data","setTabs","labelColumnKey","sectionTitleFontFamily","sectionDescriptionFontFamily","t","rawLabel","rowIndex","handleRowClick","existsIndex","findIndex","next2","splice","next","handleCloseTab","isRowSelected","handleReorderTabs","moved","tabbedInterfaceTabs","XMarkIcon","effectiveShowHeaderClose","header","colSpan","selected","rowId","import_react10","import_outline2","import_jsx_runtime12","page","setPage","limit","setLimit","totalCount","highlightRowColor","actions","paginationRequired","paginationPosition","onDownloadPDF","onDownloadExcel","searchable","searchTerm","onResetSearch","onSearch","searchModeOptions","summary","summaryKey","summaryTitleField","summaryColumn","summaryColumnKey","summaryColumnMaxLength","textWrapColumns","textWrapMaxLength","textWrapColumnMaxLengths","tableTestId","searchMode","setSearchMode","expandedRowIndex","setExpandedRowIndex","Set","expandedRowIndexes","setExpandedRowIndexes","isPaginated","totalPages","max","ceil","currentPage","goToPage","clamped","min","renderPageNumbers","pages","siblings","summaryColKeyToUse","renderCell","truncated","substring","mode","ArrowDownOnSquareIcon","idx","isExpanded","has","toggleRow","delete","add","import_react17","import_react11","import_jsx_runtime13","assetSrc","anyM","src","arrowDownIcon","getTriggerClasses","base","getMenuClasses","getOptionClasses","ChartDropdown","internalValue","setInternalValue","displayValue","useMemo","optionValue","onKeyDown","alt","import_react12","import_chart","import_react_chartjs_2","import_jsx_runtime14","Chart","register","ArcElement","Tooltip","Legend","CategoryScale","LinearScale","PointElement","LineElement","BarElement","Filler","makeAreaDataStraight","datasets","ds","tension","cubicInterpolationMode","PieLineBarChart","chartType","defaultOptions","isLineFamily","responsive","maintainAspectRatio","elements","line","plugins","legend","display","tooltip","intersect","titleColor","bodyColor","borderColor","borderWidth","displayColors","scales","x","grid","drawBorder","ticks","interaction","axis","cutout","chartOptions","renderChart","Line","Bar","Doughnut","import_jsx_runtime15","BulletChart","bullets","percentageAchieved","achieved","achievedWidth","markerPosition","marker","import_jsx_runtime16","GaugeChart","gauges","fontWeight","gauge","percentage","angle","remaining","dailyAvg","viewBox","x1","y1","x2","y2","offset","stopColor","fill","stroke","strokeLinecap","transition","strokeDasharray","gradientUnits","stopOpacity","textAnchor","transformOrigin","DEFAULT_RISK_BANDS","rangeStart","rangeEnd","createRiskArcPath","centerX","centerY","radius","startAngle","endAngle","startRad","PI","endRad","cos","sin","largeArcFlag","getRiskLevel","score","bands","band","RiskGaugeChart","maxScore","currentLevel","bandIndex","arcPath","bandIdx","import_jsx_runtime17","HorizontalBarChart","bars","xAxisConfig","topPerformer","safeBars","bar","whiteSpace","labels","totalLabels","approxCharWidth","centerOffset","maxVal","barLengthPercentage","import_react13","import_jsx_runtime18","assetSrc2","arrowDownIcon2","GANTT_COLORS","emerald","GanttChart","selectedYear","selectedMonth","selectedProject","onProjectChange","isProjectDropdownOpen","setIsProjectDropdownOpen","projects","projectData","getMonthNames","monthRange","monthMap","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","month1","month2","getMonthNumber","monthNumberMap","getTodayPosition","currentDay","monthToNumber","selectedMonth1","selectedMonth2","selectedYearNum","dayPercent","positionInMonth","mobileLeft","desktopLeft","show","todayPosition","months","displayMonths","month1Num","month2Num","getTaskPosition","endDate","startDay","startMonth","endDay","endMonth","selectedMonth1Num","selectedMonth2Num","startPercent","isInSecondMonth","lineHeight","baseHeight","taskHeight","taskSpacing","tasks","DateRangeBoxes","alignItems","justifyContent","aspectRatio","boxShadow","project","smLeft","section","task","taskColor","import_react14","import_jsx_runtime19","LEGEND_COLORS","getActivityColor","getYearWeeks","calendarheatmapData","weeks","firstDayOfWeek","daysToMonday","firstMonday","currentDate","lastMonth","weekIndex","maxWeeks","MONTH_NAMES_FULL","MONTH_NAMES_SHORT","hasCurrentYearDate","dateStr","dayData","weekDays","setDate","dayIndex","thursday","weekMonth","monthLabel","CalendarHeatmapChart","selectedType","hoveredCell","setHoveredCell","visible","cellColor","tooltipData","setTooltipData","yearWeeks","dayRows","forEach","week","weekIdx","dayIdx","strokeLinejoin","rowIdx","cell","colIdx","isCurrentYear","cellKey","isHovered","onMouseEnter","currentTarget","onMouseLeave","marginRight","import_jsx_runtime20","DEFAULT_COLORS","LollipopChart","MenuButtonDots","maxValue","gridPositions","axisLabels","slice","textOverflow","reverse","maxWidth","import_jsx_runtime21","defaultGradient","ColumnChart","columns","yAxisConfig","safeColumns","minValue","yAxisLabels","formatValue","toFixed","calculateHeight","column","columnHeightPercentage","import_react15","import_jsx_runtime22","createLinearPath","points","path","createAreaPath","linePath","lastPoint","firstPoint","calculatePercentageChange","firstValue","lastValue","abs","getTimeLabel","dataLength","timestamps","monthsDiff","daysDiff","years","floor","getDateRange","filteredTimestamps","allTimestamps","formatDateRange","formatSingleDate","sameYear","sd","sy","em","ed","ey","calculateSum","reduce","s","formatCurrencyValue","prefix","KPIChart","hoveredIndex","setHoveredIndex","tooltipPos","setTooltipPos","timePeriods","filteredData","cutoffDate","setMonth","setFullYear","filtered","filteredTS","timestamp","dataDate","percentageChange","isPositive","dynamicTimeLabel","dynamicDateRange","dynamicValue","chartWidth","chartHeight","calculatedPoints","linearPath","areaPath","gradientId","random","substr","handleMouseMove","svg","ownerSVGElement","clientX","nearestIndex","minDistance","point","distance","positiveGradientStop","trendColor","changeIndicatorBg","letterSpacing","preserveAspectRatio","isNaN","cx","cy","r","onMouseMove","borderTop","text","import_jsx_runtime23","DEFAULT_BAR_COLORS","revenue","profit","loss","cost","GroupBarChart","groups","legends","safeGroups","getColorMap","colorMap","BAR_COLORS","getProfitOrLoss","group","profitOrLoss","profitOrLossValue","isProfitable","profitLossColor","profitLossAbsValue","barIdx","textAlign","wordBreak","overflowWrap","import_react16","import_jsx_runtime24","DEFAULT_COLORS2","aggregating","outstanding","writeOff","StackBarChart","setTooltip","safeData","COLORS","getLabel","l","defaultLabels","handleSegmentMouseEnter","total","totalHeight","aggregatingPercent","outstandingPercent","writeOffPercent","backdropFilter","import_jsx_runtime25","assetSrc3","FALLBACK_ICONS","performancePeakIcon","calendarIcon","increaseIcon","decreaseIcon","getIconSrc","imported","fallback","colorToClass","c","getStatusColors","statusConfig","textColor","tabLabel","charAt","toUpperCase","MenuDotsButton","chartTypes","initialChartType","filters","chartFilters","selectedFilters","chartDataMap","bulletData","gaugeData","horizontalBarData","columnChartData","groupBarData","stackBarData","lollipopData","kpiData","riskGaugeData","ganttData","heatmapData","onApplyFilters","quickStats","actionButtons","onChartTypeChange","onFiltersChange","details","setChartType","selectedGanttProject","setSelectedGanttProject","selectedCalendarHeatmapProject","setSelectedCalendarHeatmapProject","currentFilters","currentData","isPieFamily","bulletDetails","bullet","currentGanttData","baseData","projectName","newProgress","progress","newStatus","currentHorizontalBarTopPerformer","yearData","monthData","monthOrder","currentMonthIndex","indexOf","previousYear","previousYearData","previousMonthData","products","keys","maxRevenue","topProduct","minRevenue","Infinity","needsFocusProduct","product","Revenue","isIncrease","cur","topProductData","category","Profit","needsFocus","change","calendarPeakAndActiveDay","empty","peakDay","dayName","mostActiveDay","count","average","allDayData","dayOfWeekCounts","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","n","dateObj","dayNames","entries","stats","avg","formatPeakDate","weekday","currentBulletData","SelectYear","SelectMonth","SelectType","typeData","currentKPIData","kpiKey","currentGauge","sp","productData","xAxis","Cost","st","yAxis","lYearData","ly","lm","lc","lo","lCatData","selectedCategory","currentRiskGauges","sw","selectedWeek","allData","isActive","zIndex","val","statusColors","totalVolume","transactions","getBadgeBg","QuickInsightsCard","peakIconSrc","peakDate","peakEvents","calendarIconSrc","activeDayLabel","activeDayValue","activeAvg","dateLabel","sm2","dailyAvgNeeded","currentPace","daysRemaining","yearNum","lastDayOfMonth","lastDay","lastDayWeekday","lastFriday","formattedDate","currentRiskGauge","lastTask","TopPerformerCard","performer","totalRevenue","sum","contribution","ci","prevMonth","prevYear","prevTypeData","prevTop","growth","rank","sort","currentTotal","prevTotal","pctChange","bgColor","minimumFractionDigits","maximumFractionDigits","defaultLegends","getColor","revenueColor","profitColor","lossColor","g","topPL","isTopProfitable","prevGroups","lossProducts","needsFocusHasLoss","mt","ct","topTotal","mt2","ct2","weekNum","replace","prevWeek","prevDay","pt","ch","fid","f","f0","f1","f2","catData","bestItem","lowestItem","aboveAvg","import_react18","import_jsx_runtime26","image","animation","setVisible","isReady","setIsReady","showAnimation","setShowAnimation","tooltipPosition","setTooltipPosition","adjustedPosition","setAdjustedPosition","tooltipRef","hasContent","tooltipRect","viewportWidth","viewportHeight","finalPosition","right","showTooltip","requestAnimationFrame","delay","triggerDelay","setTimeout","hideTooltip","handleUpdate","passive","renderTooltipContent","loading","renderAnimation","AnimationComponent","component","variantStyle","onFocus","onBlur","import_react19","import_react_dom2","import_jsx_runtime27","getStripGradient","getGradient","getTitleColor","getIcon","objectFit","altText","customTitle","message","duration","custom","action","rest","backgroundClass","displayTitle","hasActions","timer","clearTimeout","closeIconSrc","iconElement","iconSrc","iconWidth","iconHeight","titleFontFamily","messageFontFamily","messageColor","closeIconWidth","closeIconHeight","btn","import_react20","import_jsx_runtime28","particleCount","force","particleSize","stageHeight","particles","setParticles","animationFrameRef","timerRef","stableColors","newParticles","speed","fromLeft","startX","shape","rotation","rotationSpeed","vx","vy","gravity","life","animate","elapsed","prevParticles","particle","cancelAnimationFrame","starGradient","clipPath","import_react21","import_jsx_runtime29","import_jsx_runtime30","SrOnly","primaryColor","borderTopColor","ringCount","rings","ringSize","spinnerSize","spinnerBorderWidth","spinnerPrimary","spinnerTrack","backdrop","dots","imageUrl","import_react22","import_lucide_react5","import_jsx_runtime31","search","setSearch","removeValue","toggleValue","filteredOptions","lbl","checked","level2","level1","level3","displayText","isSectionSelected","isChildChecked","toggleSection","toggleChild","exists","flatMap","loadOptions","setOptions","setLoading","then","finally","Loader2","import_react23","import_jsx_runtime32","ControlIcon","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","defaultIcons","play","pause","stop","repeat","skipForward","skipBackward","tenForward","tenBackward","icons","WORDS_PER_SECOND","setText","setMode","playing","setPlaying","setCurrentTime","setDuration","volume","setVolume","setSpeed","loop","setLoop","utteranceRef","wordIndexRef","textAreaRef","highlightOnSkipRef","setSummary","loopMode","setLoopMode","loopCountRef","autoPlayRef","baseDurationRef","timerBaseRef","volumeRef","speedRef","categorizeText","input","text2","categories","Technology","keywords","Business","Education","Media","Human","Geography","Nature","Health","summaries","k","highlightWordAt","startIndex","ta","test","focus","setSelectionRange","formatTime2","sec","getSourceText","speakFromTime","speechSynthesis","cancel","source","words","startWordIndex","charOffset","stopTimer","u","SpeechSynthesisUtterance","rate","onboundary","charIndex","onend","speak","startTimer","fromTime","setInterval","togglePlay","resume","clearInterval","getQuickSummary","pageText","innerText","getPageContent","downloadAudio","alert","skip","baseDuration","newDuration","newCurrentTime","getVolumeIcon","step","accentColor","import_react24","import_react_dom3","import_lucide_react6","import_jsx_runtime33","allowText","denyText","onAllow","onDeny","setStatus","location","setLocation","navigator","permissions","query","res","state","onchange","coords","requestLocation","geolocation","getCurrentPosition","enableHighAccuracy","cardRef","requestCamera","stream","err","mediaDevices","getUserMedia","video","console","error","requestMic","audio","MahatiPromotionCard","headerTitle","ctaText","onCtaClick","showInput","inputPlaceholder","onInputChange","ctaLink","openInNewTab","cardProps","email","setEmail","handleCta","href","showBadgeImage","badgeImageSrc","secondaryText","onSecondaryClick","imageSrc","BADGE_BG_MAP","like","mention","follow","comment","avatarSrc","badgeIconSrc","badgeType","primaryActionText","onPrimaryAction","secondaryActionText","onSecondaryAction"],"mappings":"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AAC,CAAA,GAAGxC,eAAe/iC,MAAK,AAAC,EAAEukC;IAC7C,IAAMiB,WAAW,AAAC,CAAA,GAAGzC,eAAe/iC,MAAK,AAAC,EAAEo/B;IAC5C,IAAMqG,iBAAiB,wBAACC;QACtB,IAAI,CAACA,MAAMl9B,IAAI,IAAI,OAAO;QAC1B,IAAMm9B,QAAQD,MAAMz0C,WAAW;QAC/B,IAAM20C,aAAa;YACjBC,YAAY;gBACVC,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACAs1B,UAAU;gBACRD,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACAu1B,WAAW;gBACTF,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACAw1B,OAAO;gBACLH,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACAy1B,OAAO;gBACLJ,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACA01B,WAAW;gBACTL,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACA21B,QAAQ;gBACNN,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;YACA41B,QAAQ;gBACNP,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDr1B,SAAS;YACX;QACF;QACA,IAAM61B,YAAY,EAAE;QACpB,IAAK,IAAM1+C,OAAOg+C,WAAY;YAC5B,IAAIA,UAAU,CAACh+C,IAAI,CAACk+C,QAAQ,CAACp5B,IAAI,CAAC,SAAC65B;uBAAMZ,MAAM/2C,QAAQ,CAAC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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/assets/icons/down_4.png\nvar require_down_4 = __commonJS({\n \"src/assets/icons/down_4.png\"(exports2, module2) {\n module2.exports = \"./down_4-X52SETBJ.png\";\n }\n});\n\n// src/assets/icons/performance-peak-icon.png\nvar require_performance_peak_icon = __commonJS({\n \"src/assets/icons/performance-peak-icon.png\"(exports2, module2) {\n module2.exports = \"./performance-peak-icon-QXFZTZUB.png\";\n }\n});\n\n// src/assets/icons/calendar-3.png\nvar require_calendar_3 = __commonJS({\n \"src/assets/icons/calendar-3.png\"(exports2, module2) {\n module2.exports = \"./calendar-3-SFJ52KIR.png\";\n }\n});\n\n// src/assets/icons/increase.png\nvar require_increase = __commonJS({\n \"src/assets/icons/increase.png\"(exports2, module2) {\n module2.exports = \"./increase-QM2727GU.png\";\n }\n});\n\n// src/assets/icons/decrease.png\nvar require_decrease = __commonJS({\n \"src/assets/icons/decrease.png\"(exports2, module2) {\n module2.exports = \"./decrease-SMWSBU7A.png\";\n }\n});\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Accordion: () => Accordion,\n CardOverlayLoader: () => CardOverlayLoader,\n CardWithLoading: () => CardWithLoading,\n CircularSpinner: () => CircularSpinner,\n DEFAULT_ACTIVITY_OPTIONS: () => DEFAULT_ACTIVITY_OPTIONS,\n DEFAULT_STATUS_OPTIONS: () => DEFAULT_STATUS_OPTIONS,\n Filter: () => Filter,\n LoadingDots: () => LoadingDots,\n LoadingDotsLinear: () => LoadingDotsLinear,\n MahatiActivity: () => MahatiActivity,\n MahatiAsyncDropdown: () => AsyncDropdown,\n MahatiAvatarDropdown: () => AvatarDropdown,\n MahatiAvatarMultiSelectDropdown: () => AvatarMultiSelectDropdown,\n MahatiButton: () => Button,\n MahatiCalendar: () => Calendar,\n MahatiCameraAccessModal: () => MahatiCameraAccessModal,\n MahatiCard: () => Card,\n MahatiCascadingDropdown: () => CascadingDropdown,\n MahatiChartAnalyticsWidget: () => MahatiChartAnalyticsWidget,\n MahatiConfettiExplosion: () => ConfettiExplosion,\n MahatiDropdown: () => Dropdown,\n MahatiFormContainer: () => FormContainer,\n MahatiGroupedDropdown: () => GroupedDropdown,\n MahatiInput: () => Input,\n MahatiLocationAccessModal: () => MahatiLocationAccessModal,\n MahatiMicrophoneAccessModal: () => MahatiMicrophoneAccessModal,\n MahatiModal: () => Modal,\n MahatiMultiSelectDropdown: () => MultiSelectDropdown,\n MahatiNotificationCard: () => MahatiNotificationCard,\n MahatiPromotionModal_V1: () => MahatiPromotionModal,\n MahatiPromotionModal_V2: () => MahatiPromotionModalV2Modal,\n MahatiPromotionModal_V3: () => MahatiPromotionModalV3Modal,\n MahatiRealisticConfetti: () => RealisticConfetti,\n MahatiSearch: () => MahatiSearch,\n MahatiSearchableDropdown: () => SearchableDropdown,\n MahatiStatus: () => MahatiStatus,\n MahatiTabbedInterface: () => TabbedInterface,\n MahatiTable: () => Table,\n MahatiTableWithTab: () => TableWithTab,\n MahatiTexttoAudio: () => TexttoAudio,\n MahatiToastMessage: () => ToastMessage,\n MahatiTooltip: () => Tooltip2,\n Spinner: () => Spinner\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/components/accordion.tsx\nvar import_react = require(\"react\");\nvar import_lucide_react = require(\"lucide-react\");\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nfunction Accordion({\n title,\n children,\n items = [],\n defaultOpenIndex = null,\n defaultOpen,\n className = \"\",\n headerClassName = \"\",\n contentClassName = \"\",\n icon,\n iconPosition = \"right\",\n multipleOpen = false,\n onToggle,\n accordionTestId,\n headerTestId,\n contentTestId\n}) {\n const [openIndexes, setOpenIndexes] = (0, import_react.useState)(\n defaultOpen ? [0] : defaultOpenIndex !== null && defaultOpenIndex !== void 0 ? [defaultOpenIndex] : []\n );\n const normalizedItems = items && items.length > 0 ? items : title !== void 0 ? [{ title, content: children }] : [];\n const handleToggle = (index) => {\n let newIndexes;\n if (multipleOpen) {\n if (openIndexes.includes(index)) {\n newIndexes = openIndexes.filter((i) => i !== index);\n } else {\n newIndexes = [...openIndexes, index];\n }\n } else {\n newIndexes = openIndexes.includes(index) ? [] : [index];\n }\n setOpenIndexes(newIndexes);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n \"div\",\n {\n \"data-testid\": accordionTestId,\n className: `w-full max-w-[684px] border border-slate-200 rounded-xl overflow-hidden bg-white ${className}`,\n children: normalizedItems.map((item, index) => {\n const isOpen = openIndexes.includes(index);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\n \"button\",\n {\n \"data-testid\": headerTestId,\n disabled: item.disabled,\n onClick: () => handleToggle(index),\n className: `\n w-full flex items-center justify-between\n px-6 min-h-[60px]\n font-medium transition\n ${item.disabled ? \"opacity-50 cursor-not-allowed\" : \"cursor-pointer\"}\n ${isOpen ? \"text-white bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\" : \"text-slate-800 bg-white\"}\n ${headerClassName}\n `,\n children: [\n iconPosition === \"left\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { className: \"mr-2\", children: icon || (isOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, {})) }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { className: \"flex-1 text-left\", children: item.title }),\n iconPosition === \"right\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { children: icon || (isOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, {})) })\n ]\n }\n ),\n isOpen && !item.disabled && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n \"div\",\n {\n \"data-testid\": contentTestId,\n className: `px-6 py-4 text-slate-600 border-t border-slate-200 ${contentClassName}`,\n children: item.content\n }\n ),\n index !== normalizedItems.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"div\", { className: \"border-t border-slate-200\" })\n ] }, index);\n })\n }\n );\n}\nAccordion.displayName = \"Accordion\";\n\n// src/components/Button.tsx\nvar import_react2 = __toESM(require(\"react\"));\nvar import_jsx_runtime2 = require(\"react/jsx-runtime\");\nvar parseHeightWidth = (className) => {\n if (!className) return \"36px\";\n const match = className.match(/[hw]-(\\d+)/);\n if (match) {\n return `${parseInt(match[1]) * 4}px`;\n }\n return \"36px\";\n};\nvar parseGap = (gapClass) => {\n if (!gapClass) return \"8px\";\n const match = gapClass.match(/gap-(\\d+)/);\n if (match) {\n return `${parseInt(match[1]) * 4}px`;\n }\n return \"8px\";\n};\nvar getColorByName = (name) => {\n const colors = {\n blue: \"#3b82f6\",\n green: \"#10b981\",\n red: \"#ef4444\",\n orange: \"#f59e0b\",\n purple: \"#8b5cf6\",\n yellow: \"#f59e0b\",\n pink: \"#ec4899\",\n teal: \"#14b8a6\",\n indigo: \"#6366f1\",\n primary: \"linear-gradient(to right, rgba(23, 97, 163, 1), rgba(77, 175, 131, 1))\",\n secondary: \"#6b7280\",\n success: \"#10b981\",\n danger: \"#ef4444\",\n warning: \"#f59e0b\",\n info: \"#3b82f6\"\n };\n return colors[name?.toLowerCase()] || colors.primary;\n};\nvar IconButtonGroup = import_react2.default.forwardRef(\n ({ className, direction = \"row\", gapClass, children, ...props }, ref) => {\n const gap = parseGap(gapClass);\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"div\",\n {\n ref,\n style: { gap },\n className: `inline-flex ${direction === \"col\" ? \"flex-col items-start\" : \"flex-row items-center\"} ${className || \"\"}`,\n ...props,\n children\n }\n );\n }\n);\nIconButtonGroup.displayName = \"IconButtonGroup\";\nvar variantClasses = {\n // ✅ Fixed: was from-[31761A3] — missing #\n default: \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white rounded-md hover:opacity-90 active:opacity-95\",\n destructive: \"bg-[#ef4444] text-white rounded-md hover:bg-[#dc2626] active:bg-[#b91c1c]\",\n outline: \"border border-[#e5e7eb] bg-white text-[#374151] rounded-md hover:bg-[#f9fafb] hover:border-[#d1d5db] active:bg-[#f3f4f6]\",\n // ✅ Fixed: was bg-gray-200 text-gray-700 — now matches CSS-in-JS blue\n secondary: \"bg-[#3b82f6] text-white rounded-md hover:bg-[#2563eb] active:bg-[#1d4ed8]\",\n ghost: \"bg-transparent text-[#374151] rounded-md hover:bg-[#f3f4f6] active:bg-[#e5e7eb]\",\n link: \"bg-transparent text-[#2563eb] underline underline-offset-4 p-0 h-auto hover:no-underline hover:text-[#1d4ed8]\",\n danger: \"bg-transparent text-[#ef4444] rounded-md hover:bg-[#ef44441a] active:bg-[#ef444433]\",\n dotted: \"relative [background:linear-gradient(to_right,#1e73be,#28a97d)] text-white rounded-lg border-2 border-dashed border-white/50 hover:opacity-90\",\n pill: \"[background:linear-gradient(to_right,#1761A3,#4DAF83)] text-white rounded-full hover:opacity-90 active:opacity-95\"\n};\nvar sizeClasses = {\n sm: \"h-[36px] px-3 text-[13px]\",\n md: \"h-[40px] px-4 text-[14px]\",\n lg: \"h-[44px] px-6 text-[15px]\",\n icon: \"h-[40px] w-[40px]\",\n default: \"h-[40px] px-4\"\n};\nvar ButtonBase = import_react2.default.forwardRef(\n ({\n className,\n variant = \"default\",\n size = \"default\",\n name,\n iconButton = false,\n iconButtonHeightClass,\n iconButtonWidthClass,\n iconButtonBgClass,\n iconButtonRadiusClass,\n iconButtonBgPaddingClass,\n iconButtonHoverBgClass,\n iconButtonHoverIntensity,\n children,\n testId,\n style,\n ...props\n }, ref) => {\n const color = getColorByName(name);\n if (iconButton) {\n const height = parseHeightWidth(iconButtonHeightClass);\n const width = parseHeightWidth(iconButtonWidthClass);\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"button\",\n {\n ref,\n style: {\n height,\n width,\n minHeight: height,\n minWidth: width,\n color: color.startsWith(\"linear\") ? \"white\" : color,\n ...style\n },\n className: `\n inline-flex items-center justify-center\n transition-all duration-200\n focus-visible:outline focus-visible:outline-2 focus-visible:outline-white\n ${iconButtonRadiusClass || \"rounded-md\"}\n ${iconButtonBgPaddingClass || \"p-[2px]\"}\n ${iconButtonBgClass || \"bg-white/10\"}\n hover:opacity-85 active:opacity-70\n ${className || \"\"}\n `,\n ...props,\n children\n }\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"button\",\n {\n ref,\n \"data-testid\": testId,\n style: name ? {\n background: color,\n color: \"white\",\n borderRadius: variant === \"pill\" ? \"9999px\" : \"6px\",\n ...style\n } : style,\n className: `\n inline-flex items-center justify-center\n whitespace-nowrap\n font-medium\n text-[14px]\n transition-all duration-200\n cursor-pointer\n focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-400\n disabled:pointer-events-none disabled:opacity-50\n ${!name ? variantClasses[variant] : \"\"}\n ${sizeClasses[size]}\n ${className || \"\"}\n `,\n ...props,\n children\n }\n );\n }\n);\nButtonBase.displayName = \"Button\";\nvar Button = ButtonBase;\nButton.IconButtonGroup = IconButtonGroup;\n\n// src/components/card.tsx\nvar import_react3 = __toESM(require(\"react\"));\nvar import_lucide_react2 = require(\"lucide-react\");\nvar import_jsx_runtime3 = require(\"react/jsx-runtime\");\nvar Card = import_react3.default.forwardRef(\n ({\n title,\n cardContent,\n cardBackContent,\n collapsible = false,\n flippable = false,\n backgroundColor,\n borderRadius,\n variant = \"default\",\n size = \"default\",\n className = \"\",\n children,\n defaultOpen = true,\n onFlip,\n style,\n testId,\n ...props\n }, ref) => {\n const [open, setOpen] = (0, import_react3.useState)(defaultOpen);\n const [isFlipped, setIsFlipped] = (0, import_react3.useState)(false);\n const contentId = import_react3.default.useId();\n const handleFlip = () => {\n if (!flippable) return;\n const newState = !isFlipped;\n setIsFlipped(newState);\n onFlip?.(newState);\n };\n const mainContent = cardContent || children;\n const variantStyles = {\n default: \"bg-white text-slate-800 border border-slate-200 hover:shadow-xl\",\n elevated: \"bg-white border border-transparent shadow-md\",\n outlined: \"bg-slate-50 border border-slate-200\",\n subtle: \"bg-slate-50 border border-transparent\",\n figma: \"border border-[#1761A3] shadow-[0_4px_4px_rgba(0,0,0,0.25)]\"\n };\n const sizeStyles = {\n sm: \"p-4\",\n default: \"p-6\",\n lg: \"p-8\",\n figma: \"w-full max-w-full p-5 box-border\"\n };\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n className: flippable ? \"perspective-[1000px]\" : \"\",\n onClick: flippable ? handleFlip : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: `\n rounded-[14px]\n transition-all duration-300 ease-in-out\n shadow-[0_4px_4px_rgba(0,0,0,0.25)]\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${flippable ? \"relative cursor-pointer transform-style-preserve-3d transition-transform duration-700 ease-in-out\" : \"\"}\n ${isFlipped ? \"rotate-y-180\" : \"\"}\n ${className}\n `,\n style: {\n backgroundColor: variant !== \"figma\" && backgroundColor ? backgroundColor : variant === \"figma\" ? backgroundColor || \"rgba(77,175,131,0.10)\" : void 0,\n borderRadius: borderRadius || \"14px\",\n ...style\n },\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\"div\", { className: flippable ? \"backface-hidden\" : \"\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\n \"div\",\n {\n className: `flex items-center justify-between ${open && mainContent ? \"mb-4\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"h4\", { className: \"text-xl font-semibold text-slate-800 leading-7\", children: title }),\n collapsible && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: (e) => {\n if (flippable) e.stopPropagation();\n setOpen((p) => !p);\n },\n \"aria-label\": open ? \"Hide content\" : \"Show content\",\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n className: \"\\r\\n z-10 flex items-center justify-center\\r\\n w-8 h-8 rounded-full\\r\\n bg-[#1761A3]\\r\\n hover:opacity-80\\r\\n focus:outline-none\\r\\n focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-[#1761A3]\\r\\n \",\n children: open ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronUp, { className: \"w-5 h-5 text-white\" }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronDown, { className: \"w-5 h-5 text-white\" })\n }\n )\n ]\n }\n ),\n mainContent && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n id: contentId,\n className: `\n grid overflow-hidden\n transition-[grid-template-rows,opacity]duration-500 ease-in-out\n ${open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\"}\n `,\n children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"div\", { className: \"overflow-hidden\", children: mainContent })\n }\n )\n ] }),\n flippable && cardBackContent && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n className: \"\\r\\n absolute inset-0\\r\\n w-full h-full\\r\\n p-6\\r\\n rotate-y-180\\r\\n backface-hidden\\r\\n \",\n children: cardBackContent\n }\n )\n ]\n }\n )\n }\n );\n }\n);\nCard.displayName = \"Card\";\n\n// src/components/Modal.tsx\nvar React4 = __toESM(require(\"react\"));\nvar import_lucide_react3 = require(\"lucide-react\");\nvar import_jsx_runtime4 = require(\"react/jsx-runtime\");\nvar MODAL_WIDTH_MAP = {\n sm: \"360px\",\n default: \"562px\",\n md: \"720px\",\n lg: \"760px\",\n xl: \"800px\"\n};\nvar getPositionClass = (position) => {\n switch (position) {\n case \"top-left\":\n return \"items-start justify-start\";\n case \"top-right\":\n return \"items-start justify-end\";\n case \"top-center\":\n return \"items-start justify-center\";\n case \"bottom-left\":\n return \"items-end justify-start\";\n case \"bottom-right\":\n return \"items-end justify-end\";\n case \"bottom-center\":\n return \"items-end justify-center\";\n case \"center-left\":\n return \"items-center justify-start\";\n case \"center-right\":\n return \"items-center justify-end\";\n default:\n return \"items-center justify-center\";\n }\n};\nfunction Modal({\n testId,\n isOpen,\n onClose,\n title,\n subtitle,\n children,\n className = \"\",\n width: customWidth,\n height,\n margin,\n primaryAction,\n secondaryAction,\n headerIcon,\n showDivider = true,\n position = \"center\",\n size = \"default\"\n}) {\n const width = customWidth ?? MODAL_WIDTH_MAP[size];\n React4.useEffect(() => {\n if (!isOpen) return;\n const onKey = (e) => e.key === \"Escape\" && onClose();\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [isOpen, onClose]);\n React4.useEffect(() => {\n document.body.style.overflow = isOpen ? \"hidden\" : \"unset\";\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n if (!isOpen) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-overlay` : void 0,\n onClick: onClose,\n className: \"fixed inset-0 bg-black/40 z-[9998] animate-[fadeIn_.2s_ease-out]\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n className: `fixed inset-0 z-[9999] pointer-events-none flex p-4 ${getPositionClass(\n position\n )}`,\n children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n onClick: (e) => e.stopPropagation(),\n style: {\n width: typeof width === \"number\" ? `${width}px` : width,\n height: height ?? (position.includes(\"left\") || position.includes(\"right\") ? \"90vh\" : \"auto\"),\n margin: typeof margin === \"number\" ? `${margin}px` : margin\n },\n className: `pointer-events-auto relative bg-white border border-gray-200 rounded-lg shadow-[0px_4px_24px_rgba(0,0,0,0.15)] flex flex-col animate-[scaleIn_.2s_ease-out] ${!position.includes(\"left\") && !position.includes(\"right\") ? \"max-h-[90vh]\" : \"\"} ${className}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-header` : void 0,\n className: \"px-6 py-4 flex items-center justify-between border-b border-gray-200\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\"div\", { className: \"flex items-center gap-3 flex-1\", children: [\n headerIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\"div\", { children: headerIcon }),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\"div\", { className: \"flex-1\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"h3\",\n {\n \"data-testid\": testId ? `${testId}-title` : void 0,\n className: \"text-[#333] font-semibold text-[16px]\",\n children: title\n }\n ),\n subtitle && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"p\",\n {\n \"data-testid\": testId ? `${testId}-subtitle` : void 0,\n className: \"text-sm text-gray-500 mt-1\",\n children: subtitle\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-close-btn` : void 0,\n onClick: onClose,\n \"aria-label\": \"Close dialog\",\n className: \" p-1 text-gray-400 hover:text-gray-600 flex items-center justify-center transition-colors\",\n children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react3.X, { size: 20, strokeWidth: 2 })\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-body` : void 0,\n className: \"flex-grow overflow-y-auto custom-scrollbar\",\n children\n }\n ),\n (primaryAction || secondaryAction) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-footer` : void 0,\n className: \"px-6 py-4 flex justify-center gap-3 border-t border-gray-200\",\n children: [\n secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-secondary-btn` : void 0,\n onClick: secondaryAction.onClick,\n className: \"min-w-[140px] h-[36px] px-4 rounded-md border border-[#1761A3] text-[#1761A3] bg-white text-sm font-medium hover:bg-gray-50 focus:ring-2 focus:ring-[#1761A3]/20\",\n children: secondaryAction.label ?? \"Cancel\"\n }\n ),\n primaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-primary-btn` : void 0,\n onClick: primaryAction.onClick,\n disabled: primaryAction.disabled,\n className: `min-w-[140px] h-[36px] px-4 rounded-md text-white text-sm font-medium ${primaryAction.disabled ? \"bg-blue-300 cursor-not-allowed\" : \"bg-[#1761A3] hover:bg-[#134a7a]\"} focus:ring-2 focus:ring-[#1761A3]/30`,\n children: primaryAction.label ?? \"Save\"\n }\n )\n ]\n }\n )\n ]\n }\n )\n }\n )\n ] });\n}\nModal.displayName = \"Modal\";\n\n// src/components/FormContainer.tsx\nvar import_jsx_runtime5 = require(\"react/jsx-runtime\");\nvar FormContainer = ({\n children,\n onSubmit,\n style,\n testId,\n className = \"\"\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(\n \"form\",\n {\n \"data-testid\": testId,\n onSubmit,\n style,\n className: `\n form-container\n flex flex-col gap-4\n w-full max-w-[560px] min-w-0\n mx-auto\n p-4 max-[480px]:p-3\n bg-white\n shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)]\n rounded-lg\n box-border\n ${className}\n `,\n children\n }\n );\n};\nFormContainer.displayName = \"FormContainer\";\n\n// src/components/Input.tsx\nvar import_react4 = __toESM(require(\"react\"));\nvar import_jsx_runtime6 = require(\"react/jsx-runtime\");\nvar Input = import_react4.default.forwardRef(\n ({\n hasError = false,\n errorMessage = \"\",\n className = \"\",\n onChange,\n children,\n testId,\n ...props\n }, ref) => {\n const handleChange = (e) => {\n if (props.disabled) return;\n onChange?.(e);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"flex flex-col w-full mb-4\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n \"input\",\n {\n ref,\n onChange: handleChange,\n \"data-testid\": testId ? `${testId}-input` : void 0,\n className: `\n w-full max-w-full min-w-0\n h-[44px]\n px-3\n text-base\n rounded-md\n border\n outline-none\n box-border\n transition-all duration-200\n\n ${hasError ? \"border-red-500 focus:border-red-600 focus:ring-2 focus:ring-red-100\" : \"border-[#D9D9D9] focus:border-blue-500 focus:ring-2 focus:ring-blue-100 hover:border-gray-400 focus:border-blue-500\"}\n\n disabled:bg-gray-100\n disabled:text-gray-400\n disabled:border-gray-200\n disabled:cursor-not-allowed\n\n file:py-2 file:px-3 file:cursor-pointer\n\n placeholder:text-gray-400\n\n ${className}\n `,\n ...props\n }\n ),\n hasError && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n \"span\",\n {\n \"data-testid\": testId ? `${testId}-error` : void 0,\n className: \"text-red-500 text-sm mt-1 min-h-[1.25rem] block\",\n children: errorMessage\n }\n )\n ]\n }\n );\n }\n);\nInput.displayName = \"Input\";\n\n// src/components/Filter.tsx\nvar import_react6 = require(\"react\");\nvar import_lucide_react4 = require(\"lucide-react\");\nvar import_react_dom = require(\"react-dom\");\n\n// src/components/Calendar.tsx\nvar import_react5 = require(\"react\");\nvar import_hi = require(\"react-icons/hi\");\nvar import_hi2 = require(\"react-icons/hi2\");\nvar import_jsx_runtime7 = require(\"react/jsx-runtime\");\nvar convertToDateString = (date) => {\n if (!date) return \"\";\n const year = date.year;\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n return `${year}-${month}-${day}`;\n};\nvar isSameDate = (date1, date2) => {\n if (!date1 || !date2) return false;\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n};\nvar formatDate = (date) => {\n if (!date) return \"\";\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n return `${month}-${day}-${year}`;\n};\nvar formatDateWithFormat = (date, format) => {\n if (!date) return \"\";\n const monthNum = date.month + 1;\n const month = String(monthNum).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n const monthNames = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n const monthAbbr = monthNames[date.month];\n if (format === \"none\") {\n return `${month}-${day}-${year}`;\n }\n switch (format) {\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"MMM/DD/YYYY\":\n return `${monthAbbr}/${day}/${year}`;\n case \"DD/MMM/YYYY\":\n return `${day}/${monthAbbr}/${year}`;\n case \"YYYY/MMM/DD\":\n return `${year}/${monthAbbr}/${day}`;\n case \"MMM DD, YYYY\":\n return `${monthAbbr} ${day}, ${year}`;\n case \"DD MMM YYYY\":\n return `${day} ${monthAbbr} ${year}`;\n case \"YYYY MMM DD\":\n return `${year} ${monthAbbr} ${day}`;\n case \"MM-DD-YYYY\":\n return `${month}-${day}-${year}`;\n case \"DD-MM-YYYY\":\n return `${day}-${month}-${year}`;\n case \"YYYY-MM-DD\":\n return `${year}-${month}-${day}`;\n case \"MMM-DD-YYYY\":\n return `${monthAbbr}-${day}-${year}`;\n case \"DD-MMM-YYYY\":\n return `${day}-${monthAbbr}-${year}`;\n case \"YYYY-MMM-DD\":\n return `${year}-${monthAbbr}-${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n case \"MM.DD.YYYY\":\n return `${month}.${day}.${year}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n default:\n return `${month}-${day}-${year}`;\n }\n};\nvar formatTime = (time, format = \"12h\") => {\n if (!time) return \"\";\n if (format === \"24h\") {\n let hour24 = time.hour;\n if (time.period === \"PM\" && time.hour !== 12) {\n hour24 = time.hour + 12;\n } else if (time.period === \"AM\" && time.hour === 12) {\n hour24 = 0;\n }\n const hour2 = String(hour24).padStart(2, \"0\");\n const minute2 = String(time.minute).padStart(2, \"0\");\n return `${hour2}:${minute2}`;\n }\n const hour = String(time.hour).padStart(2, \"0\");\n const minute = String(time.minute).padStart(2, \"0\");\n return `${hour}:${minute} ${time.period}`;\n};\nvar getDaysInMonth = (year, monthIndex) => {\n return new Date(year, monthIndex + 1, 0).getDate();\n};\nvar getFirstDayOfMonth = (year, monthIndex) => {\n return new Date(year, monthIndex, 1).getDay();\n};\nvar getMonthName = (monthIndex) => {\n return new Date(2024, monthIndex, 1).toLocaleDateString(\"en-US\", {\n month: \"long\"\n });\n};\nvar DATE_FORMAT_OPTIONS = [\n \"none\",\n \"MM/DD/YYYY\",\n \"DD/MM/YYYY\",\n \"YYYY/MM/DD\",\n \"MMM/DD/YYYY\",\n \"DD/MMM/YYYY\",\n \"YYYY/MMM/DD\",\n \"MMM DD, YYYY\",\n \"DD MMM YYYY\",\n \"YYYY MMM DD\",\n \"MM-DD-YYYY\",\n \"DD-MM-YYYY\",\n \"YYYY-MM-DD\",\n \"MMM-DD-YYYY\",\n \"DD-MMM-YYYY\",\n \"YYYY-MMM-DD\",\n \"DD.MM.YYYY\",\n \"MM.DD.YYYY\",\n \"YYYY.MM.DD\"\n];\nvar TIME_ZONE_OPTIONS = [\n \"none\",\n \"UTC\",\n \"GMT\",\n \"EST\",\n \"EDT\",\n \"CST\",\n \"CDT\",\n \"MST\",\n \"MDT\",\n \"PST\",\n \"PDT\",\n \"IST\",\n \"JST\",\n \"KST\",\n \"AEST\",\n \"AEDT\",\n \"NZST\",\n \"NZDT\",\n \"CET\",\n \"CEST\",\n \"BST\",\n \"AST\",\n \"HST\",\n \"AKST\",\n \"AKDT\",\n \"SST\",\n \"NST\",\n \"WET\",\n \"WEST\",\n \"EET\",\n \"EEST\",\n \"MSK\",\n \"HKT\",\n \"SGT\",\n \"PKT\",\n \"BDT\",\n \"AWST\",\n \"ACST\",\n \"ACDT\",\n \"NFT\"\n];\nvar compareInternalDates = (a, b) => {\n if (a.year !== b.year) return a.year - b.year;\n if (a.monthIndex !== b.monthIndex) return a.monthIndex - b.monthIndex;\n return a.day - b.day;\n};\nvar addDaysInternal = (start, daysToAdd) => {\n let y = start.year;\n let m = start.monthIndex;\n let d = start.day + daysToAdd;\n while (true) {\n const dim = getDaysInMonth(y, m);\n if (d <= dim) break;\n d -= dim;\n m += 1;\n if (m > 11) {\n m = 0;\n y += 1;\n }\n }\n return { year: y, monthIndex: m, day: d };\n};\nvar isBlockedDateHelper = (date, config) => {\n if (!config || config.days <= 0) return false;\n const startInternal = {\n year: config.startDate.year,\n monthIndex: config.startDate.month,\n day: config.startDate.day\n };\n const endInternal = addDaysInternal(startInternal, config.days - 1);\n const currentInternal = {\n year: date.year,\n monthIndex: date.month,\n day: date.day\n };\n const afterOrOnStart = compareInternalDates(currentInternal, startInternal) >= 0;\n const beforeOrOnEnd = compareInternalDates(currentInternal, endInternal) <= 0;\n return afterOrOnStart && beforeOrOnEnd;\n};\nvar getLocalTimeZone = () => {\n const timeZoneString = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const date = /* @__PURE__ */ new Date();\n const shortTimeZone = date.toLocaleTimeString(\"en-us\", { timeZoneName: \"short\" }).split(\" \")[2];\n return shortTimeZone || timeZoneString;\n};\nvar SIZE_SCALES = {\n \"small\": 0.65,\n \"medium\": 0.8,\n \"large\": 0.9,\n \"extra-large\": 1\n};\nvar getDeviceScale = () => {\n if (typeof window === \"undefined\") return 1;\n const width = window.innerWidth;\n if (width < 640) return 0.7;\n if (width < 1024) return 0.85;\n return 1;\n};\nvar Calendar = ({\n calendartestId,\n value,\n onChange,\n enableRangeSelection = false,\n rangeValue,\n onRangeChange,\n enableTimeSelection = false,\n timeValue,\n onTimeChange,\n showTimeFormatToggle = false,\n timeFormat = \"12h\",\n onTimeFormatChange,\n autoHide = false,\n showTodayButton = false,\n showClearButton = false,\n placeholder = \"Select date\",\n className,\n disabled = false,\n onShow,\n onHide,\n icon,\n showIcon = true,\n size = \"extra-large\",\n enableYearDropdown = false,\n showDateFormatSelector = false,\n dateFormat = \"none\",\n onDateFormatChange,\n showTimeZoneSelector = false,\n timeZoneFormat = \"none\",\n onTimeZoneFormatChange,\n blockDateConfig,\n previewTextStyles = {},\n globalTypography = {}\n}) => {\n const today = /* @__PURE__ */ new Date();\n const [currentYear, setCurrentYear] = (0, import_react5.useState)(\n value?.year || today.getFullYear()\n );\n const [currentMonth, setCurrentMonth] = (0, import_react5.useState)(\n value?.month ?? today.getMonth()\n );\n const [internalRangeValue, setInternalRangeValue] = (0, import_react5.useState)({ start: null, end: null });\n const [isOpen, setIsOpen] = (0, import_react5.useState)(false);\n const [activeField, setActiveField] = (0, import_react5.useState)(\"start\");\n const [showTimeSelector, setShowTimeSelector] = (0, import_react5.useState)(false);\n const [selectedHour, setSelectedHour] = (0, import_react5.useState)(timeValue?.hour || 12);\n const [selectedMinute, setSelectedMinute] = (0, import_react5.useState)(timeValue?.minute || 0);\n const [selectedPeriod, setSelectedPeriod] = (0, import_react5.useState)(timeValue?.period || \"AM\");\n const [internalTimeFormat, setInternalTimeFormat] = (0, import_react5.useState)(timeFormat);\n const [showYearDropdown, setShowYearDropdown] = (0, import_react5.useState)(false);\n const [internalDateFormat, setInternalDateFormat] = (0, import_react5.useState)(dateFormat);\n const [internalTimeZoneFormat, setInternalTimeZoneFormat] = (0, import_react5.useState)(timeZoneFormat);\n const [deviceScale, setDeviceScale] = (0, import_react5.useState)(1);\n const [positionAbove, setPositionAbove] = (0, import_react5.useState)(false);\n const containerRef = (0, import_react5.useRef)(null);\n const calendarRef = (0, import_react5.useRef)(null);\n const sizeScale = SIZE_SCALES[size];\n const scale = sizeScale * deviceScale;\n const finalRangeValue = rangeValue ?? internalRangeValue;\n const scaled = (value2) => Math.round(value2 * scale);\n (0, import_react5.useEffect)(() => {\n const handleResize = () => {\n setDeviceScale(getDeviceScale());\n };\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n (0, import_react5.useEffect)(() => {\n if (!isOpen || !containerRef.current || !calendarRef.current) return;\n const calculatePosition = () => {\n const containerRect = containerRef.current?.getBoundingClientRect();\n const calendarHeight = calendarRef.current?.offsetHeight || 580 * scale;\n if (!containerRect) return;\n const spaceBelow = window.innerHeight - containerRect.bottom;\n const spaceAbove = containerRect.top;\n const bufferSpace = 20;\n if (spaceBelow < calendarHeight + bufferSpace && spaceAbove > calendarHeight + bufferSpace) {\n setPositionAbove(true);\n } else {\n setPositionAbove(false);\n }\n };\n calculatePosition();\n window.addEventListener(\"resize\", calculatePosition);\n window.addEventListener(\"scroll\", calculatePosition, true);\n return () => {\n window.removeEventListener(\"resize\", calculatePosition);\n window.removeEventListener(\"scroll\", calculatePosition, true);\n };\n }, [isOpen, scale]);\n (0, import_react5.useEffect)(() => {\n if (value) {\n setCurrentYear(value.year);\n setCurrentMonth(value.month);\n }\n }, [value]);\n (0, import_react5.useEffect)(() => {\n if (timeValue) {\n setSelectedHour(timeValue.hour);\n setSelectedMinute(timeValue.minute);\n setSelectedPeriod(timeValue.period);\n }\n }, [timeValue]);\n (0, import_react5.useEffect)(() => {\n setInternalTimeFormat(timeFormat);\n }, [timeFormat]);\n (0, import_react5.useEffect)(() => {\n setInternalDateFormat(dateFormat);\n }, [dateFormat]);\n (0, import_react5.useEffect)(() => {\n setInternalTimeZoneFormat(timeZoneFormat);\n }, [timeZoneFormat]);\n (0, import_react5.useEffect)(() => {\n const handleClickOutside = (event) => {\n if (containerRef.current && !containerRef.current.contains(event.target)) {\n if (isOpen) {\n setIsOpen(false);\n setShowTimeSelector(false);\n setShowYearDropdown(false);\n onHide?.();\n }\n }\n };\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen, onHide]);\n const daysInMonth = getDaysInMonth(currentYear, currentMonth);\n const firstDay = getFirstDayOfMonth(currentYear, currentMonth);\n const monthName = getMonthName(currentMonth);\n const previousMonth = () => {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n setCurrentYear(currentYear - 1);\n } else {\n setCurrentMonth(currentMonth - 1);\n }\n };\n const nextMonth = () => {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n setCurrentYear(currentYear + 1);\n } else {\n setCurrentMonth(currentMonth + 1);\n }\n };\n const selectDate = (day) => {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n if (enableRangeSelection) {\n if (activeField === \"start\") {\n const newRange = { start: date, end: finalRangeValue?.end || null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"end\");\n } else {\n const start = finalRangeValue?.start;\n if (start) {\n const startTime = new Date(start.year, start.month, start.day).getTime();\n const endTime = new Date(date.year, date.month, date.day).getTime();\n let newRange;\n if (endTime < startTime) {\n newRange = { start: date, end: start };\n } else {\n newRange = { start, end: date };\n }\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n } else {\n const newRange = { start: date, end: null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"end\");\n }\n }\n } else {\n const dateString = convertToDateString(date);\n onChange?.(date, dateString);\n }\n if (showTimeSelector) {\n setShowTimeSelector(false);\n }\n if (autoHide && (!enableRangeSelection || enableRangeSelection && activeField === \"end\" && finalRangeValue?.start)) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const selectToday = () => {\n const todayDate = {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n };\n setCurrentYear(todayDate.year);\n setCurrentMonth(todayDate.month);\n const dateString = convertToDateString(todayDate);\n onChange?.(todayDate, dateString);\n if (enableTimeSelection && showTimeSelector) {\n const now = /* @__PURE__ */ new Date();\n const currentHour = now.getHours();\n const currentMinute = now.getMinutes();\n let hour12;\n let period;\n if (currentHour === 0) {\n hour12 = 12;\n period = \"AM\";\n } else if (currentHour === 12) {\n hour12 = 12;\n period = \"PM\";\n } else if (currentHour > 12) {\n hour12 = currentHour - 12;\n period = \"PM\";\n } else {\n hour12 = currentHour;\n period = \"AM\";\n }\n setSelectedHour(hour12);\n setSelectedMinute(currentMinute);\n setSelectedPeriod(period);\n onTimeChange?.({\n hour: hour12,\n minute: currentMinute,\n period\n });\n if (showTimeZoneSelector) {\n const localTZ = getLocalTimeZone();\n setInternalTimeZoneFormat(localTZ);\n onTimeZoneFormatChange?.(localTZ);\n }\n }\n if (autoHide) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const clearDate = () => {\n if (enableRangeSelection) {\n const newRange = { start: null, end: null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"start\");\n } else {\n onChange?.(null, \"\");\n }\n if (enableTimeSelection) {\n onTimeChange?.(null);\n setSelectedHour(12);\n setSelectedMinute(0);\n setSelectedPeriod(\"AM\");\n }\n };\n const toggleCalendar = () => {\n if (disabled) return;\n const newState = !isOpen;\n setIsOpen(newState);\n if (newState) {\n setShowTimeSelector(false);\n onShow?.();\n } else {\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const handleStartFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"start\");\n setShowTimeSelector(false);\n };\n const handleEndFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"end\");\n setShowTimeSelector(false);\n };\n const handleChooseTimeClick = () => {\n setShowTimeSelector(!showTimeSelector);\n };\n const handleChooseDateClick = () => {\n setShowTimeSelector(false);\n };\n const handleTimeFormatToggle = () => {\n const newFormat = internalTimeFormat === \"12h\" ? \"24h\" : \"12h\";\n setInternalTimeFormat(newFormat);\n onTimeFormatChange?.(newFormat);\n };\n const handleTimeConfirm = () => {\n onTimeChange?.({\n hour: selectedHour,\n minute: selectedMinute,\n period: selectedPeriod\n });\n setShowTimeSelector(false);\n };\n const handleDateConfirm = () => {\n setIsOpen(false);\n onHide?.();\n };\n const handleMonthYearClick = () => {\n if (enableYearDropdown) {\n setShowYearDropdown(!showYearDropdown);\n }\n };\n const handleYearSelect = (year) => {\n setCurrentYear(year);\n setShowYearDropdown(false);\n };\n const renderDays = () => {\n const days = [];\n for (let i = 0; i < firstDay; i++) {\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n },\n `empty-start-${i}`\n )\n );\n }\n for (let day = 1; day <= daysInMonth; day++) {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n const isSelected = enableRangeSelection ? isSameDate(finalRangeValue?.start, date) || isSameDate(finalRangeValue?.end, date) : isSameDate(value, date);\n const isInRange = enableRangeSelection && finalRangeValue?.start && finalRangeValue?.end ? (() => {\n const currentTime = new Date(date.year, date.month, date.day).getTime();\n const startTime = new Date(\n finalRangeValue.start.year,\n finalRangeValue.start.month,\n finalRangeValue.start.day\n ).getTime();\n const endTime = new Date(\n finalRangeValue.end.year,\n finalRangeValue.end.month,\n finalRangeValue.end.day\n ).getTime();\n return currentTime > startTime && currentTime < endTime;\n })() : false;\n const isToday = isSameDate(\n {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n },\n date\n );\n const isBlocked = isBlockedDateHelper(date, blockDateConfig);\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => {\n if (!isBlocked) selectDate(day);\n },\n disabled: isBlocked,\n className: `\n flex items-center justify-center rounded\n font-semibold transition-all\n ${isSelected ? \"text-white shadow\" : \"\"}\n ${!isSelected && isToday ? \"border-2 border-[#1761A3] text-[#1761A3]\" : \"\"}\n ${!isSelected && !isToday && !isInRange ? \"bg-[rgba(0,123,255,0.05)] text-gray-700\" : \"\"}\n ${isInRange && !isSelected ? \"bg-[rgba(23,97,163,0.15)] text-gray-700\" : \"\"}\n ${!isBlocked && !isSelected ? \"hover:bg-[rgba(23,97,163,0.1)]\" : \"\"}\n ${isBlocked ? \"opacity-40 cursor-not-allowed text-gray-400\" : \"cursor-pointer\"}\n `,\n style: {\n width: scale * 32,\n height: scale * 30,\n fontSize: scale * 14,\n background: isSelected ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : void 0\n },\n children: day\n },\n `current-${day}`\n )\n );\n }\n const totalCells = firstDay + daysInMonth;\n const remainingCells = totalCells % 7 === 0 ? 0 : 7 - totalCells % 7;\n for (let i = 0; i < remainingCells; i++) {\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n },\n `empty-end-${i}`\n )\n );\n }\n return days;\n };\n const renderTimeSelector = () => {\n const hours12 = Array.from({ length: 12 }, (_, i) => i + 1);\n const hours24 = Array.from({ length: 24 }, (_, i) => i);\n const minutes = Array.from({ length: 60 }, (_, i) => i);\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col h-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 overflow-y-auto\", children: [\n (showTimeFormatToggle || showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginBottom: scaled(12) }, children: [\n showTimeFormatToggle && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"div\", { style: { marginBottom: scaled(12) }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black\",\n style: { fontSize: scale * 12 },\n children: \"Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { gap: scale * 8 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: `font-semibold ${internalTimeFormat === \"12h\" ? \"text-[#111827]\" : \"text-[#6b7280]\"}`,\n style: { fontSize: scale * 12 },\n children: \"12h\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: handleTimeFormatToggle,\n role: \"switch\",\n \"aria-checked\": internalTimeFormat === \"24h\",\n className: \"relative inline-flex items-center rounded-lg transition-all\",\n style: {\n width: scale * 38,\n height: scale * 17,\n background: internalTimeFormat === \"24h\" ? \"#1761A3\" : \"#cbd5e1\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"bg-white rounded-full shadow\",\n style: {\n width: scale * 13,\n height: scale * 13,\n transform: internalTimeFormat === \"24h\" ? `translateX(${scale * 23}px)` : `translateX(${scale * 2}px)`\n }\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: `font-semibold ${internalTimeFormat === \"24h\" ? \"text-[#111827]\" : \"text-[#6b7280]\"}`,\n style: { fontSize: scale * 12 },\n children: \"24h\"\n }\n )\n ]\n }\n )\n ] }) }),\n (showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex items-start\",\n style: { gap: scale * 15 },\n children: [\n showDateFormatSelector && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black text-center\",\n style: { fontSize: scale * 12 },\n children: \"Date Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"relative\",\n style: { height: scale * 40 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: internalDateFormat,\n onChange: (e) => {\n setInternalDateFormat(e.target.value);\n onDateFormatChange?.(e.target.value);\n },\n className: \"appearance-none border rounded-md font-semibold text-[#111827] cursor-pointer\",\n style: {\n height: \"100%\",\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 36,\n paddingRight: scale * 32,\n border: \"1px solid rgba(77,175,131,0.25)\",\n background: \"#F0F8FF\"\n },\n children: DATE_FORMAT_OPTIONS.map((format) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { children: format }, format))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ]\n }\n )\n ] }),\n showTimeZoneSelector && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black text-right\",\n style: { fontSize: scale * 12 },\n children: \"Time Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"relative\",\n style: { height: scale * 40 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: internalTimeZoneFormat,\n onChange: (e) => {\n setInternalTimeZoneFormat(e.target.value);\n onTimeZoneFormatChange?.(e.target.value);\n },\n className: \"appearance-none border rounded-md font-semibold text-[#111827] cursor-pointer\",\n style: {\n height: \"100%\",\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32,\n border: \"1px solid rgba(77,175,131,0.25)\"\n },\n children: TIME_ZONE_OPTIONS.map((zone) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { children: zone }, zone))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ]\n }\n )\n ] })\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginTop: scale * 16 }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"label\",\n {\n className: \"block text-[#374151] font-semibold\",\n style: {\n marginBottom: scale * 12,\n fontSize: scale * 12\n },\n children: \"Time Select\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex\",\n style: { gap: scale * 12 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: selectedHour,\n onChange: (e) => setSelectedHour(Number(e.target.value)),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: (internalTimeFormat === \"24h\" ? hours24 : hours12).map((hour) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: hour, children: String(hour).padStart(2, \"0\") }, hour))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: selectedMinute,\n onChange: (e) => setSelectedMinute(Number(e.target.value)),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: minutes.map((minute) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: minute, children: String(minute).padStart(2, \"0\") }, minute))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] }),\n internalTimeFormat === \"12h\" && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"select\",\n {\n value: selectedPeriod,\n onChange: (e) => setSelectedPeriod(e.target.value),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: \"AM\", children: \"AM\" }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: \"PM\", children: \"PM\" })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] })\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginTop: scale * 12 }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"label\",\n {\n className: \"block font-semibold text-[#374151]\",\n style: {\n marginBottom: scale * 8,\n fontSize: scale * 12\n },\n children: \"Preview\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"p\",\n {\n className: \"text-[#1761A3] font-semibold\",\n style: { fontSize: scale * 12 },\n children: [\n formatDateWithFormat(value ?? null, internalDateFormat),\n \" \",\n formatTime(\n { hour: selectedHour, minute: selectedMinute, period: selectedPeriod },\n internalTimeFormat\n ),\n internalTimeZoneFormat !== \"none\" ? ` ${internalTimeZoneFormat}` : \"\"\n ]\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"border-t border-[#e5e7eb]\",\n style: { paddingTop: scale * 15 },\n children: [\n (showTodayButton || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex\",\n style: {\n gap: scale * 12,\n marginBottom: scale * 8\n },\n children: [\n showTodayButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: selectToday,\n className: \"flex items-center justify-center rounded-md font-semibold\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"rgba(23,97,163,0.15)\",\n color: \"#1761A3\",\n gap: scale * 8,\n flex: !showClearButton ? \"none\" : 1\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiOutlineClock,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n \"Current Time\"\n ]\n }\n ),\n showClearButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: clearDate,\n className: \"rounded-md font-semibold\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"rgba(239,68,68,0.15)\",\n color: \"#EF4444\",\n flex: !showTodayButton ? \"none\" : 1\n },\n children: \"Clear\"\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: handleTimeConfirm,\n className: \"w-full rounded-md font-semibold text-white\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"linear-gradient(to right,#1761A3,#4DAF83)\"\n },\n children: \"Confirm Time\"\n }\n )\n ]\n }\n )\n ] });\n };\n const defaultIcon = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi2.HiCalendarDays, { style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`\n } });\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n ref: containerRef,\n className: `relative ${className ?? \"\"}`,\n \"data-testid\": calendartestId,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative\", children: [\n showIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"pointer-events-none absolute inset-y-0 left-0 flex items-center\",\n style: { paddingLeft: scaled(12) },\n children: icon || defaultIcon\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"input\",\n {\n type: \"text\",\n readOnly: true,\n disabled,\n placeholder,\n onClick: toggleCalendar,\n value: enableRangeSelection && finalRangeValue ? finalRangeValue.start && finalRangeValue.end ? `${formatDate(finalRangeValue.start)} - ${formatDate(finalRangeValue.end)}` : finalRangeValue.start ? `${formatDate(finalRangeValue.start)} - ...` : \"\" : enableTimeSelection && value && timeValue ? `${formatDate(value)} ${formatTime(timeValue, internalTimeFormat)}` : formatDate(value ?? null),\n className: \"block w-full rounded-full border border-gray-300 bg-gray-50 font-semibold text-gray-900 shadow-sm transition-all focus:outline-none focus:border-blue-500\",\n style: {\n paddingTop: scale * 10,\n paddingBottom: scale * 10,\n paddingLeft: showIcon ? scale * 40 : scale * 12,\n paddingRight: scale * 12,\n fontSize: scale * 12,\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : 1\n }\n }\n )\n ] }),\n isOpen && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n ref: calendarRef,\n className: \"absolute left-0 z-[9999] overflow-hidden bg-white\",\n style: {\n width: scale * 406,\n borderRadius: scale * 22,\n border: \"1px solid #1761A3\",\n marginTop: positionAbove ? void 0 : scale * 8,\n marginBottom: positionAbove ? scale * 8 : void 0\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex flex-col\",\n style: {\n padding: scale * 24,\n background: \"linear-gradient(to bottom, rgba(23,97,163,0.08), rgba(77,175,131,0.08))\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"font-bold text-gray-900\",\n style: {\n fontSize: scale * 20,\n marginBottom: scale * 20\n },\n children: enableRangeSelection ? \"Select Date Range\" : \"Select Date & Time\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: `flex items-center ${!enableTimeSelection ? \"justify-center\" : \"justify-center\"}`,\n style: {\n gap: enableTimeSelection ? scale * 20 : 0,\n marginBottom: scale * 24,\n width: \"100%\"\n },\n children: enableRangeSelection ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleStartFieldClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n background: activeField === \"start\" ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: activeField === \"start\" ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col items-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"text-gray-500\",\n style: {\n fontSize: scale * 12,\n gap: scale * 24\n },\n children: \"From Date\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: finalRangeValue?.start ? formatDate(finalRangeValue.start) : \"Select date\" })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleEndFieldClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n background: activeField === \"end\" ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: activeField === \"end\" ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex flex-col items-start\",\n style: { gap: scale * 4 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: {\n fontSize: scale * 12\n }, children: \"To Date\" }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: finalRangeValue?.end ? formatDate(finalRangeValue.end) : \"Select date\" })\n ]\n }\n )\n ]\n }\n )\n ] }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseDateClick,\n className: \"flex items-center justify-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n minWidth: enableTimeSelection ? scale * 140 : scale * 220,\n background: !showTimeSelector && enableTimeSelection ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: !showTimeSelector && enableTimeSelection ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: formatDate(value ?? null) || \"Choose Date\" })\n ]\n }\n ),\n enableTimeSelection && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseTimeClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n marginLeft: scale * 16,\n background: showTimeSelector ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: showTimeSelector ? \"white\" : \"#111827\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiOutlineClock,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: timeValue ? formatTime(\n timeValue,\n internalTimeFormat\n ) : \"Choose Time\" })\n ]\n }\n )\n ] })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"div\", { style: { marginBottom: scale * 22 }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n \"aria-label\": \"Previous month\",\n onClick: previousMonth,\n className: \"flex items-center justify-center rounded-md bg-[#1761A3] text-white\",\n style: {\n width: scale * 32,\n height: scale * 30\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi.HiChevronLeft, { style: { width: scaled(10), height: scaled(10) } })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: handleMonthYearClick,\n className: \"font-bold text-[#1761A3]\",\n style: { fontSize: scale * 18 },\n children: [\n monthName,\n \" \",\n currentYear\n ]\n }\n ),\n showYearDropdown && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"absolute bg-white border rounded-md shadow-md z-[9999] max-h-40 overflow-y-auto\",\n style: {\n marginTop: scale * 8,\n width: scale * 120\n },\n children: Array.from({ length: 100 }, (_, i) => currentYear - 50 + i).map((year) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n onClick: () => handleYearSelect(year),\n className: \"px-3 py-2 cursor-pointer hover:bg-gray-100\",\n style: { fontSize: scale * 12 },\n children: year\n },\n year\n ))\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n \"aria-label\": \"Next month\",\n onClick: nextMonth,\n className: \"flex items-center justify-center rounded-md bg-[#1761A3] text-white\",\n style: {\n width: scale * 32,\n height: scale * 30\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi.HiChevronRight, { style: { width: scaled(10), height: scaled(10) } })\n }\n )\n ] }) }),\n !showTimeSelector ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"grid grid-cols-7\",\n style: { gap: scale * 24 },\n children: renderDays()\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex justify-between\",\n style: {\n gap: scale * 12,\n marginTop: scale * 8\n },\n children: [\n showTodayButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: selectToday,\n className: \"flex items-center justify-center font-semibold\",\n style: {\n width: scale * 165,\n height: scale * 38,\n borderRadius: scale * 6,\n background: \"rgba(23, 97, 163, 0.15)\",\n color: \"#1761A3\",\n fontSize: scale * 12,\n gap: scale * 8\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi2.HiCalendarDays,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n \"Today\"\n ]\n }\n ),\n showClearButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: clearDate,\n className: \"flex items-center justify-center font-semibold\",\n style: {\n width: scale * 165,\n height: scale * 38,\n borderRadius: scale * 6,\n background: \"rgba(239, 68, 68, 0.15)\",\n color: \"#EF4444\",\n fontSize: scale * 12\n },\n children: \"\\u{1F5D1} Clear\"\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: handleDateConfirm,\n className: \"w-full rounded-md font-semibold text-white\",\n style: {\n height: scale * 38,\n marginTop: scale * 12,\n background: \"linear-gradient(to right,#1761A3,#4DAF83)\"\n },\n children: \"Confirm Date\"\n }\n )\n ] }) : renderTimeSelector()\n ]\n }\n )\n }\n )\n ]\n }\n );\n};\nCalendar.displayName = \"Calendar\";\n\n// src/components/Filter.tsx\nvar import_jsx_runtime8 = require(\"react/jsx-runtime\");\nvar DEFAULT_ACTIVITY_OPTIONS = [\n { label: \"Select Activity\", value: \"\" },\n { label: \"Activity List\", value: \"Activity List\" },\n { label: \"Login\", value: \"Login\" },\n { label: \"Update\", value: \"Update\" },\n { label: \"Delete\", value: \"Delete\" }\n];\nvar DEFAULT_STATUS_OPTIONS = [\n { label: \"Select Status\", value: \"\" },\n { label: \"Pending\", value: \"Pending\" },\n { label: \"Approved\", value: \"Approved\" },\n { label: \"Rejected\", value: \"Rejected\" }\n];\nvar Filter = ({\n onApply,\n onReset,\n activityOptions = DEFAULT_ACTIVITY_OPTIONS,\n statusOptions = DEFAULT_STATUS_OPTIONS,\n searchPlaceholder = \"Search...\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const [values, setValues] = (0, import_react6.useState)({\n date: { start: null, end: null },\n activity: \"\",\n status: \"\",\n keyword: \"\"\n });\n const handleChange = (name, value) => {\n setValues((prev) => ({ ...prev, [name]: value }));\n };\n const resetField = (name) => {\n if (name === \"date\") {\n setValues((prev) => ({\n ...prev,\n date: { start: null, end: null }\n }));\n } else {\n setValues((prev) => ({ ...prev, [name]: \"\" }));\n }\n };\n const resetAll = () => {\n const newValues = {\n date: { start: null, end: null },\n activity: \"\",\n status: \"\",\n keyword: \"\"\n };\n setValues(newValues);\n if (onReset) onReset();\n else if (onApply) onApply(newValues);\n };\n const applyFilters = () => {\n if (onApply) onApply(values);\n setOpen(false);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"relative\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-button` : void 0,\n onClick: () => setOpen((p) => !p),\n className: \"\\r\\n flex items-center gap-2\\r\\n px-5 py-3\\r\\n rounded-lg\\r\\n border border-[rgba(23,97,163,0.35)]\\r\\n bg-gradient-to-r from-[#f2fbf8] to-[#eef6fb]\\r\\n text-slate-900 font-semibold\\r\\n shadow-sm\\r\\n hover:from-[#e8f5f0] hover:to-[#e0f0f6]\\r\\n focus:outline-none focus:ring-2 focus:ring-[#1761a3]\\r\\n \",\n children: \"Filter\"\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n className: \"absolute right-0 mt-3 z-50\",\n \"data-testid\": testId ? `${testId}-model` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"w-[360px] bg-white border border-slate-200 rounded-lg shadow\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between items-center px-5 py-3 border-b border-[rgba(23,97,163,0.35)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"h3\", { className: \"text-base font-semibold\", children: \"Add Filter\" }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-close` : void 0,\n onClick: () => setOpen(false),\n className: \"w-8 h-8 rounded-full flex items-center justify-center bg-slate-100 hover:bg-slate-200\",\n children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react4.X, { className: \"w-4 h-4 text-slate-600\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { title: \"Date Range\", onReset: () => resetField(\"date\"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n Calendar,\n {\n enableRangeSelection: true,\n rangeValue: values.date,\n onRangeChange: (range) => handleChange(\"date\", range),\n size: \"small\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(SelectWrapper, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"select\",\n {\n className: \"w-full appearance-none px-4 py-3 pr-10 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.activity,\n onChange: (e) => handleChange(\"activity\", e.target.value),\n children: activityOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"option\", { value: opt.value, children: opt.label }, opt.value))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectIcon, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(SelectWrapper, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"select\",\n {\n className: \"w-full appearance-none px-4 py-3 pr-10 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.status,\n onChange: (e) => handleChange(\"status\", e.target.value),\n children: statusOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"option\", { value: opt.value, children: opt.label }, opt.value))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectIcon, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"input\",\n {\n className: \"w-full px-4 py-3 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.keyword,\n placeholder: searchPlaceholder,\n onChange: (e) => handleChange(\"keyword\", e.target.value)\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between items-center px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-resetall` : void 0,\n onClick: resetAll,\n className: \"border border-[#1761a3] bg-[#f0f8ff] px-4 py-2 rounded-md hover:bg-[#e6f3ff]\",\n children: \"Reset all\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-apply` : void 0,\n onClick: applyFilters,\n className: \"px-4 py-2 rounded-md text-white bg-gradient-to-r from-[#1761a3] to-[#4daf83] hover:opacity-90\",\n children: \"Apply Now\"\n }\n )\n ] })\n ] })\n }\n )\n ] });\n};\nvar Section = ({\n title,\n onReset,\n children\n}) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb] border-b border-[rgba(23,97,163,0.35)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"h6\", { className: \"font-semibold text-sm\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"button\", { type: \"button\", onClick: onReset, className: \"text-[#1761a3] text-sm font-semibold hover:opacity-80\", children: \"Reset\" })\n ] }),\n children\n] });\nvar SelectWrapper = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"div\", { className: \"relative w-full mb-3\", children });\nvar SelectIcon = () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"absolute right-3 top-1/2 -translate-y-1/2 text-slate-500 pointer-events-none\", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react4.ChevronDown, { className: \"w-4 h-4\" }) });\nvar MahatiActivity = ({\n value,\n onChange,\n options = DEFAULT_ACTIVITY_OPTIONS,\n size = \"medium\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const triggerRef = (0, import_react6.useRef)(null);\n const dropdownRef = (0, import_react6.useRef)(null);\n const [pos, setPos] = (0, import_react6.useState)(null);\n const selectedLabel = options.find((o) => o.value == value)?.label || \"Select Activity\";\n const updatePosition = () => {\n if (!triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n setPos({\n top: rect.bottom + window.scrollY + 6,\n left: rect.left + window.scrollX,\n width: rect.width\n });\n };\n (0, import_react6.useEffect)(() => {\n if (!open) return;\n updatePosition();\n window.addEventListener(\"scroll\", updatePosition, true);\n window.addEventListener(\"resize\", updatePosition);\n return () => {\n window.removeEventListener(\"scroll\", updatePosition, true);\n window.removeEventListener(\"resize\", updatePosition);\n };\n }, [open]);\n (0, import_react6.useEffect)(() => {\n const handler = (e) => {\n if (triggerRef.current?.contains(e.target) || dropdownRef.current?.contains(e.target)) {\n return;\n }\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-trigger` : void 0,\n ref: triggerRef,\n onClick: () => setOpen((p) => !p),\n className: `\n w-full\n flex items-center justify-between\n bg-white\n border\n rounded-md\n cursor-pointer\n transition\n ${open ? \"border-[#1761a3] ring-2 ring-[#1761a333]\" : \"border-slate-300\"}\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"text-sm truncate\", children: selectedLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n import_lucide_react4.ChevronDown,\n {\n className: `w-4 h-4 text-slate-500 transition ${open ? \"rotate-180\" : \"\"}`\n }\n )\n ]\n }\n ),\n open && pos && (0, import_react_dom.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-dropdown` : void 0,\n ref: dropdownRef,\n style: {\n top: pos.top,\n left: pos.left,\n width: pos.width,\n position: \"absolute\"\n },\n className: \"\\r\\n z-[9999]\\r\\n bg-white\\r\\n border border-slate-300\\r\\n rounded-md\\r\\n shadow-xl\\r\\n max-h-[240px]\\r\\n overflow-y-auto\\r\\n \",\n children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-option-${String(opt.value)}` : void 0,\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: \"\\r\\n px-4 py-2\\r\\n text-sm\\r\\n cursor-pointer\\r\\n hover:bg-[#1761a3]\\r\\n hover:text-white\\r\\n \",\n children: opt.label\n },\n String(opt.value)\n ))\n }\n ),\n document.body\n )\n ] });\n};\nvar MahatiStatus = ({\n value,\n onChange,\n options = DEFAULT_STATUS_OPTIONS,\n size = \"medium\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const triggerRef = (0, import_react6.useRef)(null);\n const dropdownRef = (0, import_react6.useRef)(null);\n const [pos, setPos] = (0, import_react6.useState)(null);\n const selectedLabel = options.find((o) => o.value == value)?.label || \"Select Status\";\n const updatePosition = () => {\n if (!triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n setPos({\n top: rect.bottom + window.scrollY + 6,\n left: rect.left + window.scrollX,\n width: rect.width\n });\n };\n (0, import_react6.useEffect)(() => {\n if (!open) return;\n updatePosition();\n window.addEventListener(\"scroll\", updatePosition, true);\n window.addEventListener(\"resize\", updatePosition);\n return () => {\n window.removeEventListener(\"scroll\", updatePosition, true);\n window.removeEventListener(\"resize\", updatePosition);\n };\n }, [open]);\n (0, import_react6.useEffect)(() => {\n const handler = (e) => {\n if (triggerRef.current?.contains(e.target) || dropdownRef.current?.contains(e.target)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-trigger` : void 0,\n ref: triggerRef,\n onClick: () => setOpen((p) => !p),\n className: `\n w-full\n flex items-center justify-between\n bg-white\n border\n rounded-md\n cursor-pointer\n transition\n ${open ? \"border-[#1761a3] ring-2 ring-[#1761a333]\" : \"border-slate-300\"}\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"text-sm truncate\", children: selectedLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n import_lucide_react4.ChevronDown,\n {\n className: `w-4 h-4 text-slate-500 transition ${open ? \"rotate-180\" : \"\"}`\n }\n )\n ]\n }\n ),\n open && pos && (0, import_react_dom.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-dropdown` : void 0,\n ref: dropdownRef,\n style: {\n top: pos.top,\n left: pos.left,\n width: pos.width,\n position: \"absolute\"\n },\n className: \"\\r\\n z-[9999]\\r\\n bg-white\\r\\n border border-slate-300\\r\\n rounded-md\\r\\n shadow-xl\\r\\n max-h-[240px]\\r\\n overflow-y-auto\\r\\n \",\n children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: \"\\r\\n px-4 py-2\\r\\n text-sm\\r\\n cursor-pointer\\r\\n hover:bg-[#1761a3]\\r\\n hover:text-white\\r\\n \",\n children: opt.label\n },\n String(opt.value)\n ))\n }\n ),\n document.body\n )\n ] });\n};\nvar MahatiSearch = ({\n value,\n onChange,\n placeholder = \"Search...\",\n size = \"medium\",\n testId\n}) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"input\",\n {\n \"data-testid\": testId,\n type: \"text\",\n value,\n placeholder,\n onChange: (e) => onChange(e.target.value),\n className: `\n w-full\n border border-slate-300\n rounded-md\n bg-white\n text-sm\n focus:outline-none\n focus:ring-2\n focus:ring-[#1761a3]\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `\n }\n);\nFilter.displayName = \"Filter\";\nMahatiActivity.displayName = \"MahatiActivity\";\nMahatiStatus.displayName = \"MahatiStatus\";\nMahatiSearch.displayName = \"MahatiSearch\";\n\n// src/components/TabbedInterface.tsx\nvar import_react7 = require(\"react\");\nvar import_jsx_runtime9 = require(\"react/jsx-runtime\");\nvar getFontFamily = (font) => {\n if (!font) return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n const lower = font.toLowerCase().trim();\n if (lower === \"sans\" || lower === \"sans-serif\")\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n if (lower === \"serif\")\n return \"Georgia, 'Times New Roman', serif\";\n if (lower === \"mono\" || lower === \"monospace\")\n return \"'Courier New', Courier, monospace\";\n if (lower === \"poppins\")\n return \"'Poppins', sans-serif\";\n return `'${font}', sans-serif`;\n};\nvar TabbedInterface = ({\n tabs,\n variant = \"underline\",\n defaultActiveTab = 0,\n onTabChange,\n draggableTabs = false,\n onReorderTabs,\n orientation = \"horizontal\",\n verticalPosition = \"left\",\n showTabCloseIconInHeader = false,\n tabCloseIconPosition = \"right\",\n tabCloseIconContent,\n onCloseTab,\n tabHeaderFont,\n tabContentFont,\n sectionTitleFont,\n sectionDescriptionFont,\n testId\n}) => {\n const [activeIndex, setActiveIndex] = (0, import_react7.useState)(defaultActiveTab);\n const [draggingIndex, setDraggingIndex] = (0, import_react7.useState)(null);\n const effectiveCloseIconContent = tabCloseIconContent ?? \"\\xD7\";\n const tabHeaderFontFamily = getFontFamily(tabHeaderFont);\n const tabContentFontFamily = getFontFamily(tabContentFont);\n (0, import_react7.useEffect)(() => {\n if (defaultActiveTab !== activeIndex) {\n setActiveIndex(defaultActiveTab);\n }\n }, [defaultActiveTab]);\n (0, import_react7.useEffect)(() => {\n if (!tabs.length) {\n setActiveIndex(0);\n return;\n }\n setActiveIndex(\n (prev) => prev < 0 ? 0 : prev >= tabs.length ? tabs.length - 1 : prev\n );\n }, [tabs.length]);\n const handleTabClick = (index) => {\n setActiveIndex(index);\n onTabChange?.(index);\n };\n const handleDragStart = (index) => {\n if (!draggableTabs) return;\n setDraggingIndex(index);\n };\n const handleDragOver = (event) => {\n if (!draggableTabs) return;\n event.preventDefault();\n };\n const handleDrop = (index) => {\n if (!draggableTabs) return;\n if (draggingIndex === null) {\n setDraggingIndex(null);\n return;\n }\n const fromIndex = draggingIndex;\n const toIndex = index;\n if (fromIndex === toIndex) {\n setDraggingIndex(null);\n return;\n }\n setActiveIndex((prevActive) => {\n let active = prevActive;\n if (active === fromIndex) return toIndex;\n if (fromIndex < toIndex) {\n if (active > fromIndex && active <= toIndex) return active - 1;\n } else if (fromIndex > toIndex) {\n if (active >= toIndex && active < fromIndex) return active + 1;\n }\n return active;\n });\n onReorderTabs?.(fromIndex, toIndex);\n setDraggingIndex(null);\n };\n const handleDragEnd = () => {\n if (!draggableTabs) return;\n setDraggingIndex(null);\n };\n const headerButtons = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: tabs.map((tab, index) => {\n const active = index === activeIndex;\n const isDragging = draggableTabs && draggingIndex === index;\n const showClose = showTabCloseIconInHeader && !!onCloseTab;\n const closeIcon = showClose ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"span\",\n {\n role: \"button\",\n \"aria-label\": \"Close tab\",\n onClick: (e) => {\n e.stopPropagation();\n onCloseTab?.(index);\n },\n className: \"inline-flex h-6 w-6 items-center justify-center rounded-full text-lg font-bold hover:bg-[#e2e8f0] hover:text-[#334155]\",\n children: effectiveCloseIconContent\n }\n ) : null;\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: () => handleTabClick(index),\n draggable: draggableTabs,\n onDragStart: () => handleDragStart(index),\n onDragOver: handleDragOver,\n onDrop: () => handleDrop(index),\n onDragEnd: handleDragEnd,\n className: `relative flex items-center px-4 py-2 text-sm font-semibold transition-all duration-300 select-none\n ${orientation === \"vertical\" ? \"text-left w-full\" : \"text-center\"}\n ${isDragging ? \"ring-2 ring-[#1761A3]\" : \"\"}\n ${variant === \"pill\" ? active ? \"rounded-full bg-[#1761A3] text-white shadow\" : \"rounded-full text-[#1761A3] hover:bg-[#1761A3]/10\" : variant === \"outline\" ? active ? \"rounded-md border-2 border-[#1761A3] bg-[#F3F8FF] text-[#1761A3]\" : \"rounded-md border-2 border-transparent text-slate-700 hover:border-slate-300\" : variant === \"filled\" ? active ? \"rounded-md bg-[#1761A3] text-white\" : \"rounded-md bg-[#EAF3FD] text-[#1761A3]\" : variant === \"gradient\" ? active ? \"rounded-md bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white\" : \"rounded-md bg-[#F0F4F8] text-[#1761A3]\" : variant === \"shadow\" ? active ? \"rounded-md bg-white text-[#1761A3] shadow-lg\" : \"rounded-md bg-[#F8FAFD]\" : variant === \"glass\" ? active ? \"rounded-md bg-[#1761A3]/40 text-white border border-white/30 backdrop-blur-[24px]\" : \"rounded-md bg-white/20 border border-white/30\" : variant === \"dark\" ? active ? \"text-blue-300 border-b-4 border-blue-400\" : \"text-slate-300 hover:text-blue-400\" : active ? \"text-[#1761A3]\" : \"text-slate-700 hover:text-[#1761A3]\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"flex w-full items-center justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"flex min-w-0 items-center gap-2\", children: [\n tabCloseIconPosition === \"left\" && closeIcon,\n tab.icon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"span\", { children: tab.icon }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"span\", { className: \"truncate\", children: tab.label })\n ] }),\n tabCloseIconPosition === \"right\" && closeIcon\n ] }),\n variant === \"underline\" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"span\",\n {\n className: `absolute ${orientation === \"vertical\" ? \"left-0 top-0 h-full w-[3px]\" : \"bottom-[-2px] left-0 h-[3px] w-full\"}\n bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\n transition-transform duration-300\n ${active ? \"scale-x-100\" : \"scale-x-0\"}\n `\n }\n )\n ]\n },\n index\n );\n }) });\n const content = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n className: \"relative min-h-[180px]\",\n style: { fontFamily: tabContentFontFamily },\n children: tabs.map((tab, index) => {\n const active = index === activeIndex;\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n className: `transition-opacity duration-300 ${active ? \"relative opacity-100\" : \"absolute inset-0 opacity-0 pointer-events-none\"}`,\n children: tab.content\n },\n index\n );\n })\n }\n );\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: `w-full mx-auto rounded-xl border p-8 box-border transition-all duration-300 overflow-hidden\n ${variant === \"dark\" ? \"bg-[#45484f] border-slate-700 text-slate-100 shadow-lg\" : variant === \"glass\" ? \"bg-white/10 border-white/30 backdrop-blur-xl text-slate-900 shadow-lg\" : \"bg-white border-[#b8d1f3] text-slate-900 shadow-sm\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"mb-5 flex justify-around max-[600px]:flex-col max-[600px]:items-center\", children: headerButtons }),\n content\n ]\n }\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: `w-full mx-auto rounded-xl border p-8 box-border transition-all duration-300 overflow-hidden\n ${variant === \"dark\" ? \"bg-[#45484f] border-slate-700 text-slate-100 shadow-lg\" : variant === \"glass\" ? \"bg-white/10 border-white/30 backdrop-blur-xl text-slate-900 shadow-lg\" : \"bg-white border-[#b8d1f3] text-slate-900 shadow-sm\"}`,\n children: verticalPosition === \"left\" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"grid gap-6 md:grid-cols-[minmax(180px,220px)_1fr]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"flex flex-col gap-2 border-b pb-3 md:border-b-0 md:border-r md:pr-4\", children: headerButtons }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { children: content })\n ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"grid gap-6 md:grid-cols-[1fr_minmax(180px,220px)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { children: content }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"flex flex-col gap-2 border-b pb-3 md:border-b-0 md:border-l md:pl-4\", children: headerButtons })\n ] })\n }\n );\n};\nTabbedInterface.displayName = \"TabbedInterface\";\n\n// src/components/Dropdown.tsx\nvar import_react8 = require(\"react\");\nvar import_jsx_runtime10 = require(\"react/jsx-runtime\");\nvar Dropdown = ({\n options,\n value,\n onSelect,\n variant = \"basic\",\n className = \"\",\n placeholder = \"Select an option\",\n disabled = false,\n testId\n}) => {\n const [open, setOpen] = (0, import_react8.useState)(false);\n const [internalSelected, setInternalSelected] = (0, import_react8.useState)(null);\n const dropdownRef = (0, import_react8.useRef)(null);\n const selectedOption = value !== void 0 ? options.find((opt) => opt.value === value) : internalSelected;\n (0, import_react8.useEffect)(() => {\n function handleClickOutside(event) {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setOpen(false);\n }\n }\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [open]);\n const handleSelect = (option) => {\n if (disabled) return;\n if (value === void 0) setInternalSelected(option);\n onSelect(option.value);\n setOpen(false);\n };\n const handleButtonClick = () => {\n if (!disabled) {\n setOpen(!open);\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(\n \"div\",\n {\n ref: dropdownRef,\n className: `relative w-full max-w-[14rem] min-w-0 box-border ${className || \"\"}`,\n \"data-testid\": testId,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"button\",\n {\n onClick: handleButtonClick,\n disabled,\n type: \"button\",\n className: `\n w-full text-left px-4 py-2 rounded-[0.375rem] text-[1rem] leading-[1.5]\n transition-all duration-200 ease-in-out border-none\n ${disabled ? \"bg-[#e5e7eb] text-[#9ca3af] cursor-not-allowed opacity-50\" : \"\"}\n\n ${!disabled && {\n basic: \"bg-[#2563eb] text-white hover:bg-[#1d4ed8]\",\n outline: \"border border-[#2563eb] bg-transparent text-[#2563eb] hover:bg-[#eff6ff]\",\n pill: \"bg-[#2563eb] text-white rounded-full hover:bg-[#1d4ed8]\",\n dark: \"bg-[#1f2937] text-white hover:bg-[#374151]\",\n underline: \"border-none border-b-2 border-[#3b82f6] rounded-none bg-transparent text-[#1d4ed8] hover:bg-[#eff6ff]\",\n shadow: \"bg-white text-[#374151] border border-[#e5e7eb] shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)] hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]\",\n glass: \"bg-[rgba(255,255,255,0.2)] [backdrop-filter:blur(12px)][-webkit-backdrop-filter:blur(12px)] text-white border border-[rgba(255,255,255,0.4)] hover:bg-[rgba(255,255,255,0.3)]\",\n gradient: \"bg-gradient-to-r from-[#3b82f6] to-[#a855f7] text-white hover:opacity-90\"\n }[variant]}\n `,\n children: selectedOption?.key || placeholder\n }\n ),\n open && !disabled && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"div\",\n {\n className: `\n absolute mt-2 w-full rounded-[0.375rem] border border-[#e5e7eb]\n shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]\n max-h-[16rem] overflow-y-auto scrollbar-thin scrollbar-thumb-slate-300 scrollbar-track-100 z-20\n ${variant === \"glass\" ? \"bg-[rgba(255,255,255,0.9)] backdrop-blur-[12px] border-[rgba(255,255,255,0.6)]\" : \"bg-white\"}\n `,\n children: options.map((opt, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"div\",\n {\n onClick: () => handleSelect(opt),\n className: `\n px-4 py-2 cursor-pointer text-[#374151]\n transition-colors duration-150\n ${variant === \"glass\" ? \"hover:bg-[rgba(59,130,246,0.1)]\" : \"hover:bg-[#f3f4f6]\"}\n ${index === 0 ? \"rounded-t-[0.375rem]\" : \"\"}\n ${index === options.length - 1 ? \"rounded-b-[0.375rem]\" : \"\"}\n `,\n children: opt.key\n },\n opt.value\n ))\n }\n )\n ]\n }\n );\n};\nDropdown.displayName = \"Dropdown\";\n\n// src/components/TableWithTab.tsx\nvar import_react9 = __toESM(require(\"react\"));\nvar import_outline = require(\"@heroicons/react/24/outline\");\nvar import_jsx_runtime11 = require(\"react/jsx-runtime\");\nvar getFontFamily2 = (font) => {\n if (!font)\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n const lower = font.toLowerCase().trim();\n if (lower === \"sans\" || lower === \"sans-serif\")\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n if (lower === \"serif\") return \"Georgia, 'Times New Roman', serif\";\n if (lower === \"mono\" || lower === \"monospace\")\n return \"'Courier New', Courier, monospace\";\n if (lower === \"poppins\") return \"'Poppins', sans-serif\";\n return `'${font}', sans-serif`;\n};\nfunction renderCellValue(value) {\n if (import_react9.default.isValidElement(value)) return value;\n if (value === null || value === void 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"text-slate-300\", children: \"-\" });\n }\n if (Array.isArray(value)) {\n if (value.some((v) => import_react9.default.isValidElement(v))) return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: value });\n return value.join(\", \");\n }\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (typeof value === \"number\") return value.toString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n}\nfunction DefaultTabContent({\n headers,\n row\n}) {\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"flex flex-col gap-2\", children: headers.map((h) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"div\",\n {\n className: \"flex flex-col sm:flex-row sm:items-center gap-1 rounded-lg bg-white p-3 text-sm shadow-sm\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"w-full sm:w-48 text-xs font-semibold uppercase tracking-wide text-slate-500\", children: h.label }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"flex-1 break-words text-slate-800\", children: renderCellValue(row[h.key]) })\n ]\n },\n h.key\n )) });\n}\nfunction TableWithTab({\n tableProps,\n tabProps,\n rearrange = false,\n getRowId,\n renderTabContent,\n onRowOpenInTab,\n title,\n description,\n tabLabelKey,\n sectionTitleFont,\n sectionDescriptionFont,\n testId\n}) {\n const { headers, data } = tableProps;\n const [tabs, setTabs] = (0, import_react9.useState)([]);\n const labelColumnKey = tabLabelKey ?? headers[0]?.key;\n const sectionTitleFontFamily = getFontFamily2(sectionTitleFont);\n const sectionDescriptionFontFamily = getFontFamily2(sectionDescriptionFont);\n (0, import_react9.useEffect)(() => {\n if (!tabs.length) return;\n setTabs(\n (prev) => prev.map((t) => {\n const row = t.row;\n const rawLabel = labelColumnKey && row[labelColumnKey] !== void 0 ? row[labelColumnKey] : t.id;\n const label = typeof rawLabel === \"string\" || typeof rawLabel === \"number\" ? String(rawLabel) : `Row ${t.rowIndex + 1}`;\n return { ...t, label };\n })\n );\n }, [tabLabelKey, headers]);\n const handleRowClick = (row, index) => {\n const id = getRowId ? getRowId(row, index) : index;\n setTabs((prev) => {\n const existsIndex = prev.findIndex((t) => t.id === id);\n if (existsIndex !== -1) {\n const next2 = [...prev];\n next2.splice(existsIndex, 1);\n return next2;\n }\n const rawLabel = labelColumnKey && row[labelColumnKey] !== void 0 ? row[labelColumnKey] : id;\n const label = typeof rawLabel === \"string\" || typeof rawLabel === \"number\" ? String(rawLabel) : `Row ${index + 1}`;\n const next = [...prev, { id, label, row, rowIndex: index }];\n onRowOpenInTab?.(row);\n return next;\n });\n };\n const handleCloseTab = (id) => {\n setTabs((prev) => prev.filter((t) => t.id !== id));\n };\n const isRowSelected = (row, index) => {\n const id = getRowId ? getRowId(row, index) : index;\n return tabs.some((t) => t.id === id);\n };\n const handleReorderTabs = (fromIndex, toIndex) => {\n setTabs((prev) => {\n const next = [...prev];\n const [moved] = next.splice(fromIndex, 1);\n next.splice(toIndex, 0, moved);\n return next;\n });\n };\n const tabbedInterfaceTabs = tabs.map((t) => ({\n label: t.label,\n content: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"flex flex-col gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"flex justify-end\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: () => handleCloseTab(t.id),\n className: \"inline-flex items-center gap-1 rounded-full bg-[#f1f5f9] px-3 py-1 text-xs font-medium text-[#334155] transition-colors hover:bg-[#e2e8f0]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_outline.XMarkIcon, { className: \"h-3 w-3\" }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { children: \"Close tab\" })\n ]\n }\n ) }),\n renderTabContent ? renderTabContent(t.row) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DefaultTabContent, { headers, row: t.row })\n ] })\n }));\n const effectiveShowHeaderClose = tabProps?.showTabCloseIconInHeader ?? true;\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"w-full rounded-xl border border-slate-200 bg-white p-6 shadow-sm\",\n children: [\n (title || description) && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mb-4\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"h2\",\n {\n className: \"text-xl font-semibold text-slate-900\",\n style: { fontFamily: sectionTitleFontFamily },\n children: title\n }\n ),\n description && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"p\",\n {\n className: \"mt-1 text-sm text-slate-500\",\n style: { fontFamily: sectionDescriptionFontFamily },\n children: description\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"overflow-x-auto w-full rounded-xl border border-slate-200\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"min-w-[900px]\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"table\", { className: \"min-w-full border-collapse text-sm\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"thead\", { className: \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"tr\", { children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"th\",\n {\n className: \"px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide text-white\",\n children: header.label\n },\n header.key\n )) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"tbody\", { className: \"bg-white\", children: [\n data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"td\",\n {\n colSpan: headers.length,\n className: \"px-4 py-6 text-center text-sm text-slate-500\",\n children: \"No records to display.\"\n }\n ) }),\n data.map((row, index) => {\n const selected = isRowSelected(row, index);\n const rowId = getRowId ? getRowId(row, index) : index;\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"tr\",\n {\n onClick: () => handleRowClick(row, index),\n className: `cursor-pointer border-b border-slate-100 transition hover:bg-slate-50 ${selected ? \"bg-blue-100/70\" : \"\"}`,\n children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"td\",\n {\n className: \"px-3 py-2 text-slate-800\",\n children: renderCellValue(\n row[header.key]\n )\n },\n header.key\n ))\n },\n String(rowId)\n );\n })\n ] })\n ] }) }) }),\n tabs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mt-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mb-3 flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"h3\", { className: \"text-sm font-semibold uppercase tracking-wide text-slate-500\", children: [\n \"Open Rows (\",\n tabs.length,\n \")\"\n ] }),\n rearrange && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"p\", { className: \"text-xs text-slate-500\", children: \"Drag the tab headers to change their order.\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n TabbedInterface,\n {\n ...tabProps,\n tabs: tabbedInterfaceTabs,\n draggableTabs: rearrange,\n onReorderTabs: rearrange ? handleReorderTabs : void 0,\n showTabCloseIconInHeader: effectiveShowHeaderClose,\n onCloseTab: (index) => {\n const target = tabs[index];\n if (!target) return;\n handleCloseTab(target.id);\n }\n }\n )\n ] })\n ]\n }\n );\n}\nTableWithTab.displayName = \"TableWithTab\";\n\n// src/components/Table.tsx\nvar import_react10 = __toESM(require(\"react\"));\nvar import_outline2 = require(\"@heroicons/react/24/outline\");\nvar import_jsx_runtime12 = require(\"react/jsx-runtime\");\nvar Table = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"],\n summary,\n summaryKey = \"summary\",\n summaryTitleField = \"name\",\n summaryColumn = false,\n summaryColumnKey,\n summaryColumnMaxLength = 120,\n textWrapColumns,\n textWrapMaxLength = 120,\n textWrapColumnMaxLengths,\n tableTestId\n}) => {\n const [searchMode, setSearchMode] = (0, import_react10.useState)(\n searchModeOptions[0]\n );\n const [expandedRowIndex, setExpandedRowIndex] = (0, import_react10.useState)(null);\n const [expandedRowIndexes, setExpandedRowIndexes] = (0, import_react10.useState)(\n /* @__PURE__ */ new Set()\n );\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === 1 ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: \"1\"\n },\n 1\n )\n );\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n if (start > 2) pages.push(/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"span\", { children: \"...\" }, \"s\"));\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === i ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: i\n },\n i\n )\n );\n }\n if (end < totalPages - 1) pages.push(/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"span\", { children: \"...\" }, \"e\"));\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === totalPages ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: totalPages\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const summaryColKeyToUse = summaryColumnKey || summaryKey;\n const renderCell = (value, key) => {\n if (value == null) return \"-\";\n if (import_react10.default.isValidElement(value)) return value;\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (value instanceof Date) return value.toLocaleString();\n if (Array.isArray(value)) {\n if (value.some((item) => import_react10.default.isValidElement(item))) return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { children: value });\n return value.join(\", \");\n }\n if (typeof value === \"object\") return JSON.stringify(value);\n if (typeof value === \"string\") {\n if (textWrapColumns?.includes(key)) {\n const max = textWrapColumnMaxLengths?.[key] ?? textWrapMaxLength ?? 120;\n const truncated = value.length <= max ? value : value.substring(0, max) + \"...\";\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"div\",\n {\n className: \"text-sm text-slate-600 line-clamp-2\",\n title: value,\n children: truncated\n }\n );\n }\n }\n return String(value);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [\n (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"mb-3 flex flex-wrap justify-between gap-3\", children: [\n searchable && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"input\",\n {\n value: searchTerm,\n onChange: handleChange,\n placeholder: \"Search...\",\n className: \"w-56 rounded-lg px-3 py-2 pr-8 text-sm text-[#1761A3] shadow focus:ring-2 focus:ring-emerald-500\"\n }\n ),\n searchTerm && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"absolute right-2 top-2\",\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_outline2.XMarkIcon, { className: \"h-4 w-4\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg px-2 py-2 text-sm shadow\",\n children: searchModeOptions.map((mode) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"option\", { value: mode, children: mode === \"startsWith\" ? \"Starts With\" : \"Includes\" }, mode))\n }\n )\n ] }),\n (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex gap-2\", children: [\n onDownloadPDF && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"px-3 py-2 text-white rounded bg-gradient-to-r from-[#1e73be] to-[#28a97d]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_outline2.ArrowDownOnSquareIcon, { className: \"h-5 w-5\" })\n }\n ),\n onDownloadExcel && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"px-3 py-2 text-white rounded bg-gradient-to-r from-[#1e73be] to-[#28a97d]\",\n children: \"Excel\"\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"div\",\n {\n className: \"overflow-x-auto rounded-xl border border-[#1761A3] bg-white\",\n \"data-testid\": tableTestId,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"table\", { className: \"w-full min-w-[900px] table-fixed\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"thead\", { className: \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"tr\", { children: [\n headers.map((header, idx) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"th\",\n {\n className: \" h-[50px] px-3 py-2 text-left text-sm font-bold text-white\",\n children: header.label\n },\n idx\n )),\n actions && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"th\", { className: \"px-3 py-2 text-white font-bold\", children: \"Actions\" })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tbody\", { children: data.length > 0 ? data.map((row, rowIndex) => {\n const isExpanded = summary === \"single\" ? expandedRowIndex === rowIndex : expandedRowIndexes.has(rowIndex);\n const toggleRow = () => {\n if (!summary) return;\n if (summary === \"single\") {\n setExpandedRowIndex((prev) => prev === rowIndex ? null : rowIndex);\n } else {\n setExpandedRowIndexes((prev) => {\n const next = new Set(prev);\n next.has(rowIndex) ? next.delete(rowIndex) : next.add(rowIndex);\n return next;\n });\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react10.default.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\n \"tr\",\n {\n onClick: toggleRow,\n className: \" h-[57px] border-b even:bg-slate-50 hover:bg-slate-100\",\n style: highlightRowColor ? { backgroundColor: highlightRowColor } : void 0,\n children: [\n headers.map((header, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"td\", { className: \"px-3 py-2 text-sm whitespace-nowrap overflow-hidden text-ellipsis max-w-[1px] break-words\", children: renderCell(row[header.key], header.key) }, i)),\n actions && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"td\", { className: \"px-3 py-2 text-center\", children: actions(row) })\n ]\n }\n ),\n summary && isExpanded && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-4 bg-gradient-to-r from-[rgba(239,246,255,0.5)] to-[rgba(219,234,254,0.5)]\",\n children: row[summaryKey]\n }\n ) })\n ] }, rowIndex);\n }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"text-center py-6 text-slate-500\",\n children: \"No records found\"\n }\n ) }) })\n ] })\n }\n ),\n paginationRequired && totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex justify-center mt-3 gap-2 items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"px-3 py-1 rounded text-white text-sm bg-gradient-to-r from-[#1e73be] to-[#28a97d] disabled:bg-gray-300\",\n children: \"Previous\"\n }\n ),\n renderPageNumbers(),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"px-3 py-1 rounded text-white text-sm bg-gradient-to-r from-[#1e73be] to-[#28a97d] disabled:bg-gray-300\",\n children: \"Next\"\n }\n )\n ] })\n ] });\n};\n\n// src/components/MahatiChartAnalyticsWidget.tsx\nvar import_react17 = require(\"react\");\n\n// src/components/ChartDropdown.tsx\nvar import_react11 = require(\"react\");\nvar import_jsx_runtime13 = require(\"react/jsx-runtime\");\nvar assetSrc = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar arrowDownIcon = require_down_4();\nvar getTriggerClasses = (variant) => {\n const base = \"cursor-pointer outline-none transition-all duration-200\";\n switch (variant) {\n case \"mahatiFilter\":\n return `${base} w-[130px] h-[30px] rounded-[4px] border border-[rgba(210,210,210,1)] bg-gradient-to-r from-[rgba(23,97,163,0.07)] to-[rgba(77,175,131,0.07)] px-2 text-xs text-[rgba(17,24,39,1)] flex items-center justify-between gap-2 hover:opacity-95 focus:shadow-[0_0_0_2px_rgba(23,97,163,0.25)]`;\n case \"basic\":\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n case \"outline\":\n return `${base} border border-[rgba(37,99,235,1)] text-[rgba(37,99,235,1)] bg-transparent rounded-md px-4 py-2 hover:bg-[rgba(239,246,255,1)]`;\n case \"pill\":\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-full px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n case \"dark\":\n return `${base} bg-[rgba(31,41,55,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(55,65,81,1)]`;\n case \"underline\":\n return `${base} border-b-2 border-[rgba(59,130,246,1)] bg-transparent text-[rgba(29,78,216,1)] rounded-none px-2 py-2 hover:bg-[rgba(239,246,255,1)]`;\n case \"shadow\":\n return `${base} bg-white text-[rgba(55,65,81,1)] shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1)] border border-[rgba(229,231,235,1)] rounded-md px-4 py-2 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1)]`;\n case \"glass\":\n return `${base} bg-[rgba(255,255,255,0.2)] backdrop-blur-md text-white border border-[rgba(255,255,255,0.4)] rounded-md px-4 py-2 hover:bg-[rgba(255,255,255,0.3)]`;\n case \"gradient\":\n return `${base} bg-gradient-to-r from-[rgba(59,130,246,1)] to-[rgba(168,85,247,1)] text-white border-none rounded-md px-4 py-2 hover:opacity-90`;\n default:\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n }\n};\nvar getMenuClasses = (variant) => {\n const base = \"absolute mt-1 z-20 bg-white rounded-md shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1)] overflow-hidden\";\n if (variant === \"mahatiFilter\") {\n return `${base} w-[130px] rounded-[4px] border border-[rgba(210,210,210,1)] shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]`;\n }\n return `${base} min-w-[160px] border border-[rgba(229,231,235,1)]`;\n};\nvar getOptionClasses = (variant, isSelected) => {\n const base = \"w-full text-left cursor-pointer outline-none border-none transition-colors duration-200\";\n if (variant === \"mahatiFilter\") {\n return `${base} h-[30px] px-2 flex items-center text-xs text-[rgba(31,41,55,1)] rounded-none ${isSelected ? \"bg-[rgba(243,244,246,1)]\" : \"bg-white\"} hover:bg-[rgba(243,244,246,1)] focus:bg-[rgba(243,244,246,1)]`;\n }\n return `${base} px-3 py-2 text-sm text-[rgba(31,41,55,1)] ${isSelected ? \"bg-[rgba(239,246,255,1)]\" : \"bg-white\"} hover:bg-[rgba(243,244,246,1)] focus:bg-[rgba(239,246,255,1)]`;\n};\nvar ChartDropdown = ({\n options,\n value,\n onSelect,\n label,\n variant = \"basic\",\n className,\n testId\n}) => {\n const [isOpen, setIsOpen] = (0, import_react11.useState)(false);\n const [internalValue, setInternalValue] = (0, import_react11.useState)(value);\n const dropdownRef = (0, import_react11.useRef)(null);\n (0, import_react11.useEffect)(() => {\n if (value !== void 0) setInternalValue(value);\n }, [value]);\n const displayValue = value !== void 0 ? value : internalValue;\n const selectedOption = (0, import_react11.useMemo)(\n () => options.find((opt) => opt.value === displayValue),\n [options, displayValue]\n );\n (0, import_react11.useEffect)(() => {\n const handleClickOutside = (event) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, []);\n const handleSelect = (optionValue) => {\n onSelect(optionValue);\n if (value === void 0) {\n setInternalValue(optionValue);\n }\n setIsOpen(false);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(\n \"div\",\n {\n ref: dropdownRef,\n className: `relative inline-block ${className || \"\"}`,\n \"data-testid\": testId,\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"label\", { className: \"block mb-1 text-xs font-medium text-[rgba(55,65,81,1)]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(\n \"button\",\n {\n type: \"button\",\n className: getTriggerClasses(variant),\n onClick: () => setIsOpen(!isOpen),\n onKeyDown: (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setIsOpen(!isOpen);\n }\n },\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": isOpen,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"span\", { className: \"overflow-hidden text-ellipsis whitespace-nowrap\", children: selectedOption?.key || \"Select...\" }),\n /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n \"img\",\n {\n src: assetSrc(arrowDownIcon),\n alt: \"\",\n className: \"w-3 h-3 flex-shrink-0\"\n }\n )\n ]\n }\n ),\n isOpen && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"div\", { className: getMenuClasses(variant), role: \"listbox\", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n \"button\",\n {\n type: \"button\",\n className: getOptionClasses(variant, option.value === displayValue),\n onClick: () => handleSelect(option.value),\n role: \"option\",\n \"aria-selected\": option.value === displayValue,\n children: option.key\n },\n option.key\n )) })\n ]\n }\n );\n};\nChartDropdown.displayName = \"ChartDropdown\";\n\n// src/components/PieLineBarChart.tsx\nvar import_react12 = __toESM(require(\"react\"));\nvar import_chart = require(\"chart.js\");\nvar import_react_chartjs_2 = require(\"react-chartjs-2\");\nvar import_jsx_runtime14 = require(\"react/jsx-runtime\");\nimport_chart.Chart.register(\n import_chart.ArcElement,\n import_chart.Tooltip,\n import_chart.Legend,\n import_chart.CategoryScale,\n import_chart.LinearScale,\n import_chart.PointElement,\n import_chart.LineElement,\n import_chart.BarElement,\n import_chart.Filler\n);\nvar makeAreaDataStraight = (data) => {\n const datasets = Array.isArray(data.datasets) ? data.datasets : [];\n return {\n ...data,\n datasets: datasets.map((ds) => ({\n ...ds,\n tension: 0,\n cubicInterpolationMode: \"default\"\n }))\n };\n};\nvar PieLineBarChart = ({\n chartType,\n data,\n options\n}) => {\n const defaultOptions = import_react12.default.useMemo(() => {\n const isLineFamily = chartType === \"line\" || chartType === \"area\";\n if (isLineFamily) {\n return {\n responsive: true,\n maintainAspectRatio: false,\n elements: { line: { tension: 0 } },\n plugins: {\n legend: { display: false },\n tooltip: {\n mode: \"index\",\n intersect: false,\n backgroundColor: \"rgba(255,255,255,0.95)\",\n titleColor: \"rgba(31,41,55,1)\",\n bodyColor: \"rgba(107,114,128,1)\",\n borderColor: \"rgba(229,231,235,1)\",\n borderWidth: 1,\n padding: 12,\n displayColors: true\n }\n },\n scales: {\n x: {\n grid: { display: true, color: \"rgba(229,231,235,1)\", drawBorder: false },\n ticks: { color: \"rgba(107,114,128,1)\", font: { size: 11 } }\n },\n y: {\n grid: { display: true, color: \"rgba(229,231,235,1)\", drawBorder: false },\n ticks: { color: \"rgba(107,114,128,1)\", font: { size: 11 } },\n min: 40,\n max: 90\n }\n },\n interaction: { mode: \"nearest\", axis: \"x\", intersect: false }\n };\n }\n return {\n responsive: true,\n maintainAspectRatio: false,\n cutout: chartType === \"pie\" || chartType === \"doughnut\" ? \"50%\" : void 0,\n plugins: { legend: { display: false } }\n };\n }, [chartType]);\n const chartOptions = options || defaultOptions;\n const renderChart = () => {\n switch (chartType) {\n case \"line\":\n case \"area\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Line, { data, options: chartOptions }, chartType);\n case \"bar\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Bar, { data, options: chartOptions }, chartType);\n case \"pie\":\n case \"doughnut\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Doughnut, { data, options: chartOptions }, chartType);\n default:\n return null;\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(\"div\", { className: \"w-full h-full relative flex items-center justify-center\", children: renderChart() });\n};\nPieLineBarChart.displayName = \"PieLineBarChart\";\n\n// src/components/BulletChart.tsx\nvar import_jsx_runtime15 = require(\"react/jsx-runtime\");\nvar BulletChart = ({ title, bullets, testId }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-sm font-semibold leading-normal sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"mt-4 flex flex-col gap-[35px] sm:gap-[45px]\", children: bullets.map((b) => {\n const percentageAchieved = Math.round(b.achieved / b.target * 100);\n const achievedWidth = Math.min(b.achieved / b.target * 100, 100);\n const markerPosition = Math.min(b.marker / b.target * 100, 100);\n return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\n \"div\",\n {\n className: \"flex flex-col gap-[9px]\",\n \"data-testid\": testId ? `${testId}-item-${b.name}` : void 0,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-xs font-semibold leading-normal sm:text-sm\", children: b.name }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"relative w-full sm:w-[500px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"absolute top-[-29px] right-0 text-black font-[Poppins,sans-serif] text-xs font-semibold leading-normal whitespace-nowrap sm:text-sm\", children: [\n \"$\",\n b.achieved.toLocaleString(),\n \"/$\",\n b.target.toLocaleString()\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"relative w-full h-5 rounded-[20px] bg-[rgba(183,232,214,0.9)] overflow-hidden\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\n \"div\",\n {\n className: \"h-5 rounded-l-[20px] rounded-r-none bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\",\n style: { width: `${achievedWidth}%` },\n \"data-testid\": testId ? `${testId}-bar-${b.name}` : void 0\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\n \"div\",\n {\n className: \"absolute top-0 h-5 w-1 rounded-sm bg-[rgba(15,74,122,1)]\",\n style: { left: `${markerPosition}%`, transform: \"translateX(-50%)\" },\n \"data-testid\": testId ? `${testId}-marker-${b.name}` : void 0\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"absolute top-[29px] left-0 w-full\", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"flex justify-between items-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", children: \"0\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"2k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"4k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"6k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"8k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-8px\" }, children: \"10k\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\n \"div\",\n {\n className: \"text-[rgba(115,115,115,1)] font-[Poppins,sans-serif] text-[9px] font-semibold leading-normal whitespace-nowrap sm:ml-[27px] sm:text-[10px]\",\n \"data-testid\": testId ? `${testId}-percentage-${b.name}` : void 0,\n children: [\n percentageAchieved,\n \"% of target achieved\"\n ]\n }\n )\n ] })\n ]\n },\n b.name\n );\n }) })\n ] });\n};\nBulletChart.displayName = \"BulletChart\";\n\n// src/components/GaugeChart.tsx\nvar import_jsx_runtime16 = require(\"react/jsx-runtime\");\nvar GaugeChart = ({ title, gauges, testId }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: {\n color: \"rgba(23,97,163,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"18px\",\n fontWeight: 600\n },\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-col gap-10\", children: gauges.map((gauge, index) => {\n const percentage = Math.min(gauge.value / gauge.max * 100, 100);\n const angle = percentage / 100 * 180 - 90;\n const remaining = gauge.max - gauge.value;\n const dailyAvg = Math.round(gauge.value / 30);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col gap-6 lg:flex-row lg:gap-8\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"relative w-full flex-shrink-0 lg:w-[340px]\",\n style: { height: \"220px\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"svg\", { className: \"w-full h-full\", viewBox: \"0 0 340 220\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"linearGradient\", { id: `gaugeGradient${index}`, x1: \"0%\", y1: \"0%\", x2: \"100%\", y2: \"0%\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(23,97,163,1)\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(77,175,131,1)\" })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M 40 170 A 130 130 0 0 1 300 170\",\n fill: \"none\",\n stroke: \"rgba(230,230,230,1)\",\n strokeWidth: \"16\",\n strokeLinecap: \"round\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M 40 170 A 130 130 0 0 1 300 170\",\n fill: \"none\",\n stroke: `url(#gaugeGradient${index})`,\n strokeWidth: \"16\",\n strokeLinecap: \"round\",\n style: { transition: \"all 0.7s ease-in-out\" },\n strokeDasharray: `${percentage / 100 * 408.4} 408.4`\n }\n ),\n [\n { x: 36, y: 198, t: \"0\" },\n { x: 42, y: 75, t: \"25\" },\n { x: 162, y: 25, t: \"50\" },\n { x: 282, y: 75, t: \"75\" },\n { x: 290, y: 198, t: \"100\" }\n ].map(({ x, y, t }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x,\n y,\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"14px\",\n fontWeight: 500,\n fill: \"rgba(94,94,94,1)\"\n },\n children: t\n },\n t\n )),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"g\", { transform: \"translate(90, 100)\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"linearGradient\",\n {\n id: `centerGradient${index}`,\n x1: \"80\",\n y1: \"0\",\n x2: \"80\",\n y2: \"160\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(23,97,163,1)\", stopOpacity: \"0.1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(77,175,131,1)\", stopOpacity: \"0.1\" })\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M160 80C160 58.7827 151.571 38.4344 136.569 23.4315C121.566 8.42855 101.217 1.60186e-06 80 0C58.7827 -1.60186e-06 38.4344 8.42854 23.4315 23.4315C8.42855 38.4344 3.20373e-06 58.7827 0 80L80 80H160Z\",\n fill: `url(#centerGradient${index})`\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x: \"170\",\n y: \"125\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 400, fill: \"rgba(120,120,120,1)\" },\n children: \"score\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"text\",\n {\n x: \"175\",\n y: \"165\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"42px\", fontWeight: 700, fill: \"rgba(0,0,0,1)\" },\n children: [\n Math.round(percentage),\n \"%\"\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { transform: \"translate(170, 170)\", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"g\",\n {\n style: {\n transition: \"all 0.7s ease-in-out\",\n transform: `rotate(${angle}deg)`,\n transformOrigin: \"0 0\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"path\", { d: \"M 0 -115 L -3.4 -80 L 3.4 -80 Z\", fill: \"rgba(76,76,76,1)\" })\n }\n ) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"absolute bottom-0 left-0 right-0 text-center\",\n style: {\n color: \"rgba(100,100,100,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400\n },\n children: [\n \"You've completed \",\n Math.round(percentage),\n \"% of the total target\"\n ]\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex-1 flex flex-col justify-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36 mb-[98px]\", children: [\n { label: \"Target\", value: gauge.max.toLocaleString() },\n { label: \"Achieved\", value: gauge.value.toLocaleString() }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36\", children: [\n { label: \"Remaining\", value: remaining.toLocaleString() },\n { label: \"Daily Avg Needed\", value: `${dailyAvg.toLocaleString()} / day` }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) })\n ] })\n ] }),\n index < gauges.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"mt-10 h-px\", style: { background: \"rgba(220,220,220,1)\" } })\n ] }, index);\n }) })\n ] });\n};\nGaugeChart.displayName = \"GaugeChart\";\nvar DEFAULT_RISK_BANDS = [\n { label: \"Critical Risk\", color: \"#DC2626\", rangeStart: 0, rangeEnd: 20 },\n { label: \"High Risk\", color: \"#F97316\", rangeStart: 20, rangeEnd: 40 },\n { label: \"Stable\", color: \"#FBBF24\", rangeStart: 40, rangeEnd: 60 },\n { label: \"Strong\", color: \"#4ADE80\", rangeStart: 60, rangeEnd: 80 },\n { label: \"Top Performer\", color: \"#059669\", rangeStart: 80, rangeEnd: 100 }\n];\nvar createRiskArcPath = (centerX, centerY, radius, startAngle, endAngle) => {\n const startRad = (startAngle - 180) * Math.PI / 180;\n const endRad = (endAngle - 180) * Math.PI / 180;\n const x1 = centerX + radius * Math.cos(startRad);\n const y1 = centerY + radius * Math.sin(startRad);\n const x2 = centerX + radius * Math.cos(endRad);\n const y2 = centerY + radius * Math.sin(endRad);\n const largeArcFlag = endAngle - startAngle > 180 ? 1 : 0;\n return `M ${x1} ${y1} A ${radius} ${radius} 0 ${largeArcFlag} 1 ${x2} ${y2}`;\n};\nvar getRiskLevel = (score, bands) => {\n for (const band of bands) {\n if (score >= band.rangeStart && score <= band.rangeEnd) return band.label;\n }\n return bands[0].label;\n};\nvar RiskGaugeChart = ({ title, gauges }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"18px\", fontWeight: 600 },\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-col gap-10\", children: gauges.map((gauge, index) => {\n const bands = gauge.bands || DEFAULT_RISK_BANDS;\n const maxScore = gauge.max || 100;\n const percentage = Math.min(gauge.score / maxScore * 100, 100);\n const angle = percentage / 100 * 180 - 90;\n const currentLevel = getRiskLevel(percentage, bands);\n const remaining = maxScore - gauge.score;\n const dailyAvg = Math.round(gauge.score / 30);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col gap-6 lg:flex-row lg:gap-8\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"relative w-full flex-shrink-0 lg:w-[340px]\", style: { height: \"220px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"svg\", { className: \"w-full h-full\", viewBox: \"0 0 340 220\", children: [\n bands.map((band, bandIndex) => {\n const startAngle = band.rangeStart / 100 * 180;\n const endAngle = band.rangeEnd / 100 * 180;\n const arcPath = createRiskArcPath(170, 170, 130, startAngle, endAngle);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: arcPath,\n fill: \"none\",\n stroke: band.color,\n strokeWidth: \"16\",\n strokeLinecap: \"butt\",\n style: { transition: \"all 0.7s ease-in-out\" }\n },\n bandIndex\n );\n }),\n [\n { x: 36, y: 198, t: \"0\" },\n { x: 42, y: 75, t: \"25\" },\n { x: 162, y: 25, t: \"50\" },\n { x: 282, y: 75, t: \"75\" },\n { x: 290, y: 198, t: \"100\" }\n ].map(({ x, y, t }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x,\n y,\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 500, fill: \"rgba(94,94,94,1)\" },\n children: t\n },\n t\n )),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"g\", { transform: \"translate(90, 100)\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"linearGradient\",\n {\n id: `riskCenterGradient${index}`,\n x1: \"80\",\n y1: \"0\",\n x2: \"80\",\n y2: \"160\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(148,163,184,1)\", stopOpacity: \"0.1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(71,85,105,1)\", stopOpacity: \"0.05\" })\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M160 80C160 58.7827 151.571 38.4344 136.569 23.4315C121.566 8.42855 101.217 1.60186e-06 80 0C58.7827 -1.60186e-06 38.4344 8.42854 23.4315 23.4315C8.42855 38.4344 3.20373e-06 58.7827 0 80L80 80H160Z\",\n fill: `url(#riskCenterGradient${index})`\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x: \"170\",\n y: \"125\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 400, fill: \"rgba(120,120,120,1)\" },\n children: \"score\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"text\",\n {\n x: \"175\",\n y: \"165\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"42px\", fontWeight: 700, fill: \"rgba(0,0,0,1)\" },\n children: [\n Math.round(percentage),\n \"%\"\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { transform: \"translate(170, 170)\", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { style: { transition: \"all 0.7s ease-in-out\", transform: `rotate(${angle}deg)`, transformOrigin: \"0 0\" }, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"path\", { d: \"M 0 -115 L -3.4 -80 L 3.4 -80 Z\", fill: \"rgba(76,76,76,1)\" }) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"absolute bottom-0 left-0 right-0 text-center\",\n style: { color: \"rgba(100,100,100,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"11px\", fontWeight: 400 },\n children: [\n \"Current Status: \",\n currentLevel\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex-1 flex flex-col justify-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36 mb-[98px]\", children: [\n { label: \"Maximum\", value: maxScore.toLocaleString() },\n { label: \"Current Score\", value: gauge.score.toLocaleString() }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36\", children: [\n { label: \"Gap to Max\", value: remaining.toLocaleString() },\n { label: \"Daily Average\", value: `${dailyAvg.toLocaleString()} / day` }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-wrap gap-[30px] mt-[30px] justify-center\", children: bands.map((band, bandIdx) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"w-5 h-3 rounded-sm\",\n style: { backgroundColor: band.color }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"span\",\n {\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n color: \"rgba(75,85,99,1)\",\n fontWeight: 500\n },\n children: band.label\n }\n )\n ] }, bandIdx)) }),\n index < gauges.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"mt-10 h-px\", style: { background: \"rgba(220,220,220,1)\" } })\n ] }, index);\n }) })\n ] });\n};\nRiskGaugeChart.displayName = \"RiskGaugeChart\";\n\n// src/components/HorizontalBarChart.tsx\nvar import_jsx_runtime17 = require(\"react/jsx-runtime\");\nvar HorizontalBarChart = ({\n title,\n bars,\n xAxisConfig,\n topPerformer,\n testId\n}) => {\n const safeBars = bars || [];\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex items-center justify-end mb-[2px]\", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"button\",\n {\n className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded transition-colors hover:bg-[rgba(243,244,246,1)] bg-transparent border-none cursor-pointer\",\n \"data-testid\": testId ? `${testId}-menu-button` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) })\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 },\n \"data-testid\": testId ? `${testId}-title` : void 0,\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"flex items-start gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex flex-col justify-start pt-1\", style: { minHeight: \"180px\" }, children: safeBars.map((bar, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { height: \"45px\", marginBottom: index < safeBars.length - 1 ? \"10px\" : 0 },\n \"data-testid\": testId ? `${testId}-label-${index}` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"12px\",\n fontWeight: 400,\n whiteSpace: \"nowrap\"\n },\n className: \"sm:text-sm\",\n children: bar.name\n }\n )\n },\n bar.name\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", style: { height: \"180px\" }, children: [\n xAxisConfig && xAxisConfig.labels.map((label, idx) => {\n const totalLabels = xAxisConfig.labels.length;\n const position = idx / (totalLabels - 1) * 100;\n const approxCharWidth = 7;\n const centerOffset = String(label).length * approxCharWidth / 2;\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"absolute top-0 w-px z-[1]\",\n style: {\n left: `calc(${position}% - ${centerOffset}px)`,\n height: \"165px\",\n backgroundColor: \"rgba(229,231,235,1)\"\n }\n },\n idx\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"absolute left-0 top-0 w-[2px] z-[2]\", style: { height: \"165px\", backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"absolute left-0 right-0 h-[2px] z-[2]\", style: { bottom: \"15px\", backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex flex-col pt-1 relative z-10\", style: { minHeight: \"180px\" }, children: safeBars.map((bar, index) => {\n const maxVal = xAxisConfig?.max || 250;\n const barLengthPercentage = bar.value / maxVal * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { height: \"45px\", marginBottom: index < safeBars.length - 1 ? \"10px\" : 0 },\n \"data-testid\": testId ? `${testId}-row-${index}` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"relative h-[30px] w-full\", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"absolute top-0 left-0 h-[30px] rounded\",\n style: { width: `${barLengthPercentage}%`, background: bar.color },\n \"data-testid\": testId ? `${testId}-bar-${index}` : void 0\n }\n ) })\n },\n bar.name\n );\n }) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex justify-between items-start w-full relative z-10\", style: { marginTop: \"-8px\" }, children: xAxisConfig && xAxisConfig.labels.map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"span\",\n {\n style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 },\n className: \"sm:text-xs\",\n children: label\n },\n idx\n )) })\n ] })\n ] })\n ] });\n};\nHorizontalBarChart.displayName = \"HorizontalBarChart\";\n\n// src/components/GanttChart.tsx\nvar import_react13 = __toESM(require(\"react\"));\nvar import_jsx_runtime18 = require(\"react/jsx-runtime\");\nvar assetSrc2 = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar arrowDownIcon2 = require_down_4();\nvar GANTT_COLORS = {\n green: \"rgba(44, 160, 44, 1)\",\n blue: \"rgba(37, 99, 235, 1)\",\n orange: \"rgba(255, 127, 14, 1)\",\n red: \"rgba(239, 68, 68, 1)\",\n purple: \"rgba(147, 51, 234, 1)\",\n teal: \"rgba(20, 184, 166, 1)\",\n pink: \"rgba(236, 72, 153, 1)\",\n yellow: \"rgba(234, 179, 8, 1)\",\n indigo: \"rgba(99, 102, 241, 1)\",\n emerald: \"rgba(16, 185, 129, 1)\"\n};\nvar GanttChart = ({\n data,\n selectedYear,\n selectedMonth,\n selectedProject,\n onProjectChange,\n testId\n}) => {\n const [isProjectDropdownOpen, setIsProjectDropdownOpen] = import_react13.default.useState(false);\n const projects = [\"Project 1\", \"Project 2\"];\n const projectData = data;\n const getMonthNames = (monthRange) => {\n const monthMap = {\n Jan: \"January\",\n Feb: \"February\",\n Mar: \"March\",\n Apr: \"April\",\n May: \"May\",\n Jun: \"June\",\n Jul: \"July\",\n Aug: \"August\",\n Sep: \"September\",\n Oct: \"October\",\n Nov: \"November\",\n Dec: \"December\"\n };\n const [month1, month2] = monthRange.split(\" - \").map((m) => m.trim());\n return [monthMap[month1], monthMap[month2]];\n };\n const getMonthNumber = (monthRange) => {\n const monthNumberMap = {\n Jan: \"01\",\n Feb: \"02\",\n Mar: \"03\",\n Apr: \"04\",\n May: \"05\",\n Jun: \"06\",\n Jul: \"07\",\n Aug: \"08\",\n Sep: \"09\",\n Oct: \"10\",\n Nov: \"11\",\n Dec: \"12\"\n };\n const [month1, month2] = monthRange.split(\" - \").map((m) => m.trim());\n return [monthNumberMap[month1], monthNumberMap[month2]];\n };\n const getTodayPosition = () => {\n const today = /* @__PURE__ */ new Date();\n const currentYear = today.getFullYear();\n const currentMonth = today.getMonth() + 1;\n const currentDay = today.getDate();\n const [month1, month2] = selectedMonth.split(\" - \").map((m) => m.trim());\n const monthToNumber = {\n Jan: 1,\n Feb: 2,\n Mar: 3,\n Apr: 4,\n May: 5,\n Jun: 6,\n Jul: 7,\n Aug: 8,\n Sep: 9,\n Oct: 10,\n Nov: 11,\n Dec: 12\n };\n const selectedMonth1 = monthToNumber[month1];\n const selectedMonth2 = monthToNumber[month2];\n const selectedYearNum = parseInt(selectedYear);\n if (currentYear !== selectedYearNum) return null;\n let monthIndex = -1;\n if (currentMonth === selectedMonth1) monthIndex = 0;\n else if (currentMonth === selectedMonth2) monthIndex = 1;\n else return null;\n const daysInMonth = 31;\n const dayPercent = (currentDay - 1) / daysInMonth;\n const positionInMonth = dayPercent * 320;\n const mobileLeft = monthIndex === 0 ? 120 + positionInMonth : 450 + positionInMonth;\n const desktopLeft = monthIndex === 0 ? 137 + positionInMonth : 467 + positionInMonth;\n return {\n show: true,\n mobileLeft: Math.round(mobileLeft * 100) / 100,\n desktopLeft: Math.round(desktopLeft * 100) / 100\n };\n };\n const todayPosition = getTodayPosition();\n const months = getMonthNames(selectedMonth);\n const displayMonths = months.map((m) => `${m} ${selectedYear}`);\n const [month1Num, month2Num] = getMonthNumber(selectedMonth);\n const getTaskPosition = (startDate, endDate) => {\n const [startDay, startMonth] = startDate.split(\"/\").map(Number);\n const [endDay, endMonth] = endDate.split(\"/\").map(Number);\n const [month1, month2] = selectedMonth.split(\" - \").map((m) => m.trim());\n const monthToNumber = {\n Jan: 1,\n Feb: 2,\n Mar: 3,\n Apr: 4,\n May: 5,\n Jun: 6,\n Jul: 7,\n Aug: 8,\n Sep: 9,\n Oct: 10,\n Nov: 11,\n Dec: 12\n };\n const selectedMonth1Num = monthToNumber[month1];\n const selectedMonth2Num = monthToNumber[month2];\n const daysInMonth = 31;\n let monthIndex = -1;\n let startPercent = 0;\n let width = 0;\n let isInSecondMonth = false;\n if (startMonth === selectedMonth1Num && endMonth === selectedMonth1Num) {\n monthIndex = 0;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = endDay / daysInMonth * 100 - startPercent;\n } else if (startMonth === selectedMonth2Num && endMonth === selectedMonth2Num) {\n monthIndex = 1;\n isInSecondMonth = true;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = endDay / daysInMonth * 100 - startPercent;\n } else if (startMonth === selectedMonth1Num && endMonth === selectedMonth2Num) {\n monthIndex = 2;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = 100 + endDay / daysInMonth * 100 - startPercent;\n }\n return { startPercent, width, monthIndex, isInSecondMonth };\n };\n const lineHeight = import_react13.default.useMemo(() => {\n const baseHeight = 30;\n const taskHeight = 32;\n const taskSpacing = 24;\n return baseHeight + projectData.tasks.length * (taskHeight + taskSpacing);\n }, [projectData.tasks.length]);\n const DateRangeBoxes = ({ monthNum }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex gap-2\", children: [\n `01/${monthNum} - 10/${monthNum}`,\n `11/${monthNum} - 20/${monthNum}`,\n `21/${monthNum} - 25/${monthNum}`,\n `26/${monthNum} - 31/${monthNum}`\n ].map((range) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"w-[74px] h-6 rounded\",\n style: { background: \"rgba(225, 237, 241, 1)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"8px\",\n fontWeight: 600\n },\n children: range\n }\n )\n },\n range\n )) });\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4 sm:mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\n \"button\",\n {\n className: \"flex items-center gap-2 bg-transparent px-2 py-1 rounded cursor-pointer border-none transition-colors hover:bg-[rgba(249,250,251,1)]\",\n onClick: () => setIsProjectDropdownOpen(!isProjectDropdownOpen),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(51,51,51,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"16px\",\n fontWeight: 600\n },\n children: selectedProject\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n style: {\n width: \"12px\",\n height: \"12px\",\n background: `url(${assetSrc2(arrowDownIcon2)}) transparent 50% / cover no-repeat`,\n aspectRatio: \"1/1\",\n transform: isProjectDropdownOpen ? \"rotate(180deg)\" : \"rotate(0deg)\",\n transition: \"transform 0.2s\"\n }\n }\n )\n ]\n }\n ),\n isProjectDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute top-full left-0 mt-1 bg-white border rounded-lg z-50 min-w-[150px]\",\n style: {\n border: \"1px solid rgba(229,231,235,1)\",\n boxShadow: \"0 10px 15px -3px rgba(0,0,0,0.1)\"\n },\n children: projects.map((project, idx) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"button\",\n {\n className: `w-full text-left px-4 py-2 bg-white border-none cursor-pointer transition-colors hover:bg-[rgba(249,250,251,1)] ${idx === 0 ? \"rounded-tl-lg rounded-tr-lg\" : \"\"} ${idx === projects.length - 1 ? \"rounded-bl-lg rounded-br-lg\" : \"\"}`,\n onClick: () => {\n onProjectChange(project);\n setIsProjectDropdownOpen(false);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(51,51,51,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"16px\",\n fontWeight: 600\n },\n children: project\n }\n )\n },\n project\n ))\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"button\",\n {\n className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\",\n style: { background: \"rgba(107,114,128,1)\" }\n },\n i\n )) })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative h-8 mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute left-0 w-[120px] sm:w-[137px] h-8\" }),\n [\n { left: \"120px\", smLeft: \"137px\", label: displayMonths[0] },\n { left: \"450px\", smLeft: \"467px\", label: displayMonths[1] }\n ].map(({ left, smLeft, label }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute top-0 w-[320px] h-8 rounded flex items-center justify-center\",\n style: {\n left,\n background: \"linear-gradient(90deg, rgba(23,97,163,1) 0%, rgba(77,175,131,1) 100%)\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 600,\n color: \"white\"\n },\n children: label\n }\n )\n },\n label\n ))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative h-6 mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute\", style: { left: \"120px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DateRangeBoxes, { monthNum: month1Num }) }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute\", style: { left: \"450px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DateRangeBoxes, { monthNum: month2Num }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative\", children: [\n [0, 1, 2, 3, 4, 5, 6, 7, 8].map((section) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${120 + section * 40}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n },\n `m1-${section}`\n )),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${120 + 8 * 40 + 20}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n }\n ),\n [1, 2, 3, 4, 5, 6, 7, 8, 9].map((section) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${450 + section * 40 - 40}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n },\n `m2-${section}`\n )),\n todayPosition?.show && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-[2px] z-0\",\n style: {\n background: \"rgba(32,148,243,1)\",\n left: `${todayPosition.mobileLeft}px`,\n top: \"-24px\",\n height: `${lineHeight - 30}px`\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-10 h-[18px] flex items-center justify-center rounded-r\",\n style: {\n background: \"rgba(32,148,243,1)\",\n top: \"10px\",\n left: \"0px\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"white\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"8px\",\n fontWeight: 500\n },\n children: \"Today\"\n }\n )\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex flex-col gap-4 sm:gap-6 mt-6 sm:mt-8\", children: projectData.tasks.map((task) => {\n const { startPercent, width, monthIndex, isInSecondMonth } = getTaskPosition(\n task.startDate,\n task.endDate\n );\n if (monthIndex === -1) return null;\n const taskColor = GANTT_COLORS[task.color] || GANTT_COLORS.blue;\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"flex items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"flex-shrink-0 pr-2 sm:pr-4 overflow-hidden text-ellipsis whitespace-nowrap\",\n style: {\n width: \"120px\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n children: task.name\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"relative flex-1 h-7 sm:h-8\", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute h-full\",\n style: {\n left: isInSecondMonth ? \"330px\" : \"0\",\n width: \"320px\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\n \"div\",\n {\n className: \"absolute h-full rounded-full flex items-center justify-between px-2 sm:px-3\",\n \"data-testid\": `gantt-task-${task.id}`,\n style: {\n left: `${startPercent}%`,\n width: `${width}%`,\n backgroundColor: taskColor\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n className: \"text-white overflow-hidden text-ellipsis whitespace-nowrap ml-5\",\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 600\n },\n children: task.name\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"rounded-full py-[2px] px-2 sm:px-3 sm:py-1 whitespace-nowrap\",\n style: {\n fontSize: \"8px\",\n fontFamily: \"Poppins, sans-serif\",\n fontWeight: 600,\n backgroundColor: \"rgba(255,255,255,1)\",\n color: taskColor\n },\n children: task.status\n }\n )\n ]\n }\n )\n }\n ) })\n ] }, task.id);\n }) })\n ] })\n ] });\n};\nGanttChart.displayName = \"GanttChart\";\n\n// src/components/CalendarHeatmapChart.tsx\nvar import_react14 = __toESM(require(\"react\"));\nvar import_jsx_runtime19 = require(\"react/jsx-runtime\");\nvar LEGEND_COLORS = [\n \"rgba(224, 242, 254, 1)\",\n \"rgba(154, 219, 255, 1)\",\n \"rgba(102, 194, 241, 1)\",\n \"rgba(43, 160, 209, 1)\",\n \"rgba(23, 97, 163, 1)\"\n];\nfunction getActivityColor(value) {\n if (value === 0) return \"rgba(224, 242, 254, 1)\";\n if (value < 1e3) return \"rgba(154, 219, 255, 1)\";\n if (value < 3e3) return \"rgba(102, 194, 241, 1)\";\n if (value < 5e3) return \"rgba(43, 160, 209, 1)\";\n return \"rgba(23, 97, 163, 1)\";\n}\nfunction getYearWeeks(year, calendarheatmapData, project, type) {\n const weeks = [];\n const startDate = new Date(year, 0, 1);\n const firstDayOfWeek = startDate.getDay();\n const daysToMonday = firstDayOfWeek === 0 ? -6 : 1 - firstDayOfWeek;\n const firstMonday = new Date(year, 0, 1 + daysToMonday);\n const currentDate = new Date(firstMonday);\n let lastMonth = -1;\n let weekIndex = 0;\n const maxWeeks = 54;\n const MONTH_NAMES_FULL = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n const MONTH_NAMES_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n while (weekIndex < maxWeeks) {\n const weekDays = [];\n let hasCurrentYearDate = false;\n for (let dayIndex = 0; dayIndex < 7; dayIndex++) {\n const date = new Date(currentDate);\n if (date.getFullYear() === year) hasCurrentYearDate = true;\n let value = 0;\n if (date.getFullYear() === year) {\n const dateStr = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, \"0\")}-${String(date.getDate()).padStart(2, \"0\")}`;\n const monthName = MONTH_NAMES_FULL[date.getMonth()];\n if (calendarheatmapData?.[project]?.[String(year)]?.[type]?.[monthName]) {\n const dayData = calendarheatmapData[project][String(year)][type][monthName].data.find(\n (d) => d.date === dateStr\n );\n if (dayData) value = dayData.value;\n }\n }\n weekDays.push({ date, value });\n currentDate.setDate(currentDate.getDate() + 1);\n }\n if (hasCurrentYearDate) {\n const thursday = weekDays[3].date;\n const weekMonth = thursday.getMonth();\n let monthLabel;\n if (weekMonth !== lastMonth && thursday.getFullYear() === year) {\n monthLabel = MONTH_NAMES_SHORT[weekMonth];\n lastMonth = weekMonth;\n }\n weeks.push({ days: weekDays, monthLabel });\n }\n if (currentDate.getFullYear() > year && currentDate.getMonth() > 0) break;\n weekIndex++;\n }\n return weeks;\n}\nvar CalendarHeatmapChart = ({\n data,\n selectedProject,\n selectedYear,\n selectedType,\n onProjectChange,\n calendarheatmapData,\n testId\n}) => {\n const [isProjectDropdownOpen, setIsProjectDropdownOpen] = import_react14.default.useState(false);\n const [hoveredCell, setHoveredCell] = import_react14.default.useState(null);\n const [tooltipData, setTooltipData] = import_react14.default.useState({\n visible: false,\n month: \"\",\n day: 0,\n value: 0,\n position: { x: 0, y: 0 },\n cellColor: \"rgba(77, 175, 131, 1)\"\n });\n const projects = [\"Project 1\", \"Project 2\"];\n const year = parseInt(selectedYear);\n const yearWeeks = getYearWeeks(year, calendarheatmapData || {}, selectedProject, selectedType);\n const dayRows = [[], [], [], [], [], [], []];\n yearWeeks.forEach((week, weekIdx) => {\n week.days.forEach((day, dayIdx) => {\n dayRows[dayIdx].push({ ...day, weekIdx });\n });\n });\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex items-center gap-3\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\n \"button\",\n {\n className: \"flex items-center gap-2 bg-transparent px-3 py-1.5 rounded hover:bg-gray-50 transition-colors border-none cursor-pointer\",\n onClick: () => setIsProjectDropdownOpen(!isProjectDropdownOpen),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(51,51,51,1)] font-[Poppins,sans-serif] text-sm sm:text-base font-semibold\", children: selectedProject }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"svg\",\n {\n width: \"12\",\n height: \"12\",\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n className: \"transition-transform duration-200\",\n style: { transform: isProjectDropdownOpen ? \"rotate(180deg)\" : \"rotate(0deg)\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"path\",\n {\n d: \"M2.5 4.5L6 8L9.5 4.5\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n )\n }\n )\n ]\n }\n ),\n isProjectDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"absolute top-full left-0 mt-1 bg-white border border-gray-200 rounded-lg shadow-lg z-50 min-w-[150px]\", children: projects.map((project, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"button\",\n {\n className: [\n \"w-full text-left px-4 py-2 bg-white border-none hover:bg-gray-50 transition-colors cursor-pointer\",\n idx === 0 ? \"rounded-tl-lg rounded-tr-lg\" : \"\",\n idx === projects.length - 1 ? \"rounded-bl-lg rounded-br-lg\" : \"\"\n ].join(\" \"),\n onClick: () => {\n onProjectChange(project);\n setIsProjectDropdownOpen(false);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(51,51,51,1)] font-[Poppins,sans-serif] text-sm sm:text-base font-semibold\", children: project })\n },\n project\n )) })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"button\", { className: \"w-8 h-8 flex items-center justify-center rounded bg-[rgba(224,242,229,1)] border-none cursor-pointer hover:bg-gray-100 transition-colors\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center justify-end gap-2 mb-6 pr-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[10px] font-medium mx-1\", children: \"Less\" }),\n LEGEND_COLORS.map((color) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"w-3.5 h-3.5 rounded-[2px]\",\n style: { backgroundColor: color }\n },\n color\n )),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[10px] font-medium mx-1\", children: \"More\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex-1 flex\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex flex-col justify-start pr-2 pt-5 shrink-0\", children: [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"].map((day, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"h-3.5 flex items-center justify-end text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[9px] font-medium mb-0.5\",\n children: day\n },\n idx\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex-1\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"min-w-max\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex gap-0.5 mb-1 h-[18px]\", children: yearWeeks.map((week, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"w-3.5 text-center\", children: week.monthLabel && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: week.monthLabel }) }, idx)) }),\n dayRows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex gap-0.5 mb-0.5\", children: row.map((cell, colIdx) => {\n const { date, value } = cell;\n const color = getActivityColor(value);\n const isCurrentYear = date.getFullYear() === year;\n const cellKey = `${rowIdx}-${colIdx}`;\n const isHovered = hoveredCell === cellKey;\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"w-3.5 h-3.5 rounded-[2px] relative transition-all duration-100\",\n style: {\n backgroundColor: isCurrentYear ? color : \"rgba(240,240,240,1)\",\n opacity: isCurrentYear ? 1 : 0.3,\n cursor: isCurrentYear ? \"pointer\" : \"default\",\n transform: isHovered && isCurrentYear ? \"scale(1.05)\" : \"scale(1)\"\n },\n onMouseEnter: (e) => {\n if (isCurrentYear) {\n setHoveredCell(cellKey);\n const rect = e.currentTarget.getBoundingClientRect();\n const monthName = date.toLocaleDateString(\"en-US\", { month: \"long\" });\n setTooltipData({\n visible: true,\n month: `${monthName} ${date.getFullYear()}`,\n day: date.getDate(),\n value,\n cellColor: color,\n position: { x: rect.left + rect.width / 2, y: rect.top }\n });\n }\n },\n onMouseLeave: () => {\n setHoveredCell(null);\n setTooltipData((prev) => ({ ...prev, visible: false }));\n },\n children: isCurrentYear && value > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"absolute inset-0 flex items-center justify-center pointer-events-none transition-opacity duration-200\",\n style: { opacity: isHovered ? 1 : 0 },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[6px] font-bold text-white [text-shadow:0_1px_1px_rgba(0,0,0,0.8)]\", children: date.getDate() })\n }\n )\n },\n colIdx\n );\n }) }, rowIdx))\n ] }) })\n ] }),\n tooltipData.visible && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"fixed pointer-events-none z-[9999]\",\n style: {\n left: tooltipData.position.x,\n top: tooltipData.position.y,\n transform: \"translate(-50%, -120%)\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\n \"div\",\n {\n className: \"flex flex-col min-w-[127px] max-w-[200px] w-max rounded-md bg-white\",\n style: {\n border: \"1px solid rgba(77, 175, 131, 0.72)\",\n boxShadow: \"0 4px 14px 0 rgba(77, 175, 131, 0.3)\",\n padding: \"8px 48px 11px 10px\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold leading-normal mb-1.5 whitespace-nowrap\", children: [\n tooltipData.month.split(\" \")[0],\n \" \",\n tooltipData.day\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"h-px bg-[rgba(234,234,234,1)] mb-1.5\",\n style: { marginLeft: \"-2px\", marginRight: \"-40px\", width: \"calc(100% + 42px)\" }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"shrink-0 w-3 h-3 rounded-[2px]\",\n style: { backgroundColor: tooltipData.cellColor }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"span\", { className: \"text-[rgba(129,129,129,1)] font-[Poppins,sans-serif] text-[11px] font-medium leading-normal whitespace-nowrap\", children: [\n \"Total \",\n tooltipData.value.toLocaleString(),\n \" activity\"\n ] })\n ] })\n ]\n }\n )\n }\n )\n ] });\n};\nCalendarHeatmapChart.displayName = \"CalendarHeatmapChart\";\n\n// src/components/LollipopChart.tsx\nvar import_jsx_runtime20 = require(\"react/jsx-runtime\");\nvar DEFAULT_COLORS = [\n \"rgba(37,99,235,1)\",\n \"rgba(16,185,129,1)\",\n \"rgba(245,158,11,1)\",\n \"rgba(239,68,68,1)\",\n \"rgba(147,51,234,1)\",\n \"rgba(236,72,153,1)\"\n];\nvar LollipopChart = ({\n title,\n items,\n orientation = \"horizontal\"\n}) => {\n if (!items || items.length === 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuButtonDots, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 flex items-center justify-center\", style: { color: \"rgba(107,114,128,1)\", fontSize: \"14px\" }, children: \"No data available\" })\n ] });\n }\n const maxValue = Math.max(...items.map((item) => item.value), 1);\n const gridPositions = [0, 25, 50, 75, 100];\n const axisLabels = gridPositions.map((pos) => Math.round(pos / 100 * maxValue));\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuButtonDots, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 flex flex-col gap-4 py-4 min-h-[300px] relative overflow-visible\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"w-full overflow-x-visible lg:overflow-x-auto\", children: orientation === \"horizontal\" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex flex-col gap-4 relative pl-[140px] w-full min-w-[800px] lg:min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"absolute left-[140px] right-0 top-0 bottom-0 pointer-events-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n gridPositions.slice(1).map((pos, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute top-0 bottom-0 w-px\", style: { left: `${pos}%`, background: \"rgba(229,231,235,0.8)\" } }, idx))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-[140px] right-0 bottom-0 h-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n items.map((item, index) => {\n const percentage = item.value / maxValue * 100;\n const color = item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length];\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center gap-4 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute text-right pr-4\", style: { width: \"120px\", left: \"-140px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { style: { color: \"rgba(55,65,81,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\", display: \"block\" }, className: \"sm:text-sm\", children: item.label }) }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex-1 relative h-10 flex items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"relative rounded-[2px] transition-all\",\n style: { width: `${percentage}%`, height: \"4px\", background: color },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute right-[-10px] top-1/2 w-5 h-5 rounded-full border-[3px] border-white transition-all hover:scale-110\",\n style: {\n transform: \"translateY(-50%)\",\n background: color,\n boxShadow: \"0 2px 4px rgba(0,0,0,0.1)\"\n }\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n className: \"ml-4 min-w-[50px] text-sm sm:text-base font-semibold\",\n style: { color: \"rgba(17,24,39,1)\", fontFamily: \"Poppins, sans-serif\" },\n children: item.value\n }\n )\n ] })\n ] }, `${item.label}-${index}`);\n })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex justify-between mt-2 pl-[140px]\", style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", color: \"rgba(107,114,128,1)\" }, children: axisLabels.map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { children: label }, idx)) })\n ] }) : (\n /* Vertical Chart */\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\n \"div\",\n {\n className: \"flex flex-col h-full w-full relative pb-[60px] pl-[50px] min-w-[800px] lg:min-w-0\",\n style: { minHeight: \"350px\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"absolute left-[50px] right-0 top-0 bottom-[60px] pointer-events-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 right-0 bottom-0 h-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n gridPositions.slice(1).map((pos, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 right-0 h-px\", style: { top: `${100 - pos}%`, background: \"rgba(229,231,235,0.8)\" } }, idx))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute left-0 top-0 bottom-0 flex flex-col justify-between text-right pr-[5px] w-[45px]\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", color: \"rgba(107,114,128,1)\" },\n children: [...axisLabels].reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { children: label }, idx))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex justify-around items-end w-full flex-1 gap-4 px-4 relative\", children: items.map((item, index) => {\n const percentage = item.value / maxValue * 100;\n const color = item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length];\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex flex-col items-center gap-2 flex-1 min-w-[60px] max-w-[100px] h-full relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 relative w-10 flex flex-col justify-end items-center h-full\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\n \"div\",\n {\n className: \"relative w-1 rounded-[2px] transition-all\",\n style: {\n height: `${percentage}%`,\n background: color,\n minHeight: percentage > 0 ? \"8px\" : \"0px\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute left-1/2 w-5 h-5 rounded-full border-[3px] border-white transition-all hover:scale-110\",\n style: {\n top: \"-10px\",\n transform: \"translateX(-50%)\",\n background: color,\n boxShadow: \"0 2px 4px rgba(0,0,0,0.1)\"\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n className: \"absolute left-1/2 whitespace-nowrap text-sm sm:text-base font-semibold text-center\",\n style: {\n top: \"-30px\",\n transform: \"translateX(-50%)\",\n color: \"rgba(17,24,39,1)\",\n fontFamily: \"Poppins, sans-serif\"\n },\n children: item.value\n }\n )\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute text-center\",\n style: { bottom: \"-50px\", left: \"50%\", transform: \"translateX(-50%)\", maxWidth: \"100px\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { style: { color: \"rgba(55,65,81,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500 }, className: \"sm:text-sm\", children: item.label })\n }\n )\n ] }, `${item.label}-${index}`);\n }) })\n ]\n }\n )\n ) }) })\n ] });\n};\nvar MenuButtonDots = () => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"button\", { className: \"w-8 h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { className: \"w-1 h-1 rounded-full\", style: { background: \"rgba(107,114,128,1)\" } }, i)) }) });\nLollipopChart.displayName = \"LollipopChart\";\n\n// src/components/ColumnChart.tsx\nvar import_jsx_runtime21 = require(\"react/jsx-runtime\");\nvar defaultGradient = \"linear-gradient(180deg, rgba(77, 175, 131, 1) 0%, rgba(23, 97, 163, 1) 100%)\";\nvar ColumnChart = ({\n title,\n columns,\n yAxisConfig\n}) => {\n const safeColumns = columns || [];\n const maxValue = yAxisConfig?.max || 8e3;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 2e3, 4e3, 6e3, 8e3];\n const formatValue = (value) => {\n if (value >= 1e3) return `${(value / 1e3).toFixed(1)}k`;\n return value.toString();\n };\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n const percentage = (value - minValue) / (maxValue - minValue) * 100;\n return Math.max(0, Math.min(100, percentage));\n };\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-sm font-semibold leading-normal sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"button\", { className: \"w-6 h-6 flex items-center justify-center rounded hover:bg-[rgba(243,244,246,1)] bg-transparent border-none cursor-pointer transition-colors sm:w-8 sm:h-8\", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex flex-col flex-1 relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex flex-row w-full flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"flex flex-col justify-between items-end pr-2 w-10 h-[250px] flex-shrink-0\", children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"span\",\n {\n className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-normal sm:text-xs\",\n children: label >= 1e3 ? `${label / 1e3}k` : label\n },\n `y-${idx}`\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col h-[250px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n \"data-testid\": `column-${idx}`,\n className: \"absolute left-0 right-0 h-px bg-[rgba(229,231,235,1)] z-[1]\",\n style: { top: `${position}%` }\n },\n `grid-${idx}`\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-0.5 bg-[rgba(125,125,125,1)] z-[2]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-0.5 bg-[rgba(125,125,125,1)] z-[2]\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10 gap-0\", children: safeColumns.map((column, index) => {\n const columnHeightPercentage = calculateHeight(column.value);\n const gradient = column.gradient || column.color || defaultGradient;\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex-1 flex flex-col items-center justify-end relative max-w-[100px] h-full px-1\",\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"w-full max-w-[60px] rounded-t-[4px] rounded-b-none relative transition-all duration-300 min-h-[2px] hover:opacity-85 hover:-translate-y-0.5\",\n style: {\n height: `${columnHeightPercentage}%`,\n background: gradient\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute top-[-24px] left-1/2 -translate-x-1/2 text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[11px] font-medium whitespace-nowrap sm:text-xs sm:top-[-26px]\", children: formatValue(column.value) })\n }\n )\n },\n `${column.name}-${index}`\n );\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex justify-start px-[10px] mt-3\",\n style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" },\n children: safeColumns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex-1 flex justify-center items-start max-w-[100px] px-1 min-w-0\",\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[11px] font-normal text-center break-words hyphens-auto leading-[1.3] max-w-full whitespace-normal sm:text-xs\", children: column.name })\n },\n `label-${index}`\n ))\n }\n )\n ] })\n ] });\n};\nColumnChart.displayName = \"ColumnChart\";\n\n// src/components/KPIChart.tsx\nvar import_react15 = __toESM(require(\"react\"));\nvar import_jsx_runtime22 = require(\"react/jsx-runtime\");\nvar createLinearPath = (points) => {\n if (points.length === 0) return \"\";\n if (points.length === 1) return `M ${points[0].x},${points[0].y}`;\n let path = `M ${points[0].x},${points[0].y}`;\n for (let i = 1; i < points.length; i++) path += ` L ${points[i].x},${points[i].y}`;\n return path;\n};\nvar createAreaPath = (points, height) => {\n if (points.length === 0) return \"\";\n const linePath = createLinearPath(points);\n const lastPoint = points[points.length - 1];\n const firstPoint = points[0];\n return `${linePath} L ${lastPoint.x},${height} L ${firstPoint.x},${height} Z`;\n};\nvar calculatePercentageChange = (data) => {\n if (!data || data.length < 2) return 0;\n const firstValue = data[0];\n const lastValue = data[data.length - 1];\n if (firstValue === 0) return lastValue > 0 ? 100 : lastValue < 0 ? -100 : 0;\n return Math.round((lastValue - firstValue) / Math.abs(firstValue) * 1e3) / 10;\n};\nvar getTimeLabel = (period, dataLength, timestamps) => {\n switch (period) {\n case \"1D\":\n return \"Last 1 Day\";\n case \"1W\":\n return \"Last 1 Week\";\n case \"1M\":\n return \"Last 1 Month\";\n case \"6M\":\n return \"Last 6 Months\";\n case \"1Y\":\n return \"Last 1 Year\";\n case \"MAX\":\n if (timestamps && timestamps.length >= 2) {\n const startDate = new Date(timestamps[0]);\n const endDate = new Date(timestamps[timestamps.length - 1]);\n const monthsDiff = (endDate.getFullYear() - startDate.getFullYear()) * 12 + (endDate.getMonth() - startDate.getMonth());\n if (monthsDiff === 0) {\n const daysDiff = Math.ceil((endDate.getTime() - startDate.getTime()) / 864e5);\n return `Last ${daysDiff} Day${daysDiff > 1 ? \"s\" : \"\"}`;\n } else if (monthsDiff < 12) {\n return `Last ${monthsDiff} Month${monthsDiff > 1 ? \"s\" : \"\"}`;\n } else {\n const years = Math.floor(monthsDiff / 12);\n const months = monthsDiff % 12;\n return months === 0 ? `Last ${years} Year${years > 1 ? \"s\" : \"\"}` : `Last ${years}y ${months}m`;\n }\n }\n return `All Data (${dataLength} points)`;\n default:\n return \"All Data\";\n }\n};\nvar getDateRange = (period, filteredTimestamps, allTimestamps) => {\n if (period === \"MAX\" && allTimestamps && allTimestamps.length >= 2) {\n return formatDateRange(new Date(allTimestamps[0]), new Date(allTimestamps[allTimestamps.length - 1]));\n }\n if (filteredTimestamps && filteredTimestamps.length >= 2) {\n return formatDateRange(new Date(filteredTimestamps[0]), new Date(filteredTimestamps[filteredTimestamps.length - 1]));\n } else if (filteredTimestamps && filteredTimestamps.length === 1) {\n return formatSingleDate(new Date(filteredTimestamps[0]));\n }\n return \"No Date Range\";\n};\nvar formatDateRange = (startDate, endDate) => {\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n const sameYear = startDate.getFullYear() === endDate.getFullYear();\n const sm = monthNames[startDate.getMonth()];\n const sd = String(startDate.getDate()).padStart(2, \"0\");\n const sy = startDate.getFullYear();\n const em = monthNames[endDate.getMonth()];\n const ed = String(endDate.getDate()).padStart(2, \"0\");\n const ey = endDate.getFullYear();\n return sameYear ? `${sm} ${sd} - ${em} ${ed}` : `${sm} ${sd} ${sy} - ${em} ${ed} ${ey}`;\n};\nvar formatSingleDate = (date) => {\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n return `${monthNames[date.getMonth()]} ${String(date.getDate()).padStart(2, \"0\")}, ${date.getFullYear()}`;\n};\nvar calculateSum = (data) => data?.reduce((s, v) => s + v, 0) ?? 0;\nvar formatCurrencyValue = (value) => {\n if (value === 0) return \"$0\";\n const abs = Math.abs(value);\n const prefix = value < 0 ? \"-\" : \"\";\n if (abs >= 1e9) return `${prefix}$${(abs / 1e9).toFixed(1)}B`;\n if (abs >= 1e6) return `${prefix}$${(abs / 1e6).toFixed(1)}M`;\n if (abs >= 1e3) return `${prefix}$${(abs / 1e3).toFixed(1)}K`;\n return `${prefix}$${abs.toFixed(0)}`;\n};\nvar KPIChart = ({ data }) => {\n const [hoveredIndex, setHoveredIndex] = import_react15.default.useState(null);\n const [tooltipPos, setTooltipPos] = import_react15.default.useState({ x: 0, y: 0 });\n const [selectedPeriod, setSelectedPeriod] = import_react15.default.useState(\n data.timePeriods && data.timePeriods.length > 0 ? data.timePeriods[data.timePeriods.length - 1] : \"MAX\"\n );\n const containerRef = import_react15.default.useRef(null);\n const { filteredData, filteredTimestamps } = (0, import_react15.useMemo)(() => {\n if (!data.timePeriods || !data.timestamps || selectedPeriod === \"MAX\") {\n return { filteredData: data.data, filteredTimestamps: data.timestamps || [] };\n }\n const now = /* @__PURE__ */ new Date();\n let cutoffDate = /* @__PURE__ */ new Date();\n switch (selectedPeriod) {\n case \"1D\":\n cutoffDate.setDate(now.getDate() - 1);\n break;\n case \"1W\":\n cutoffDate.setDate(now.getDate() - 7);\n break;\n case \"1M\":\n cutoffDate.setMonth(now.getMonth() - 1);\n break;\n case \"6M\":\n cutoffDate.setMonth(now.getMonth() - 6);\n break;\n case \"1Y\":\n cutoffDate.setFullYear(now.getFullYear() - 1);\n break;\n default:\n return { filteredData: data.data, filteredTimestamps: data.timestamps || [] };\n }\n const filtered = [];\n const filteredTS = [];\n data.timestamps.forEach((timestamp, index) => {\n const dataDate = new Date(timestamp);\n if (dataDate >= cutoffDate && dataDate <= now && index < data.data.length) {\n filtered.push(data.data[index]);\n filteredTS.push(timestamp);\n }\n });\n return {\n filteredData: filtered.length > 0 ? filtered : data.data,\n filteredTimestamps: filteredTS.length > 0 ? filteredTS : data.timestamps || []\n };\n }, [data.data, data.timestamps, data.timePeriods, selectedPeriod]);\n const percentageChange = (0, import_react15.useMemo)(() => calculatePercentageChange(filteredData), [filteredData]);\n const isPositive = percentageChange >= 0;\n const dynamicTimeLabel = (0, import_react15.useMemo)(() => getTimeLabel(selectedPeriod, filteredData.length, data.timestamps), [selectedPeriod, filteredData.length, data.timestamps]);\n const dynamicDateRange = (0, import_react15.useMemo)(() => getDateRange(selectedPeriod, filteredTimestamps, data.timestamps), [selectedPeriod, filteredTimestamps, data.timestamps]);\n const dynamicValue = (0, import_react15.useMemo)(() => formatCurrencyValue(calculateSum(filteredData)), [filteredData]);\n const { points, chartWidth, chartHeight } = (0, import_react15.useMemo)(() => {\n const width = 400;\n const height = 100;\n const padding = 5;\n if (!filteredData || filteredData.length === 0) return { points: [], minValue: 0, maxValue: 0, chartWidth: width, chartHeight: height };\n const min = Math.min(...filteredData);\n const max = Math.max(...filteredData);\n const range = max - min || 1;\n const calculatedPoints = filteredData.map((value, index) => ({\n x: padding + index / (filteredData.length - 1) * (width - padding * 2),\n y: height - padding - (value - min) / range * (height - padding * 2),\n value\n }));\n return { points: calculatedPoints, minValue: min, maxValue: max, chartWidth: width, chartHeight: height };\n }, [filteredData]);\n const linearPath = (0, import_react15.useMemo)(() => createLinearPath(points), [points]);\n const areaPath = (0, import_react15.useMemo)(() => createAreaPath(points, chartHeight), [points, chartHeight]);\n const gradientId = (0, import_react15.useMemo)(\n () => `kpi-gradient-${isPositive ? \"positive\" : \"negative\"}-${Math.random().toString(36).substr(2, 9)}`,\n [isPositive]\n );\n const handleMouseMove = (event) => {\n if (!containerRef.current || points.length === 0) return;\n const svg = event.currentTarget.ownerSVGElement;\n if (!svg) return;\n const rect = svg.getBoundingClientRect();\n const x = (event.clientX - rect.left) / rect.width * chartWidth;\n let nearestIndex = 0;\n let minDistance = Math.abs(points[0].x - x);\n points.forEach((point, index) => {\n const distance = Math.abs(point.x - x);\n if (distance < minDistance) {\n minDistance = distance;\n nearestIndex = index;\n }\n });\n setHoveredIndex(nearestIndex);\n setTooltipPos({\n x: points[nearestIndex].x / chartWidth * rect.width,\n y: points[nearestIndex].y / chartHeight * rect.height\n });\n };\n const positiveGradientStop = isPositive ? [\n { offset: \"0%\", color: \"rgba(34,197,94,0.2)\" },\n { offset: \"50%\", color: \"rgba(34,197,94,0.1)\" },\n { offset: \"100%\", color: \"rgba(34,197,94,0.02)\" }\n ] : [\n { offset: \"0%\", color: \"rgba(239,68,68,0.2)\" },\n { offset: \"50%\", color: \"rgba(239,68,68,0.1)\" },\n { offset: \"100%\", color: \"rgba(239,68,68,0.02)\" }\n ];\n const trendColor = isPositive ? \"rgba(34,197,94,1)\" : \"rgba(239,68,68,1)\";\n const changeIndicatorBg = isPositive ? \"rgba(209,250,229,1)\" : \"rgba(254,226,226,1)\";\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"div\",\n {\n ref: containerRef,\n className: \"w-full flex flex-col overflow-hidden rounded-[10px] p-4 sm:px-6 sm:pb-6 sm:pt-5\",\n style: {\n height: \"350px\",\n border: \"1px solid rgba(23,97,163,1)\",\n background: \"rgba(241,247,248,1)\",\n boxShadow: \"0 1px 2px 0 rgba(0,0,0,0.05)\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\"div\", { className: \"flex items-start justify-between mb-3 sm:mb-[14px] lg:mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"relative flex-1\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"h3\",\n {\n className: \"text-[13px] sm:text-sm lg:text-[15px] font-medium leading-[1.4]\",\n style: { color: \"rgba(148,163,184,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", letterSpacing: \"-0.01em\" },\n children: data.title\n }\n ) }),\n data.timePeriods && data.timePeriods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"absolute left-1/2 -translate-x-1/2 flex gap-[6px] sm:gap-2 items-center\", children: data.timePeriods.map((period) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => setSelectedPeriod(period),\n className: \"px-3 py-1 sm:px-[14px] sm:py-[5px] lg:px-4 lg:py-[6px] rounded-[20px] text-[11px] sm:text-xs lg:text-[13px] font-medium whitespace-nowrap border-none cursor-pointer transition-all\",\n style: {\n fontFamily: \"'Inter', 'Poppins', sans-serif\",\n backgroundColor: selectedPeriod === period ? \"rgba(23,97,163,1)\" : \"transparent\",\n color: selectedPeriod === period ? \"white\" : \"rgba(148,163,184,1)\"\n },\n children: period\n },\n period\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-[3px] sm:gap-1 px-2 sm:px-[10px] py-[3px] sm:py-1 rounded-[6px]\",\n style: { backgroundColor: changeIndicatorBg, transition: \"background-color 0.3s ease-in-out\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"svg\",\n {\n className: \"w-[11px] h-[11px] sm:w-3 sm:h-3 lg:w-[13px] lg:h-[13px]\",\n viewBox: \"0 0 12 12\",\n style: { fill: trendColor, transition: \"fill 0.3s ease-in-out\" },\n children: isPositive ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: \"M6 2L10 6H8V10H4V6H2L6 2Z\" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: \"M6 10L2 6H4V2H8V6H10L6 10Z\" })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"span\",\n {\n className: \"text-[11px] sm:text-xs lg:text-[13px] font-semibold\",\n style: { color: trendColor, fontFamily: \"'Inter', 'Poppins', sans-serif\", transition: \"color 0.3s ease-in-out\" },\n children: [\n Math.abs(percentageChange),\n \"%\"\n ]\n }\n )\n ]\n }\n ) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"mb-[14px] sm:mb-4 lg:mb-[18px]\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"text-[28px] sm:text-[36px] md:text-[40px] lg:text-[42px] xl:text-[44px] font-bold leading-[1.1]\",\n style: { color: \"rgba(15,23,42,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", letterSpacing: \"-0.02em\", transition: \"opacity 0.3s ease-in-out\" },\n children: dynamicValue\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\"div\", { className: \"flex-1 relative min-h-[100px] sm:min-h-[110px] lg:min-h-[120px] mb-3 sm:mb-[14px] lg:mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"svg\",\n {\n className: \"w-full h-full overflow-visible\",\n viewBox: `0 0 ${chartWidth} ${chartHeight}`,\n preserveAspectRatio: \"none\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"linearGradient\", { id: gradientId, x1: \"0%\", y1: \"0%\", x2: \"0%\", y2: \"100%\", children: positiveGradientStop.map((s) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"stop\", { offset: s.offset, stopColor: s.color }, s.offset)) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: areaPath, fill: `url(#${gradientId})`, stroke: \"none\", style: { transition: \"d 0.4s ease-in-out, fill 0.3s ease-in-out\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"path\",\n {\n d: linearPath,\n fill: \"none\",\n stroke: trendColor,\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n style: { transition: \"d 0.4s ease-in-out, stroke 0.3s ease-in-out\" }\n }\n ),\n hoveredIndex !== null && points[hoveredIndex] && !isNaN(points[hoveredIndex].x) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"line\",\n {\n x1: points[hoveredIndex].x,\n y1: \"0\",\n x2: points[hoveredIndex].x,\n y2: chartHeight,\n stroke: \"rgba(148,163,184,0.3)\",\n strokeWidth: \"1\",\n strokeDasharray: \"4 4\",\n style: { opacity: 1, transition: \"opacity 0.2s\" }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"circle\",\n {\n cx: points[hoveredIndex].x,\n cy: points[hoveredIndex].y,\n r: \"3.5\",\n fill: trendColor,\n stroke: \"white\",\n strokeWidth: \"1\",\n style: { opacity: 1, transition: \"opacity 0.2s\" }\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"rect\",\n {\n x: \"0\",\n y: \"0\",\n width: chartWidth,\n height: chartHeight,\n fill: \"transparent\",\n style: { cursor: \"crosshair\" },\n onMouseMove: handleMouseMove,\n onMouseLeave: () => setHoveredIndex(null)\n }\n )\n ]\n }\n ),\n hoveredIndex !== null && points[hoveredIndex] && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"absolute pointer-events-none z-10 rounded-[6px] text-xs sm:text-[13px] lg:text-sm font-semibold whitespace-nowrap px-[10px] py-[6px] sm:px-3 sm:py-2 lg:px-[14px] lg:py-[10px]\",\n style: {\n left: tooltipPos.x,\n top: tooltipPos.y,\n backgroundColor: \"rgba(220,235,238,1)\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"'Inter', 'Poppins', sans-serif\",\n transform: \"translate(-50%, -100%) translateY(-8px)\",\n boxShadow: \"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06)\",\n border: \"1px solid rgba(23,97,163,0.2)\",\n opacity: 1,\n transition: \"opacity 0.2s\"\n },\n children: points[hoveredIndex].value.toLocaleString()\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"flex items-center justify-between pt-[10px] sm:pt-3 lg:pt-[14px] flex-shrink-0\",\n style: { borderTop: \"1px solid rgba(226,232,240,0.6)\" },\n children: [dynamicTimeLabel, dynamicDateRange].map((text, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"span\",\n {\n className: \"text-[11px] sm:text-xs lg:text-[13px] font-medium\",\n style: { color: \"rgba(148,163,184,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", transition: \"opacity 0.3s ease-in-out\" },\n children: text\n },\n i\n ))\n }\n )\n ]\n }\n );\n};\nKPIChart.displayName = \"KPIChart\";\n\n// src/components/GroupBarChart.tsx\nvar import_jsx_runtime23 = require(\"react/jsx-runtime\");\nvar DEFAULT_BAR_COLORS = {\n revenue: \"rgba(23,97,163,1)\",\n profit: \"rgba(77,175,131,1)\",\n loss: \"rgba(220,38,38,1)\",\n cost: \"rgba(47,164,169,1)\"\n};\nvar GroupBarChart = ({\n title,\n groups,\n legends,\n yAxisConfig\n}) => {\n const safeGroups = groups || [];\n const maxValue = yAxisConfig?.max || 125;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 25, 50, 75, 100, 125];\n const getColorMap = () => {\n if (!legends || legends.length === 0) return DEFAULT_BAR_COLORS;\n const colorMap = {};\n legends.forEach((legend) => {\n colorMap[legend.key] = legend.color;\n });\n return colorMap;\n };\n const BAR_COLORS = getColorMap();\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n return Math.max(0, Math.min(100, (value - minValue) / (maxValue - minValue) * 100));\n };\n const getProfitOrLoss = (group) => {\n if (group.profitOrLoss !== void 0 && group.profitOrLoss !== null) return group.profitOrLoss;\n return group.revenue - group.cost;\n };\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 },\n className: \"sm:text-base\",\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"button\", { className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 flex flex-col relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 relative flex flex-row w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex flex-col justify-between items-end pr-2 flex-shrink-0\", style: { width: \"40px\", height: \"250px\" }, children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"span\",\n {\n style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 },\n className: \"sm:text-xs\",\n children: label\n },\n idx\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col\", style: { height: \"250px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"absolute left-0 right-0 h-px z-[1]\",\n style: { top: `${position}%`, backgroundColor: \"rgba(229,231,235,1)\" }\n },\n idx\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10\", children: safeGroups.map((group, index) => {\n const profitOrLossValue = getProfitOrLoss(group);\n const isProfitable = profitOrLossValue >= 0;\n const profitLossColor = isProfitable ? BAR_COLORS.profit : BAR_COLORS.loss;\n const profitLossAbsValue = Math.abs(profitOrLossValue);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex flex-row items-end justify-center relative h-full gap-1 px-2\", children: [\n { value: group.revenue, color: BAR_COLORS.revenue },\n { value: profitLossAbsValue, color: profitLossColor },\n { value: group.cost, color: BAR_COLORS.cost }\n ].map(({ value, color }, barIdx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex flex-col items-center justify-end relative max-w-[30px] h-full\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"w-full rounded-t min-h-[2px] relative transition-all hover:opacity-85 hover:-translate-y-[2px]\",\n style: { height: `${calculateHeight(value)}%`, background: color },\n children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"absolute whitespace-nowrap left-1/2 -translate-x-1/2\",\n style: {\n top: \"-24px\",\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n children: value.toString()\n }\n )\n }\n ) }, barIdx)) }, `${group.name}-${index}`);\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex justify-start px-[10px] mt-3\", style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" }, children: safeGroups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex justify-center items-start px-2 min-w-0\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400,\n textAlign: \"center\",\n wordBreak: \"break-word\",\n overflowWrap: \"break-word\",\n lineHeight: 1.3,\n whiteSpace: \"normal\"\n },\n className: \"sm:text-xs\",\n children: group.name\n }\n ) }, index)) })\n ] })\n ] });\n};\nGroupBarChart.displayName = \"GroupBarChart\";\n\n// src/components/StackBarChart.tsx\nvar import_react16 = require(\"react\");\nvar import_jsx_runtime24 = require(\"react/jsx-runtime\");\nvar DEFAULT_COLORS2 = {\n aggregating: \"rgba(37,99,235,1)\",\n outstanding: \"rgba(34,197,94,1)\",\n writeOff: \"rgba(239,68,68,1)\"\n};\nvar StackBarChart = ({\n title,\n data,\n legends,\n yAxisConfig\n}) => {\n const [tooltip, setTooltip] = (0, import_react16.useState)(null);\n const safeData = data || [];\n const maxValue = yAxisConfig?.max || 125;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 25, 50, 75, 100, 125];\n const getColorMap = () => {\n if (!legends || legends.length === 0) return DEFAULT_COLORS2;\n const colorMap = {};\n legends.forEach((legend) => {\n colorMap[legend.key] = legend.color;\n });\n return colorMap;\n };\n const COLORS = getColorMap();\n const getLabel = (key) => {\n if (legends && legends.length > 0) {\n const legend = legends.find((l) => l.key === key);\n if (legend) return legend.label;\n }\n const defaultLabels = {\n aggregating: \"Aggregating Amount\",\n outstanding: \"Outstanding Amount\",\n writeOff: \"Write-Off Amount\"\n };\n return defaultLabels[key] || key;\n };\n const formatValue = (value) => {\n if (value >= 1e3) return `$${(value / 1e3).toFixed(0)}k`;\n return `$${value}`;\n };\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n return Math.max(0, Math.min(100, (value - minValue) / (maxValue - minValue) * 100));\n };\n const handleSegmentMouseEnter = (event, dayData, type) => {\n const rect = event.currentTarget.getBoundingClientRect();\n setTooltip({ day: dayData.day, type, value: dayData[type], label: getLabel(type), x: rect.left + rect.width / 2, y: rect.top });\n };\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"button\", { className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 flex flex-col relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 relative flex flex-row w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex flex-col justify-between items-start pr-2 flex-shrink-0\", style: { width: \"40px\", height: \"250px\" }, children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"span\", { style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 }, className: \"sm:text-xs\", children: [\n \"$\",\n label\n ] }, idx)) }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col\", style: { height: \"250px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute left-0 right-0 h-px z-[1]\", style: { top: `${position}%`, backgroundColor: \"rgba(229,231,235,1)\" } }, idx);\n }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10\", children: safeData.map((dayData, index) => {\n const total = dayData.aggregating + dayData.outstanding + dayData.writeOff;\n const totalHeight = calculateHeight(total);\n const aggregatingPercent = total > 0 ? dayData.aggregating / total * 100 : 0;\n const outstandingPercent = total > 0 ? dayData.outstanding / total * 100 : 0;\n const writeOffPercent = total > 0 ? dayData.writeOff / total * 100 : 0;\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex-1 flex flex-col items-center justify-end relative max-w-[100px] h-full px-2\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\n \"div\",\n {\n className: \"w-full max-w-[60px] relative flex flex-col-reverse rounded-t overflow-hidden transition-all\",\n style: { height: `${totalHeight}%` },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"absolute whitespace-nowrap left-1/2 -translate-x-1/2 text-[11px] sm:text-xs font-medium\",\n style: { top: \"-24px\", color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\" },\n children: formatValue(total)\n }\n ),\n dayData.writeOff > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${writeOffPercent}%`, backgroundColor: COLORS.writeOff || DEFAULT_COLORS2.writeOff },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"writeOff\"),\n onMouseLeave: () => setTooltip(null)\n }\n ),\n dayData.outstanding > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${outstandingPercent}%`, backgroundColor: COLORS.outstanding || DEFAULT_COLORS2.outstanding },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"outstanding\"),\n onMouseLeave: () => setTooltip(null)\n }\n ),\n dayData.aggregating > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${aggregatingPercent}%`, backgroundColor: COLORS.aggregating || DEFAULT_COLORS2.aggregating },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"aggregating\"),\n onMouseLeave: () => setTooltip(null)\n }\n )\n ]\n }\n ) }, `${dayData.day}-${index}`);\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex justify-start px-[10px] mt-3\", style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" }, children: safeData.map((dayData, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex-1 flex justify-center items-start max-w-[100px] px-2 min-w-0\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400,\n textAlign: \"center\",\n wordBreak: \"break-word\",\n overflowWrap: \"break-word\",\n lineHeight: 1.3,\n whiteSpace: \"normal\"\n },\n className: \"sm:text-xs\",\n children: dayData.day\n }\n ) }, index)) })\n ] }),\n tooltip && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\n \"div\",\n {\n className: \"fixed pointer-events-none z-[9999] rounded-lg text-xs sm:text-[13px] font-medium px-[14px] py-[10px] sm:px-4 sm:py-3 whitespace-nowrap\",\n style: {\n left: tooltip.x,\n top: tooltip.y,\n backgroundColor: \"rgba(158,153,153,0.75)\",\n backdropFilter: \"blur(10px)\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n boxShadow: \"0 2px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04)\",\n border: \"1px solid rgba(209,213,219,0.94)\",\n transform: \"translate(-50%, -100%) translateY(-10px)\",\n opacity: 1\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"text-[11px] sm:text-xs font-normal mb-1\", style: { color: \"rgba(0,0,0,0.7)\" }, children: [\n tooltip.day,\n \" - \",\n tooltip.label\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"text-sm sm:text-[15px] font-semibold\", style: { color: \"rgba(0,0,0,1)\" }, children: [\n \"$\",\n tooltip.value\n ] })\n ]\n }\n )\n ] });\n};\nStackBarChart.displayName = \"StackBarChart\";\n\n// src/components/MahatiChartAnalyticsWidget.tsx\nvar import_jsx_runtime25 = require(\"react/jsx-runtime\");\nvar assetSrc3 = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar FALLBACK_ICONS = {\n performancePeakIcon: \"/chart-icons/performance-peak-icon.png\",\n calendarIcon: \"/chart-icons/calendar-3.png\",\n increaseIcon: \"/chart-icons/increase.png\",\n decreaseIcon: \"/chart-icons/decrease.png\"\n};\nvar getIconSrc = (imported, fallback) => {\n const src = assetSrc3(imported);\n return src || fallback;\n};\nvar performancePeakIcon = \"\";\nvar calendarIcon = \"\";\nvar increaseIcon = \"\";\nvar decreaseIcon = \"\";\ntry {\n performancePeakIcon = require_performance_peak_icon();\n calendarIcon = require_calendar_3();\n increaseIcon = require_increase();\n decreaseIcon = require_decrease();\n} catch (e) {\n}\nvar colorToClass = (color) => {\n const c = typeof color === \"string\" ? color.toLowerCase() : \"\";\n if (c.startsWith(\"rgba(\") || c.startsWith(\"rgb(\")) return c;\n const map = {\n \"#7dcfaf\": \"#7DCFAF\",\n \"#f28a18\": \"#F28A18\",\n \"#2094f3\": \"#2094F3\",\n \"#909592\": \"#909592\",\n \"#bcc6cb\": \"#BCC6CB\",\n \"#3b82f6\": \"#3B82F6\",\n \"#10b981\": \"#10B981\",\n \"#ef4444\": \"#EF4444\",\n \"#f97316\": \"#F97316\",\n \"#f59e0b\": \"#F59E0B\",\n \"#8b5cf6\": \"#8B5CF6\",\n \"#ec4899\": \"#EC4899\",\n \"#6366f1\": \"#6366F1\"\n };\n return map[c] || (typeof color === \"string\" ? color : \"#D1D5DB\");\n};\nvar getStatusColors = (status) => {\n const statusConfig = {\n \"In Progress\": { textColor: \"rgba(23,97,163,1)\", backgroundColor: \"rgba(23,97,163,0.15)\" },\n \"Overdue\": { textColor: \"rgba(220,38,38,1)\", backgroundColor: \"rgba(239,68,68,0.15)\" },\n \"On Target\": { textColor: \"rgba(46,158,120,1)\", backgroundColor: \"rgba(70,194,155,0.15)\" }\n };\n return statusConfig[status] || statusConfig[\"In Progress\"];\n};\nvar tabLabel = (type) => {\n if (type === \"area\") return \"Area Line Chart\";\n if (type === \"bullet\") return \"Bullet Chart\";\n if (type === \"gauge\") return \"Gauge Chart\";\n if (type === \"riskgauge\") return \"KPI Risk Gauge Chart\";\n if (type === \"gantt\") return \"Gantt Chart\";\n if (type === \"calendarheatmap\") return \"Calendar Heat Map\";\n if (type === \"horizontalbar\") return \"Horizontal Bar Chart\";\n if (type === \"columnchart\") return \"Column Chart\";\n if (type === \"groupbar\") return \"Group Bar Chart\";\n if (type === \"stackbar\") return \"Stacked Bar Chart\";\n if (type === \"lollipop\") return \"Lollipop Chart\";\n if (type === \"kpi\") return \"KPI Chart\";\n return `${type.charAt(0).toUpperCase() + type.slice(1)} Chart`;\n};\nvar MenuDotsButton = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n className: \"w-8 h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" })\n ] })\n }\n);\nvar MahatiChartAnalyticsWidget = ({\n title,\n chartTypes,\n initialChartType,\n filters,\n chartFilters,\n selectedFilters,\n chartDataMap,\n bulletData,\n gaugeData,\n horizontalBarData,\n columnChartData,\n groupBarData,\n stackBarData,\n lollipopData,\n kpiData,\n riskGaugeData,\n ganttData,\n heatmapData,\n calendarheatmapData,\n onApplyFilters,\n quickStats,\n actionButtons,\n onChartTypeChange,\n onFiltersChange,\n details\n}) => {\n const [chartType, setChartType] = (0, import_react17.useState)(initialChartType);\n const [selectedGanttProject, setSelectedGanttProject] = (0, import_react17.useState)(\"Project 1\");\n const [selectedCalendarHeatmapProject, setSelectedCalendarHeatmapProject] = (0, import_react17.useState)(\"Project 1\");\n const currentFilters = (0, import_react17.useMemo)(() => {\n if (chartFilters && chartFilters[chartType]) return chartFilters[chartType] || [];\n return filters;\n }, [chartType, chartFilters, filters]);\n const currentData = (0, import_react17.useMemo)(() => {\n const base = chartDataMap[chartType];\n if (chartType === \"area\" && base) return makeAreaDataStraight(base);\n return base;\n }, [chartDataMap, chartType]);\n const isLineFamily = chartType === \"line\" || chartType === \"area\";\n const isPieFamily = chartType === \"pie\" || chartType === \"doughnut\";\n const bulletDetails = (0, import_react17.useMemo)(() => {\n if (chartType === \"bullet\" && bulletData?.bullets) {\n return bulletData.bullets.map((bullet) => {\n const percentageAchieved = Math.round(bullet.achieved / bullet.target * 100);\n return { label: bullet.name, value: `${percentageAchieved}% Done`, description: `${percentageAchieved}% of target achieved`, color: \"rgba(183,232,214,0.9)\" };\n });\n }\n return [];\n }, [chartType, bulletData]);\n const currentGanttData = (0, import_react17.useMemo)(() => {\n if (chartType === \"gantt\" && ganttData) {\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n const type = selectedFilters[\"SelectType\"] || \"Development\";\n const baseData = ganttData[year]?.[type];\n if (!baseData) return void 0;\n if (selectedGanttProject === \"Project 2\") {\n return {\n title: `${baseData.title} - ${selectedGanttProject}`,\n projectName: `${baseData.projectName} - ${selectedGanttProject}`,\n tasks: baseData.tasks.map((task) => {\n const newProgress = Math.max(0, task.progress - 20);\n let newStatus = task.status;\n if (task.progress <= 70 && task.status === \"On Target\") newStatus = \"In Progress\";\n return { ...task, progress: newProgress, status: newStatus };\n })\n };\n }\n return { ...baseData, title: `${baseData.title} - ${selectedGanttProject}`, projectName: `${baseData.projectName} - ${selectedGanttProject}` };\n }\n return void 0;\n }, [chartType, ganttData, selectedFilters, selectedGanttProject]);\n const currentHorizontalBarTopPerformer = (0, import_react17.useMemo)(() => {\n if (chartType !== \"horizontalbar\" || !horizontalBarData) return void 0;\n const selectedYear = selectedFilters[\"SelectYear\"] || \"2026\";\n const selectedMonth = selectedFilters[\"SelectMonth\"] || \"January\";\n const yearData = horizontalBarData[selectedYear];\n const monthData = yearData?.[selectedMonth];\n if (!monthData) return void 0;\n const monthOrder = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const currentMonthIndex = monthOrder.indexOf(selectedMonth);\n const previousMonth = currentMonthIndex > 0 ? monthOrder[currentMonthIndex - 1] : \"December\";\n const previousYear = currentMonthIndex > 0 ? selectedYear : String(Number(selectedYear) - 1);\n const previousYearData = horizontalBarData[previousYear];\n const previousMonthData = previousYearData?.[previousMonth];\n const products = Object.keys(monthData);\n let maxRevenue = 0, topProduct = \"\", minRevenue = Infinity, needsFocusProduct = \"\";\n products.forEach((product) => {\n const revenue = monthData[product].Revenue;\n if (revenue > maxRevenue) {\n maxRevenue = revenue;\n topProduct = product;\n }\n if (revenue < minRevenue) {\n minRevenue = revenue;\n needsFocusProduct = product;\n }\n });\n let percentageChange = 0, isIncrease = true;\n if (previousMonthData && previousMonthData[topProduct]) {\n const cur = monthData[topProduct].Revenue, prev = previousMonthData[topProduct].Revenue;\n if (prev !== 0) {\n percentageChange = (cur - prev) / prev * 100;\n isIncrease = percentageChange >= 0;\n }\n }\n const topProductData = monthData[topProduct];\n return { category: \"Category\", name: topProduct, revenue: `${topProductData.Revenue}k`, profit: `${topProductData.Profit}k`, needsFocus: needsFocusProduct, change: `${Math.abs(percentageChange).toFixed(0)}%`, isIncrease };\n }, [chartType, horizontalBarData, selectedFilters]);\n const calendarPeakAndActiveDay = (0, import_react17.useMemo)(() => {\n const empty = { peakDay: { date: \"\", dayName: \"\", value: 0 }, mostActiveDay: { dayName: \"\", count: 0, average: 0 } };\n if (chartType !== \"calendarheatmap\" || !calendarheatmapData) return empty;\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n const type = selectedFilters[\"SelectType\"] || \"Development\";\n const project = selectedCalendarHeatmapProject;\n if (!calendarheatmapData[project]?.[year]?.[type]) return empty;\n const yearData = calendarheatmapData[project][year][type];\n let allDayData = [];\n const dayOfWeekCounts = { Sunday: { total: 0, count: 0 }, Monday: { total: 0, count: 0 }, Tuesday: { total: 0, count: 0 }, Wednesday: { total: 0, count: 0 }, Thursday: { total: 0, count: 0 }, Friday: { total: 0, count: 0 }, Saturday: { total: 0, count: 0 } };\n Object.keys(yearData).forEach((monthName) => {\n const monthData = yearData[monthName];\n if (monthData?.data && Array.isArray(monthData.data)) {\n monthData.data.forEach((item) => {\n const [y, m, d] = item.date.split(\"-\").map((n) => parseInt(n));\n const dateObj = new Date(y, m - 1, d);\n const dayNames = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n const dayName = dayNames[dateObj.getDay()];\n allDayData.push({ date: item.date, value: item.value, dayName });\n if (dayOfWeekCounts[dayName]) {\n dayOfWeekCounts[dayName].total += item.value;\n dayOfWeekCounts[dayName].count += 1;\n }\n });\n }\n });\n let peakDay = { date: \"\", dayName: \"\", value: 0 };\n if (allDayData.length > 0) peakDay = allDayData.reduce((max, cur) => cur.value > max.value ? cur : max);\n let mostActiveDay = { dayName: \"\", count: 0, average: 0 };\n Object.entries(dayOfWeekCounts).forEach(([dayName, stats]) => {\n if (stats.count > 0) {\n const avg = stats.total / stats.count;\n if (avg > mostActiveDay.average) mostActiveDay = { dayName, count: stats.count, average: Math.round(avg) };\n }\n });\n return { peakDay, mostActiveDay };\n }, [chartType, calendarheatmapData, selectedFilters, selectedCalendarHeatmapProject]);\n const formatPeakDate = (dateStr) => {\n if (!dateStr) return \"Wed, 12 Jun\";\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", { weekday: \"short\", month: \"short\", day: \"numeric\" });\n } catch {\n return \"Wed, 12 Jun\";\n }\n };\n const currentBulletData = (0, import_react17.useMemo)(() => {\n if (!bulletData) return null;\n const year = selectedFilters.SelectYear || \"2026\";\n const month = selectedFilters.SelectMonth || \"January\";\n const type = selectedFilters.SelectType || \"Sales\";\n const yearData = bulletData[year];\n if (yearData) {\n const typeData = yearData[type];\n if (typeData) {\n const monthData = typeData[month];\n if (monthData?.bullets) return { title: monthData.title || bulletData.title, bullets: monthData.bullets };\n }\n }\n return { title: bulletData.title, bullets: bulletData.bullets };\n }, [bulletData, selectedFilters]);\n const currentKPIData = (0, import_react17.useMemo)(() => {\n if (chartType !== \"kpi\" || !kpiData) return null;\n const kpiKey = selectedFilters[\"SelectKPI\"];\n if (!kpiKey) return kpiData[Object.keys(kpiData)[0]] || null;\n return kpiData[kpiKey] || null;\n }, [chartType, kpiData, selectedFilters]);\n const renderChart = () => {\n switch (chartType) {\n case \"pie\":\n case \"doughnut\":\n case \"line\":\n case \"area\":\n case \"bar\":\n if (currentData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PieLineBarChart, { chartType, data: currentData });\n return null;\n case \"bullet\":\n if (currentBulletData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(BulletChart, { title: currentBulletData.title, bullets: currentBulletData.bullets });\n return null;\n case \"gauge\": {\n if (gaugeData) {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n let currentGauge = gaugeData.gauges || [];\n if (gaugeData[sy]?.[sm]) currentGauge = gaugeData[sy][sm];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GaugeChart, { title: \"Performance Metrics\", gauges: currentGauge });\n }\n return null;\n }\n case \"gantt\": {\n if (currentGanttData) {\n const month = selectedFilters[\"SelectMonth\"] || \"Jan - Feb\";\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GanttChart, { data: currentGanttData, selectedYear: year, selectedMonth: month, selectedProject: selectedGanttProject, onProjectChange: setSelectedGanttProject });\n }\n return null;\n }\n case \"calendarheatmap\": {\n if (calendarheatmapData?.[selectedCalendarHeatmapProject]) {\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n const type = selectedFilters[\"SelectType\"] || \"Development\";\n const projectData = calendarheatmapData[selectedCalendarHeatmapProject];\n const yearData = projectData[year];\n if (!yearData?.[type]) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CalendarHeatmapChart, { data: yearData[type], selectedProject: selectedCalendarHeatmapProject, selectedYear: year, selectedType: type, onProjectChange: setSelectedCalendarHeatmapProject, calendarheatmapData });\n }\n return null;\n }\n case \"horizontalbar\": {\n if (!horizontalBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const sp = selectedFilters[\"SelectType\"] || \"Product 1\";\n const yearData = horizontalBarData[sy];\n const monthData = yearData?.[sm];\n const productData = monthData?.[sp];\n const xAxisConfig = horizontalBarData.xAxis?.[sy];\n const bars = productData ? [\n { name: \"Revenue\", value: productData.Revenue, color: \"rgba(23,97,163,1)\" },\n { name: \"Profit\", value: productData.Profit, color: \"rgba(70,194,155,1)\" },\n { name: \"Cost\", value: productData.Cost, color: \"rgba(47,164,169,1)\" }\n ] : [];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(HorizontalBarChart, { title: horizontalBarData.title, bars, selectedYear: sy, selectedMonth: sm, selectedType: sp, xAxisConfig, topPerformer: currentHorizontalBarTopPerformer });\n }\n case \"columnchart\": {\n if (!columnChartData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const yearData = columnChartData?.[sy];\n const typeData = yearData?.[sm]?.[st] || [];\n const yAxisConfig = columnChartData.yAxis?.[sy];\n const columns = typeData.map((item) => ({ name: item.name, value: item.value, gradient: item.gradient || \"linear-gradient(180deg, rgba(77,175,131,1) 0%, rgba(23,97,163,1) 100%)\" }));\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ColumnChart, { title: columnChartData.title, columns, selectedYear: sy, selectedMonth: sm, selectedType: st, yAxisConfig });\n }\n case \"lollipop\": {\n if (!lollipopData) return null;\n const ly = selectedFilters[\"SelectYear\"] || \"2026\";\n const lm = selectedFilters[\"SelectMonth\"] || \"January\";\n const lc = selectedFilters[\"SelectType\"] || \"Category A\";\n const lo = selectedFilters[\"SelectOrientation\"] || \"horizontal\";\n const lYearData = lollipopData[ly] || {};\n const lCatData = lYearData?.[lm]?.[lc] || [];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(LollipopChart, { title: lollipopData.title, items: lCatData, selectedYear: ly, selectedMonth: lm, selectedCategory: lc, orientation: lo });\n }\n case \"kpi\":\n if (currentKPIData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(KPIChart, { data: currentKPIData });\n return null;\n case \"riskgauge\": {\n if (riskGaugeData) {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Credit Score\";\n let currentRiskGauges = riskGaugeData.gauges || [];\n if (riskGaugeData[sy]?.[sm]?.[st]) currentRiskGauges = riskGaugeData[sy][sm][st];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RiskGaugeChart, { title: \"KPI Risk Assessment Metrics\", gauges: currentRiskGauges });\n }\n return null;\n }\n case \"groupbar\": {\n if (!groupBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const groups = groupBarData?.[sy]?.[sm] || [];\n const yAxisConfig = groupBarData.yAxis?.[sy];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GroupBarChart, { title: groupBarData.title, groups, legends: groupBarData.legends, selectedYear: sy, selectedMonth: sm, yAxisConfig });\n }\n case \"stackbar\": {\n if (!stackBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const sw = selectedFilters[\"SelectWeek\"] || \"Week 1\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = stackBarData?.[sy]?.[sm]?.[sw]?.[st] || [];\n const yAxisConfig = stackBarData.yAxis?.[sy];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StackBarChart, { title: stackBarData.title, data: typeData, legends: stackBarData.legends, selectedYear: sy, selectedMonth: sm, selectedWeek: sw, selectedType: st, yAxisConfig, allData: stackBarData });\n }\n default:\n return null;\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"min-h-screen bg-white\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"bg-white p-4 sm:px-6 md:px-8\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-wrap gap-2\", children: chartTypes.map((type) => {\n const isActive = chartType === type;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => {\n setChartType(type);\n onChartTypeChange?.(type);\n },\n \"aria-pressed\": isActive,\n className: `\n relative px-4 py-2 text-xs font-medium transition-all duration-200 rounded-full outline-none border cursor-pointer\n sm:px-6 sm:py-2.5 sm:text-sm\n focus-visible:shadow-[0_0_0_2px_rgba(23,97,163,0.35)]\n ${isActive ? \"text-white shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] border-[rgba(23,97,163,0.45)] bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\" : \"text-[rgba(55,65,81,1)] border-transparent bg-transparent hover:border-[rgba(23,97,163,0.25)] hover:bg-[rgba(23,97,163,0.05)]\"}\n `,\n children: tabLabel(type)\n },\n type\n );\n }) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"p-4 relative z-50 sm:px-6 md:px-8\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex gap-3 items-end flex-wrap relative sm:gap-4\", children: [\n currentFilters.map((filter, index) => {\n const options = filter.options.map((opt) => ({ key: opt, value: opt }));\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"div\",\n {\n className: \"relative\",\n style: { zIndex: 50 + (currentFilters.length - index) },\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n ChartDropdown,\n {\n options,\n value: selectedFilters[filter.id],\n onSelect: (val) => onFiltersChange({ ...selectedFilters, [filter.id]: String(val) }),\n variant: \"mahatiFilter\",\n label: filter.label\n }\n )\n },\n filter.id\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => onApplyFilters?.(selectedFilters),\n className: \"w-[77px] h-[30px] rounded border border-[rgba(23,97,163,1)] bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)] text-white text-sm font-medium cursor-pointer transition-opacity hover:opacity-90\",\n children: \"Apply\"\n }\n )\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"p-4 overflow-y-visible sm:px-6 md:px-8\", children: [\n isPieFamily && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-visible sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center justify-end mb-4\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuDotsButton, {}) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-48 p-2 rounded-2xl sm:h-56 md:h-64\", children: renderChart() }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"mt-4 flex flex-col gap-2 text-sm sm:mt-6 sm:gap-3\", children: details.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-4 h-2 rounded-sm flex-shrink-0 sm:w-5 sm:h-2.5\", style: { backgroundColor: colorToClass(item.color) } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(55,65,81,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: item.label })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-semibold text-black text-xs ml-2 sm:text-sm\", children: item.value })\n ] }, idx)) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-base font-semibold text-[rgba(17,24,39,1)] mb-4 sm:text-lg sm:mb-6\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-3 sm:gap-5\", children: details.map((item, idx) => {\n const statusColors = item.status ? getStatusColors(item.status) : null;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"inline-block flex-shrink-0 w-[18px] h-[10px] rounded-sm\", style: { backgroundColor: colorToClass(item.color) } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-semibold text-[rgba(17,24,39,1)] text-xs overflow-hidden text-ellipsis whitespace-nowrap sm:text-sm\", children: item.label }),\n item.status && statusColors && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center justify-center w-12 h-4 rounded px-1 py-0.5\", style: { backgroundColor: statusColors.backgroundColor }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-[Poppins,sans-serif] font-semibold whitespace-nowrap text-[6px]\", style: { color: statusColors.textColor }, children: item.status }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-0.5 line-clamp-2 sm:text-xs\", children: item.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-bold text-[rgba(17,24,39,1)] text-xs ml-2 sm:text-sm\", children: item.value })\n ] }, idx);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 md:col-span-2 lg:col-span-1 sm:gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] mt-3 sm:text-[30px] sm:mt-4\", children: quickStats.totalVolume.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: `text-xs font-medium mt-1 sm:text-sm ${quickStats.totalVolume.change.startsWith(\"+\") ? \"text-[rgba(22,163,74,1)]\" : \"text-[rgba(220,38,38,1)]\"}`, children: quickStats.totalVolume.change }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-2 sm:text-xs\", children: quickStats.totalVolume.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Transactions\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] mt-3 sm:text-[30px] sm:mt-4\", children: quickStats.transactions.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-2 sm:text-xs\", children: quickStats.transactions.description })\n ] })\n ] })\n ] }),\n chartType === \"bullet\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { children: currentBulletData?.bullets.map((bullet, idx) => {\n const percentage = Math.round(bullet.achieved / bullet.target * 100);\n const getBadgeBg = (name) => {\n const n = name.toLowerCase();\n if (n.includes(\"revenue\")) return \"rgba(70,194,155,0.15)\";\n if (n.includes(\"profit\")) return \"rgba(239,68,68,0.15)\";\n if (n.includes(\"customer\")) return \"rgba(23,97,163,0.15)\";\n return \"rgba(229,231,235,1)\";\n };\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between items-center py-3 not-last:border-b border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-sm font-medium text-[rgba(17,24,39,1)]\", children: bullet.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs text-[rgba(107,114,128,1)]\", children: [\n bullet.achieved.toLocaleString(),\n \" / \",\n bullet.target.toLocaleString()\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"px-2 py-1 rounded text-sm font-medium\", style: { backgroundColor: getBadgeBg(bullet.name) }, children: [\n percentage,\n \"%\"\n ] })\n ] }, idx);\n }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 pt-4 mt-4 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-4 h-4 rounded-full bg-[rgba(96,165,250,1)] flex items-center justify-center flex-shrink-0 mt-0.5\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-bold text-white\", children: \"i\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"p\", { className: \"text-xs text-[rgba(107,114,128,1)] m-0 leading-relaxed\", children: [\n \"Suggested Actions: \",\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-semibold text-[rgba(17,24,39,1)]\", children: \"Optimizing pricing or reduce operational costs.\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n QuickInsightsCard,\n {\n totalVolume: \"$33,850.00\",\n peakIconSrc: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon),\n peakDate: \"Wed, 12 Jun\",\n peakEvents: \"5,600 events\",\n calendarIconSrc: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon),\n activeDayLabel: \"Most Active Day\",\n activeDayValue: \"Wednesday\",\n activeAvg: \"Avg 920 / day\",\n dateLabel: (/* @__PURE__ */ new Date()).toLocaleDateString(\"en-US\", { month: \"long\", year: \"numeric\" })\n }\n )\n ] })\n ] }),\n chartType === \"gauge\" && gaugeData && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n let currentGauge = gaugeData.gauges?.length > 0 ? gaugeData.gauges[0] : null;\n if (gaugeData[sy]?.[sm2]?.length > 0) currentGauge = gaugeData[sy][sm2][0];\n if (!currentGauge) return null;\n const gauge = currentGauge;\n const dailyAvgNeeded = Math.round(gauge.value / 30);\n const currentPace = 360;\n const daysRemaining = 8;\n const yearNum = parseInt(sy);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const monthIndex = monthNames.indexOf(sm2);\n const lastDayOfMonth = new Date(yearNum, monthIndex + 1, 0);\n const lastDay = lastDayOfMonth.getDate();\n const lastDayWeekday = lastDayOfMonth.getDay();\n let lastFriday = lastDayWeekday === 5 ? lastDay : lastDayWeekday < 5 ? lastDay - (lastDayWeekday + 2) : lastDay - 1;\n const formattedDate = new Date(yearNum, monthIndex, lastFriday).toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\" });\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: \"Goal Health\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-medium text-[rgba(46,158,120,1)]\", children: \"On Track\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-4 h-4 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-4 mb-4\", children: [[\"Current Pace\", `${currentPace} / day`], [\"Required Pace\", `${dailyAvgNeeded} / day`], [\"Days Remaining\", `${daysRemaining} days`], [\"Expected Finish\", formattedDate]].map(([label, value]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mb-1\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: value })\n ] }, label)) })\n ] });\n })(),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n QuickInsightsCard,\n {\n totalVolume: \"$33,850.00\",\n peakIconSrc: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon),\n peakDate: \"Wed, 12 Jun\",\n peakEvents: \"5,600 events\",\n calendarIconSrc: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon),\n activeDayLabel: \"Most Active Day\",\n activeDayValue: \"Wednesday\",\n activeAvg: \"Avg 920 / day\",\n dateLabel: (/* @__PURE__ */ new Date()).toLocaleDateString(\"en-US\", { month: \"long\", year: \"numeric\" })\n }\n )\n ] })\n ] }),\n chartType === \"riskgauge\" && riskGaugeData && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Credit Score\";\n let currentRiskGauge = riskGaugeData.gauges?.length > 0 ? riskGaugeData.gauges[0] : null;\n if (riskGaugeData[sy]?.[sm2]?.[st]?.length > 0) currentRiskGauge = riskGaugeData[sy][sm2][st][0];\n if (!currentRiskGauge) return null;\n const gauge = currentRiskGauge;\n const maxScore = gauge.max || 100;\n const dailyAvgNeeded = Math.round(gauge.score / 30);\n const currentPace = Math.round(gauge.score / 20);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: \"Risk Health\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-medium text-[rgba(46,158,120,1)]\", children: \"On Track\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-4 h-4 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-4\", children: [[\"Current Pace\", `${currentPace} / day`], [\"Required Pace\", `${dailyAvgNeeded} / day`], [\"Days Remaining\", \"8 days\"], [\"Max Score\", String(maxScore)]].map(([label, value]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mb-1\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: value })\n ] }, label)) })\n ] });\n })(),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-[276px] h-[191px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"absolute top-[17px] left-[19px] right-[17px] flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium\", children: `${selectedFilters[\"SelectYear\"] || \"2026\"} : ${selectedFilters[\"SelectMonth\"] || \"January\"}` })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[57px] left-[18px] text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Risk Score\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[80px] left-[18px] text-black font-[Poppins,sans-serif] text-lg font-semibold\", children: riskGaugeData?.[selectedFilters[\"SelectYear\"] || \"2026\"]?.[selectedFilters[\"SelectMonth\"] || \"January\"]?.[selectedFilters[\"SelectType\"] || \"Credit Score\"]?.[0]?.score || 0 }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[119px] left-[19px] right-[19px] h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[19px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon), alt: \"\", className: \"absolute top-1 left-1 w-3 h-3 object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[48px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Peak Performance\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[48px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: \"N/A\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[48px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"No data\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[164px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon), alt: \"\", className: \"absolute top-1 left-1 w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[193px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Assessment Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[193px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: \"Wednesday\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[193px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Avg Score: 0\" })\n ] })\n ] })\n ] }),\n chartType === \"gantt\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full overflow-hidden lg:grid-cols-[minmax(0,1fr)_minmax(0,205px)] lg:gap-1 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-x-auto sm:p-3 sm:min-h-[400px] lg:overflow-x-hidden lg:p-[22px_30px_55px_30px] lg:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col min-w-[650px] w-full lg:min-w-0\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 w-full min-w-0 lg:max-w-[205px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] max-h-[400px] overflow-y-auto sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sticky top-0 bg-[rgba(241,247,248,1)] pb-2 sm:text-sm sm:mb-4\", children: \"Quick Insights - All Titles\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[9px] text-[rgba(75,85,99,1)] mb-3 sticky top-5 bg-[rgba(241,247,248,1)] pb-1 sm:text-[10px]\", children: [\n \"Showing data for: \",\n selectedGanttProject\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: currentGanttData?.tasks.map((task) => {\n const taskColor = GANTT_COLORS[task.color] || GANTT_COLORS.blue;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pb-2 border-b border-[rgba(229,231,235,1)] last:border-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-3 h-3 rounded-full flex-shrink-0\", style: { background: taskColor } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-medium text-[rgba(17,24,39,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: task.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[8px] text-[rgba(107,114,128,1)] mt-0.5\", children: [\n task.progress,\n \"% complete\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[8px] font-semibold px-2 py-0.5 rounded whitespace-nowrap\", style: { backgroundColor: getStatusColors(task.status).backgroundColor, color: getStatusColors(task.status).textColor }, children: task.status })\n ] }, task.id);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Project Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(75,85,99,1)] mb-2 sm:text-[10px]\", children: \"Overall Status\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(254,242,242,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(220,38,38,1)] text-[10px] font-semibold sm:text-xs\", children: \"Overdue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"Overdue\").length || 0 })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(239,246,255,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(37,99,235,1)] text-[10px] font-semibold sm:text-xs\", children: \"In Progress\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"In Progress\").length || 0 })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-1 gap-2 mt-2\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(240,253,244,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(22,163,74,1)] text-[10px] font-semibold sm:text-xs\", children: \"On Target\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"On Target\").length || 0 })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)] mt-2 sm:text-[10px] sm:mt-3\", children: (() => {\n if (!currentGanttData?.tasks?.length) return \"Expected by 25 Feb 2025\";\n const lastTask = currentGanttData.tasks[currentGanttData.tasks.length - 1];\n const [day, month] = lastTask.endDate.split(\"/\");\n const monthNames = { \"01\": \"Jan\", \"02\": \"Feb\", \"03\": \"Mar\", \"04\": \"Apr\", \"05\": \"May\", \"06\": \"Jun\", \"07\": \"Jul\", \"08\": \"Aug\", \"09\": \"Sep\", \"10\": \"Oct\", \"11\": \"Nov\", \"12\": \"Dec\" };\n return `Expected by ${day} ${monthNames[month] || \"Jan\"} ${selectedFilters[\"SelectYear\"] || \"2026\"}`;\n })() })\n ] })\n ] })\n ] })\n ] }),\n chartType === \"calendarheatmap\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full overflow-hidden lg:grid-cols-[minmax(0,1fr)_minmax(0,280px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-x-auto lg:overflow-x-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col min-w-[750px] w-full lg:min-w-0\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 w-full min-w-0 lg:max-w-[280px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Activity Legend\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2\", children: [[\"rgba(154,219,255,1)\", \"<1K: Low activity\"], [\"rgba(102,194,241,1)\", \"1K - 3K: Moderate activity\"], [\"rgba(43,160,209,1)\", \"3K - 5K: High activity\"], [\"rgba(23,97,163,1)\", \">5K: Very high activity\"]].map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-4 h-4 rounded-sm flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] whitespace-nowrap sm:text-xs\", children: label })\n ] }, label)) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full max-w-[280px] min-h-[210px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] p-3 flex flex-col gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[11px] font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium text-right\", children: [\n selectedFilters[\"SelectYear\"] || \"2026\",\n \", \",\n selectedCalendarHeatmapProject,\n \", \",\n selectedFilters[\"SelectType\"] || \"Development\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[11px] font-semibold\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[17px] font-semibold mt-2\", children: [\n \"$\",\n quickStats.totalVolume.value\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[18px] h-[18px] rounded bg-[rgba(23,97,163,1)] flex items-center justify-center flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon), alt: \"\", className: \"w-[11px] h-[11px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1 flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: \"Peak Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[9px] font-semibold whitespace-nowrap\", children: formatPeakDate(calendarPeakAndActiveDay.peakDay.date) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: calendarPeakAndActiveDay.peakDay.value ? `${calendarPeakAndActiveDay.peakDay.value.toLocaleString()} events` : \"5,600 events\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[18px] h-[18px] rounded bg-[rgba(23,97,163,1)] flex items-center justify-center flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon), alt: \"\", className: \"w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1 flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: \"Most Active Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[9px] font-semibold whitespace-nowrap\", children: calendarPeakAndActiveDay.mostActiveDay.dayName || \"Wednesday\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: [\n \"Avg \",\n calendarPeakAndActiveDay.mostActiveDay.average || 920,\n \" / day\"\n ] })\n ] })\n ] })\n ] })\n ] })\n ] }),\n chartType === \"horizontalbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Demo Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: [[\"rgba(23,97,163,1)\", \"Revenue\"], [\"rgba(70,194,155,1)\", \"Profit\"], [\"rgba(47,164,169,1)\", \"Cost\"]].map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded bg-transparent flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] }),\n currentHorizontalBarTopPerformer && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(TopPerformerCard, { performer: currentHorizontalBarTopPerformer })\n ] })\n ] }),\n chartType === \"columnchart\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center bg-[rgba(77,175,131,0.15)] px-3 py-1 rounded-xl text-[10px] font-semibold text-[rgba(77,175,131,1)] font-[Poppins,sans-serif]\", children: \"Leading\" })\n ] }),\n (() => {\n if (!columnChartData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = columnChartData?.[sy]?.[sm2]?.[st] || [];\n if (!typeData.length) return null;\n const topPerformer = typeData.reduce((max, item) => item.value > max.value ? item : max, typeData[0]);\n const totalRevenue = typeData.reduce((sum, item) => sum + item.value, 0);\n const contribution = totalRevenue > 0 ? Math.round(topPerformer.value / totalRevenue * 100) : 0;\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevTypeData = columnChartData?.[prevYear]?.[prevMonth]?.[st] || [];\n const prevTop = prevTypeData.find((i) => i.name === topPerformer.name);\n const growth = prevTop?.value > 0 ? Math.round((topPerformer.value - prevTop.value) / prevTop.value * 100) : 14;\n const rank = [...typeData].sort((a, b) => b.value - a.value).findIndex((i) => i.name === topPerformer.name) + 1;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-semibold text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] mb-5\", children: topPerformer.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-3\", children: [[\"Revenue\", topPerformer.value >= 1e3 ? `${(topPerformer.value / 1e3).toFixed(1)}k` : topPerformer.value, void 0], [\"Contribution\", `${contribution}%`, void 0], [\"Growth\", `${growth >= 0 ? \"+\" : \"\"}${growth}%`, growth >= 0 ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\"], [\"Rank\", `#${rank}`, void 0]].map(([label, value, color]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold\", style: { color: color || \"rgba(17,24,39,1)\" }, children: String(value) })\n ] }, String(label))) })\n ] });\n })()\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] flex flex-col justify-center sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between items-center mb-10\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: [\n selectedFilters[\"SelectMonth\"] || \"January\",\n \" \",\n selectedFilters[\"SelectYear\"] || \"2026\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-8 font-[Poppins,sans-serif]\", children: \"Total Volume\" }),\n (() => {\n if (!columnChartData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = columnChartData?.[sy]?.[sm2]?.[st] || [];\n const currentTotal = typeData.reduce((sum, item) => sum + item.value, 0);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevTypeData = columnChartData?.[prevYear]?.[prevMonth]?.[st] || [];\n const prevTotal = prevTypeData.reduce((sum, item) => sum + item.value, 0);\n const pctChange = prevTotal > 0 ? Math.round((currentTotal - prevTotal) / prevTotal * 100) : 0;\n const isIncrease = pctChange >= 0;\n const bgColor = isIncrease ? \"rgba(209,250,229,1)\" : \"rgba(254,226,226,1)\";\n const textColor = isIncrease ? \"rgba(5,150,105,1)\" : \"rgba(220,38,38,1)\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif] tracking-tight\", children: [\n \"$\",\n currentTotal.toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"inline-flex items-center gap-1 px-2.5 py-1.5 rounded-md flex-shrink-0\", style: { background: bgColor }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: isIncrease ? getIconSrc(increaseIcon, FALLBACK_ICONS.increaseIcon) : getIconSrc(decreaseIcon, FALLBACK_ICONS.decreaseIcon), alt: isIncrease ? \"increase\" : \"decrease\", className: \"w-3.5 h-3.5 object-contain\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs font-semibold font-[Poppins,sans-serif]\", style: { color: textColor }, children: [\n Math.abs(pctChange),\n \"%\"\n ] })\n ] })\n ] });\n })()\n ] })\n ] })\n ] }),\n chartType === \"groupbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n if (!groupBarData) return null;\n const legends = groupBarData.legends || [];\n const defaultLegends = [[\"rgba(23,97,163,1)\", \"Revenue\"], [\"rgba(77,175,131,1)\", \"Profit\"], [\"rgba(220,38,38,1)\", \"Loss\"], [\"rgba(47,164,169,1)\", \"Cost\"]];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col h-[130px] gap-4 sm:gap-5\", children: legends.length > 0 ? legends.map((legend, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: legend.color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: legend.label })\n ] }, legend.key || i)) : defaultLegends.map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] });\n })(),\n (() => {\n if (!groupBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const groups = groupBarData?.[sy]?.[sm2] || [];\n if (!groups.length) return null;\n const legends = groupBarData.legends || [];\n const getColor = (key, fallback) => legends.find((l) => l.key === key)?.color || fallback;\n const revenueColor = getColor(\"revenue\", \"rgba(37,99,235,1)\");\n const profitColor = getColor(\"profit\", \"rgba(77,175,131,1)\");\n const lossColor = getColor(\"loss\", \"rgba(220,38,38,1)\");\n const getProfitOrLoss = (g) => g.profitOrLoss !== void 0 && g.profitOrLoss !== null ? g.profitOrLoss : g.revenue - g.cost;\n const topPerformer = groups.reduce((max, item) => item.revenue > max.revenue ? item : max, groups[0]);\n const topPL = getProfitOrLoss(topPerformer);\n const isTopProfitable = topPL >= 0;\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevGroups = groupBarData?.[prevYear]?.[prevMonth] || [];\n const prevTop = prevGroups.find((i) => i.name === topPerformer.name);\n const pctChange = prevTop && prevTop.revenue > 0 ? Math.round((topPerformer.revenue - prevTop.revenue) / prevTop.revenue * 100) : 12;\n const isIncrease = pctChange >= 0;\n const lossProducts = groups.filter((i) => getProfitOrLoss(i) < 0);\n const needsFocus = lossProducts.length > 0 ? lossProducts.reduce((max, i) => getProfitOrLoss(i) < getProfitOrLoss(max) ? i : max, lossProducts[0]) : groups.reduce((min, i) => i.revenue < min.revenue ? i : min, groups[0]);\n const needsFocusHasLoss = getProfitOrLoss(needsFocus) < 0;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-[10px] font-semibold\", children: [\n Math.abs(pctChange),\n \"%\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: topPerformer.name })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Revenue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold\", style: { color: revenueColor }, children: [\n topPerformer.revenue,\n \"k\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: isTopProfitable ? \"Profit\" : \"Loss\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold\", style: { color: isTopProfitable ? profitColor : lossColor }, children: [\n Math.abs(topPL),\n \"k\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: [\n needsFocus.name,\n \" \",\n needsFocusHasLoss ? \"(Loss)\" : \"(Low Revenue)\"\n ] })\n ] })\n ] });\n })()\n ] })\n ] }),\n chartType === \"stackbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n if (!stackBarData) return null;\n const legends = stackBarData.legends || [];\n const defaultLegends = [[\"rgba(37,99,235,1)\", \"Aggregating Amount\"], [\"rgba(34,197,94,1)\", \"Outstanding Amount\"], [\"rgba(239,68,68,1)\", \"Write-Off Amount\"]];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: legends.length > 0 ? legends.map((l, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: l.color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: l.label })\n ] }, l.key || i)) : defaultLegends.map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] });\n })(),\n (() => {\n if (!stackBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const sw = selectedFilters[\"SelectWeek\"] || \"Week 1\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = stackBarData?.[sy]?.[sm2]?.[sw]?.[st] || [];\n if (!typeData.length) return null;\n const topPerformer = typeData.reduce((max, day) => {\n const mt = max.aggregating + max.outstanding + max.writeOff;\n const ct = day.aggregating + day.outstanding + day.writeOff;\n return ct > mt ? day : max;\n }, typeData[0]);\n const topTotal = topPerformer.aggregating + topPerformer.outstanding + topPerformer.writeOff;\n const needsFocus = typeData.reduce((min, day) => {\n const mt2 = min.aggregating + min.outstanding + min.writeOff;\n const ct2 = day.aggregating + day.outstanding + day.writeOff;\n return ct2 < mt2 ? day : min;\n }, typeData[0]);\n const weekNum = parseInt(sw.replace(\"Week \", \"\"));\n let percentageChange = 12, isIncrease = true;\n const prevWeek = weekNum > 1 ? `Week ${weekNum - 1}` : null;\n if (prevWeek) {\n const prevTypeData = stackBarData?.[sy]?.[sm2]?.[prevWeek]?.[st] || [];\n const prevDay = prevTypeData.find((d) => d.day === topPerformer.day);\n if (prevDay) {\n const pt = prevDay.aggregating + prevDay.outstanding + prevDay.writeOff;\n if (pt > 0) {\n const ch = (topTotal - pt) / pt * 100;\n percentageChange = Math.abs(Math.round(ch));\n isIncrease = ch >= 0;\n }\n }\n }\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-[10px] font-semibold\", children: [\n percentageChange,\n \"%\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: topPerformer.day })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Aggregating\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold text-[rgba(37,99,235,1)]\", children: [\n \"$\",\n topPerformer.aggregating\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Outstanding\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold text-[rgba(34,197,94,1)]\", children: [\n \"$\",\n topPerformer.outstanding\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: needsFocus.day })\n ] })\n ] });\n })()\n ] })\n ] }),\n chartType === \"lollipop\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: (() => {\n const fid = currentFilters[currentFilters.length - 2]?.id;\n return currentFilters.find((f) => f.id === fid)?.label || \"Categories\";\n })() }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: (() => {\n const fid = currentFilters[currentFilters.length - 2]?.id;\n const filter = currentFilters.find((f) => f.id === fid);\n const colors = [\"rgba(37,99,235,1)\", \"rgba(16,185,129,1)\", \"rgba(245,158,11,1)\", \"rgba(239,68,68,1)\", \"rgba(147,51,234,1)\"];\n return (filter?.options || []).map((opt, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-3.5 h-3.5 rounded-full flex-shrink-0\", style: { backgroundColor: colors[idx % colors.length] } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: opt })\n ] }, opt));\n })() })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: \"Monthly Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-5 h-5 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] }),\n (() => {\n const f0 = currentFilters[0]?.id, f1 = currentFilters[1]?.id, f2 = currentFilters[2]?.id;\n const year = selectedFilters[f0] || currentFilters[0]?.options[0] || \"2026\";\n const month = selectedFilters[f1] || currentFilters[1]?.options[0] || \"January\";\n const category = selectedFilters[f2] || currentFilters[2]?.options[0] || \"Category A\";\n const yearData = lollipopData?.[year] || {};\n const catData = yearData?.[month]?.[category] || [];\n const bestItem = catData.length ? catData.reduce((max, i) => i.value > max.value ? i : max, catData[0]) : null;\n const lowestItem = catData.length ? catData.reduce((min, i) => i.value < min.value ? i : min, catData[0]) : null;\n const avg = catData.length ? Math.round(catData.reduce((s, i) => s + i.value, 0) / catData.length) : 0;\n const aboveAvg = catData.filter((i) => i.value > avg).length;\n const isPositive = aboveAvg > catData.length - aboveAvg;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Best Product\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: bestItem?.label || \"N/A\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Lowest Product\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: lowestItem?.label || \"N/A\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Average\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: avg })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Trend\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isPositive ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isPositive ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-sm font-semibold font-[Poppins,sans-serif]\", children: isPositive ? \"Positive\" : \"Negative\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 text-xs font-[Poppins,sans-serif]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(107,114,128,1)] font-medium\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(220,38,38,1)] font-semibold\", children: lowestItem?.label || \"N/A\" })\n ] })\n ] });\n })()\n ] })\n ] })\n ] }),\n chartType === \"kpi\" && currentKPIData && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full\", children: renderChart() }),\n (chartType === \"line\" || chartType === \"area\" || chartType === \"bar\") && !isPieFamily && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: details.map((item, idx) => {\n let bgColor = \"rgba(229,231,235,0.5)\";\n if (item.label === \"Revenue\") bgColor = \"rgba(70,194,155,0.15)\";\n else if (item.label === \"Profit\") bgColor = \"rgba(239,68,68,0.15)\";\n else if (item.label === \"New Customers\") bgColor = \"rgba(23,97,163,0.15)\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-semibold text-[rgba(17,24,39,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: item.label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)] mt-0.5 line-clamp-2 sm:text-[10px]\", children: item.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"inline-flex items-center justify-center px-2 py-1 rounded text-[10px] font-bold text-[rgba(17,24,39,1)] whitespace-nowrap flex-shrink-0 sm:text-xs sm:px-2.5 sm:py-1.5\", style: { backgroundColor: bgColor }, children: item.value })\n ] }, idx);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Quick Stats\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xl font-bold text-[rgba(17,24,39,1)] mt-2\", children: quickStats.totalVolume.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-1 sm:text-xs\", children: quickStats.totalVolume.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Transactions\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xl font-bold text-[rgba(17,24,39,1)] mt-2\", children: quickStats.transactions.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-1 sm:text-xs\", children: quickStats.transactions.description })\n ] })\n ] })\n ] })\n ] })\n ] })\n ] });\n};\nMahatiChartAnalyticsWidget.displayName = \"MahatiChartAnalyticsWidget\";\nvar QuickInsightsCard = ({\n totalVolume,\n peakIconSrc,\n peakDate,\n peakEvents,\n calendarIconSrc,\n activeDayLabel,\n activeDayValue,\n activeAvg,\n dateLabel\n}) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-[276px] h-[191px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"absolute top-[17px] left-[19px] right-[17px] flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium\", children: dateLabel })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[57px] left-[18px] text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[80px] left-[18px] text-black font-[Poppins,sans-serif] text-lg font-semibold\", children: totalVolume }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[119px] left-[19px] right-[19px] h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[19px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: peakIconSrc, alt: \"\", className: \"absolute top-1 left-1 w-3 h-3 object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[48px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Peak Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[48px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: peakDate }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[48px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: peakEvents }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[164px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: calendarIconSrc, alt: \"\", className: \"absolute top-1 left-1 w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[193px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: activeDayLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[193px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: activeDayValue }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[193px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: activeAvg })\n] });\nvar TopPerformerCard = ({ performer }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: performer.isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: performer.isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-semibold\", children: performer.change })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: performer.name })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Revenue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(37,99,235,1)]\", children: performer.revenue })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Profit\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(77,175,131,1)]\", children: performer.profit })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: performer.needsFocus })\n ] })\n] });\n\n// src/components/Tooltip.tsx\nvar import_react18 = __toESM(require(\"react\"));\nvar import_jsx_runtime26 = require(\"react/jsx-runtime\");\nvar Tooltip2 = ({\n text,\n position = \"top\",\n children,\n variant = \"default\",\n className = \"\",\n textColor,\n backgroundColor,\n image,\n testId,\n animation\n}) => {\n const [visible, setVisible] = (0, import_react18.useState)(false);\n const [isReady, setIsReady] = (0, import_react18.useState)(false);\n const [showAnimation, setShowAnimation] = (0, import_react18.useState)(false);\n const [tooltipPosition, setTooltipPosition] = (0, import_react18.useState)({ top: 0, left: 0 });\n const [adjustedPosition, setAdjustedPosition] = (0, import_react18.useState)(position);\n const triggerRef = import_react18.default.useRef(null);\n const tooltipRef = import_react18.default.useRef(null);\n const hasContent = !!(text || image);\n const calculatePosition = () => {\n if (!triggerRef.current || !tooltipRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const scrollY = window.scrollY;\n const scrollX = window.scrollX;\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n let top = 0;\n let left = 0;\n let finalPosition = position;\n const offset = 12;\n const padding = 10;\n switch (position) {\n case \"top\":\n top = rect.top + scrollY - tooltipRect.height - offset;\n left = rect.left + scrollX + rect.width / 2 - tooltipRect.width / 2;\n if (rect.top < tooltipRect.height + offset + padding) {\n finalPosition = \"bottom\";\n top = rect.bottom + scrollY + offset;\n }\n break;\n case \"right\":\n top = rect.top + scrollY + rect.height / 2 - tooltipRect.height / 2;\n left = rect.right + scrollX + offset;\n if (rect.right + tooltipRect.width + offset + padding > viewportWidth) {\n finalPosition = \"left\";\n left = rect.left + scrollX - tooltipRect.width - offset;\n }\n break;\n case \"bottom\":\n top = rect.bottom + scrollY + offset;\n left = rect.left + scrollX + rect.width / 2 - tooltipRect.width / 2;\n if (rect.bottom + tooltipRect.height + offset + padding > viewportHeight) {\n finalPosition = \"top\";\n top = rect.top + scrollY - tooltipRect.height - offset;\n }\n break;\n case \"left\":\n top = rect.top + scrollY + rect.height / 2 - tooltipRect.height / 2;\n left = rect.left + scrollX - tooltipRect.width - offset;\n if (rect.left < tooltipRect.width + offset + padding) {\n finalPosition = \"right\";\n left = rect.right + scrollX + offset;\n }\n break;\n }\n if (left < padding) left = padding;\n else if (left + tooltipRect.width > viewportWidth - padding)\n left = viewportWidth - tooltipRect.width - padding;\n if (top < scrollY + padding) top = scrollY + padding;\n else if (top + tooltipRect.height > scrollY + viewportHeight - padding)\n top = scrollY + viewportHeight - tooltipRect.height - padding;\n setTooltipPosition({ top, left });\n setAdjustedPosition(finalPosition);\n setIsReady(true);\n };\n const showTooltip = () => {\n if (!hasContent) return;\n setIsReady(false);\n setVisible(true);\n requestAnimationFrame(() => calculatePosition());\n if (animation) {\n const delay = animation.triggerDelay || 100;\n setTimeout(() => setShowAnimation(true), delay);\n }\n };\n const hideTooltip = () => {\n setVisible(false);\n setIsReady(false);\n setShowAnimation(false);\n setAdjustedPosition(position);\n };\n import_react18.default.useEffect(() => {\n if (visible) {\n const handleUpdate = () => {\n requestAnimationFrame(calculatePosition);\n };\n window.addEventListener(\"scroll\", handleUpdate, { passive: true });\n window.addEventListener(\"resize\", handleUpdate);\n return () => {\n window.removeEventListener(\"scroll\", handleUpdate);\n window.removeEventListener(\"resize\", handleUpdate);\n };\n }\n }, [visible]);\n const renderTooltipContent = () => {\n if (image) {\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n \"img\",\n {\n src: image.src,\n alt: image.alt || \"Tooltip image\",\n width: image.width || 200,\n height: image.height || 150,\n loading: \"lazy\",\n className: \"max-w-full h-auto rounded object-cover block\"\n }\n );\n }\n return text;\n };\n const renderAnimation = () => {\n if (!animation || !showAnimation) return null;\n const AnimationComponent = animation.component;\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n AnimationComponent,\n {\n isActive: showAnimation,\n ...animation.props\n }\n );\n };\n if (!hasContent) return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });\n const variantStyle = variant === \"default\" ? \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white text-[11px]\" : \"bg-white/95 text-gray-700 border border-gray-200 text-[13px]\";\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref: triggerRef,\n className: `relative inline-block ${className}`,\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n onFocus: showTooltip,\n onBlur: hideTooltip,\n children: [\n children,\n renderAnimation(),\n /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(\n \"div\",\n {\n ref: tooltipRef,\n role: \"tooltip\",\n style: {\n top: tooltipPosition.top,\n left: tooltipPosition.left,\n color: textColor,\n background: backgroundColor\n },\n className: `\nfixed z-[99999]\nmax-w-[calc(100vw-16px)]\nmin-w-0\nbox-border\nfont-[Poppins]\nfont-medium\nrounded-[6px]\nwhitespace-normal\nbreak-words [overflow-wrap:anywhere]\nflex flex-wrap\ntransition-all duration-200\n${variantStyle}\n${visible && isReady ? \"opacity-100 visible scale-100\" : \"opacity-0 invisible scale-95 pointer-events-none\"}\n${image ? \"p-1\" : \"px-3 py-2\"}\n`,\n children: [\n renderTooltipContent(),\n variant === \"default\" && !image && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n \"div\",\n {\n className: \"absolute w-0 h-0 border-solid\",\n style: {\n ...adjustedPosition === \"top\" && {\n bottom: -6,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"6px 6px 0 6px\",\n borderColor: \"#1761A3 transparent transparent transparent\"\n },\n ...adjustedPosition === \"bottom\" && {\n top: -6,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"0 6px 6px 6px\",\n borderColor: \"transparent transparent #1761A3 transparent\"\n },\n ...adjustedPosition === \"left\" && {\n right: -6,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n borderWidth: \"6px 0 6px 6px\",\n borderColor: \"transparent transparent transparent #1761A3\"\n },\n ...adjustedPosition === \"right\" && {\n left: -6,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n borderWidth: \"6px 6px 6px 0\",\n borderColor: \"transparent #1761A3 transparent transparent\"\n }\n }\n }\n )\n ]\n }\n )\n ]\n }\n );\n};\nTooltip2.displayName = \"Tooltip\";\n\n// src/components/ToastMessage.tsx\nvar import_react19 = __toESM(require(\"react\"));\nvar import_react_dom2 = __toESM(require(\"react-dom\"));\nvar import_jsx_runtime27 = require(\"react/jsx-runtime\");\nvar getStripGradient = (type) => {\n switch (type) {\n case \"success\":\n return \"linear-gradient(90deg, rgba(40, 167, 69, 1) 22.5%, rgba(58, 208, 125, 1) 130%)\";\n case \"error\":\n return \"linear-gradient(90deg, rgba(220, 53, 69, 1) 22.5%, rgba(183, 28, 28, 1) 130%)\";\n case \"warning\":\n return \"linear-gradient(90deg, rgba(245, 158, 11, 1) 22.5%, rgba(255, 191, 92, 1) 130%)\";\n case \"notification\":\n default:\n return \"linear-gradient(90deg, rgba(23, 97, 163, 1) 22.5%, rgba(77, 175, 131, 1) 130%)\";\n }\n};\nvar getGradient = (type) => {\n switch (type) {\n case \"success\":\n return \"linear-gradient(90deg, rgba(40, 167, 69, 1) 0%, rgba(58, 208, 125, 1) 100%)\";\n case \"error\":\n return \"linear-gradient(90deg, rgba(220, 53, 69, 1) 0%, rgba(183, 28, 28, 1) 100%)\";\n case \"warning\":\n return \"linear-gradient(90deg, rgba(245, 158, 11, 1) 0%, rgba(255, 191, 92, 1) 100%)\";\n case \"notification\":\n default:\n return \"linear-gradient(90deg, rgba(23, 97, 163, 1) 0%, rgba(77, 175, 131, 1) 100%)\";\n }\n};\nvar getTitleColor = (type) => {\n switch (type) {\n case \"success\":\n return \"rgba(40, 167, 69, 1)\";\n case \"error\":\n return \"rgba(220, 53, 69, 1)\";\n case \"warning\":\n return \"rgba(245, 158, 11, 1)\";\n case \"notification\":\n default:\n return \"rgba(23, 97, 163, 1)\";\n }\n};\nvar getIcon = (type, background) => {\n const style = { width: \"28px\", height: \"28px\", objectFit: \"contain\" };\n const altText = type.charAt(0).toUpperCase() + type.slice(1);\n if (background === \"transparent\") {\n switch (type) {\n case \"success\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/check-mark_2.png\", alt: altText, style });\n case \"error\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_2.png\", alt: altText, style });\n case \"warning\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1_1.png\", alt: altText, style });\n default:\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/notification_2.png\", alt: altText, style });\n }\n } else {\n switch (type) {\n case \"success\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/check-mark_1.png\", alt: altText, style });\n case \"error\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1.png\", alt: altText, style });\n case \"warning\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1.png\", alt: altText, style });\n default:\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/notification_1.png\", alt: altText, style });\n }\n }\n};\nvar ToastMessage = import_react19.default.forwardRef(\n ({\n type = \"notification\",\n title: customTitle,\n message,\n onClose,\n showClose = true,\n duration = 5e3,\n background = \"solid\",\n custom,\n action,\n className,\n testId,\n ...rest\n }, ref) => {\n const backgroundClass = background === \"transparent\" ? \"bg-white\" : \"\";\n const displayTitle = customTitle ?? type.charAt(0).toUpperCase() + type.slice(1);\n const hasActions = action && action.length > 0;\n (0, import_react19.useEffect)(() => {\n if (!onClose) return;\n if (duration <= 0) return;\n const timer = setTimeout(onClose, duration);\n return () => clearTimeout(timer);\n }, [duration, onClose]);\n const closeIconSrc = custom?.closeIconSrc || (background === \"transparent\" ? \"icons/close_copy_1.png\" : \"/icons/close.png\");\n const iconElement = custom?.iconSrc ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"img\",\n {\n src: custom.iconSrc,\n alt: type,\n style: {\n width: custom.iconWidth || \"28px\",\n height: custom.iconHeight || \"28px\",\n objectFit: \"contain\"\n }\n }\n ) : getIcon(type, background);\n const content = /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n style: {\n background: background === \"transparent\" ? \"#ffffff\" : getGradient(type)\n },\n className: `fixed top-[20px] right-[20px] w-[325px] rounded-[12px] shadow-md z-[9999] overflow-hidden flex \n${hasActions ? \"flex-col p-[10px]\" : \"flex-row items-center pl-[10px]\"} \n${backgroundClass}\n${className || \"\"}`,\n role: \"alert\",\n \"aria-live\": \"assertive\",\n ...rest,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"absolute left-[5px] top-0 w-[5px] h-full rounded-[20px_0_0_20px]\",\n style: { background: getStripGradient(type) }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\"div\", { className: \"flex items-center flex-1 min-h-[50px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"div\", { className: \"flex items-center justify-center w-[40px] h-[40px] mr-[12px] flex-shrink-0 z-[1]\", children: iconElement }),\n /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\"div\", { className: \"flex-1 min-w-0 z-[1]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"font-semibold text-[16px] truncate\",\n style: {\n fontFamily: custom?.titleFontFamily || \"Poppins\",\n color: custom?.titleColor || (background === \"transparent\" ? getTitleColor(type) : \"white\")\n },\n children: displayTitle\n }\n ),\n message && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"text-[10px] mt-[2px] truncate\",\n style: {\n fontFamily: custom?.messageFontFamily || \"Poppins\",\n color: custom?.messageColor || (background === \"transparent\" ? \"#555\" : \"white\")\n },\n children: message\n }\n )\n ] }),\n showClose && onClose && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"button\",\n {\n onClick: onClose,\n \"aria-label\": \"Close toast\",\n className: \"ml-[8px] p-[4px] opacity-80 hover:opacity-100 flex-shrink-0\",\n children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"img\",\n {\n src: closeIconSrc,\n alt: \"Close\",\n style: {\n width: custom?.closeIconWidth || \"20px\",\n height: custom?.closeIconHeight || \"20px\",\n objectFit: \"contain\"\n }\n }\n )\n }\n )\n ] }),\n hasActions && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"div\", { className: \"flex gap-[8px] mt-[10px] pl-[5px] justify-end\", children: action?.map((btn, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"button\",\n {\n onClick: btn.onClick,\n className: \"text-[12px] font-semibold px-[16px] py-[6px] rounded-[6px] transition-all active:scale-95\",\n children: btn.label\n },\n index\n )) })\n ]\n }\n );\n return import_react_dom2.default.createPortal(content, document.body);\n }\n);\nToastMessage.displayName = \"ToastMessage\";\n\n// src/components/ConfettiExplosion.tsx\nvar import_react20 = require(\"react\");\nvar import_jsx_runtime28 = require(\"react/jsx-runtime\");\nvar ConfettiExplosion = ({\n testId,\n isActive,\n particleCount = 150,\n duration = 4e3,\n colors = [\n \"#FF0000\",\n \"#00FF00\",\n \"#0000FF\",\n \"#FFFF00\",\n \"#FF00FF\",\n \"#00FFFF\",\n \"#FF8000\",\n \"#8000FF\",\n \"#FF0080\",\n \"#80FF00\",\n \"#0080FF\",\n \"#FF8080\"\n ],\n force = 0.5,\n particleSize = 8,\n stageHeight = 800\n}) => {\n const [particles, setParticles] = (0, import_react20.useState)([]);\n const animationFrameRef = (0, import_react20.useRef)(void 0);\n const timerRef = (0, import_react20.useRef)(void 0);\n const stableColors = (0, import_react20.useMemo)(() => colors, [JSON.stringify(colors)]);\n (0, import_react20.useEffect)(() => {\n if (isActive) {\n const newParticles = Array.from({ length: particleCount }, (_, i) => {\n const angle = Math.random() * Math.PI * 2;\n const speed = (Math.random() * 5 + 5) * force;\n const fromLeft = Math.random() > 0.5;\n const startX = fromLeft ? 0 : 100;\n return {\n id: i,\n color: stableColors[Math.floor(Math.random() * stableColors.length)],\n size: Math.random() * particleSize + particleSize / 2,\n shape: [\"circle\", \"rectangle\", \"star\"][Math.floor(Math.random() * 3)],\n rotation: Math.random() * 360,\n rotationSpeed: (Math.random() - 0.5) * 10,\n x: startX,\n y: 100,\n vx: Math.cos(angle) * speed * (fromLeft ? 1 : -1),\n vy: -Math.sin(angle) * speed - 2,\n gravity: 0.1 + Math.random() * 0.1,\n opacity: 1,\n life: 1,\n delay: Math.random() * 300\n };\n });\n setParticles(newParticles);\n let startTime;\n const animate = (timestamp) => {\n if (!startTime) startTime = timestamp;\n const elapsed = timestamp - startTime;\n setParticles(\n (prevParticles) => prevParticles.map((particle) => {\n if (elapsed < particle.delay) return particle;\n const life = Math.max(0, 1 - (elapsed - particle.delay) / duration);\n if (life <= 0) return particle;\n return {\n ...particle,\n x: particle.x + particle.vx * 0.5,\n y: particle.y + particle.vy * 0.5,\n vy: particle.vy + particle.gravity,\n rotation: particle.rotation + particle.rotationSpeed,\n opacity: life,\n life\n };\n }).filter((p) => p.life > 0)\n );\n if (elapsed < duration) {\n animationFrameRef.current = requestAnimationFrame(animate);\n }\n };\n animationFrameRef.current = requestAnimationFrame(animate);\n timerRef.current = setTimeout(() => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n setParticles([]);\n }, duration + 500);\n return () => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n } else {\n setParticles([]);\n }\n }, [isActive, particleCount, duration, stableColors, force, particleSize]);\n if (!isActive || particles.length === 0) return null;\n return (\n // Container: was styled.div with stageHeight prop\n /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"fixed inset-0 pointer-events-none z-50 overflow-hidden\",\n style: { height: `${stageHeight}px` },\n children: particles.map((particle) => {\n const starGradient = particle.shape === \"star\" ? `conic-gradient(from 0deg, ${particle.color} 0% 20%, transparent 20% 40%, ${particle.color} 40% 60%, transparent 60% 80%, ${particle.color} 80% 100%)` : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n \"div\",\n {\n className: [\n \"absolute\",\n \"origin-center\",\n // Shape-specific static classes\n particle.shape === \"circle\" ? \"rounded-full\" : \"\",\n particle.shape === \"rectangle\" ? \"rounded-[2px]\" : \"\"\n // Star uses clip-path via inline style (cannot be a static Tailwind class)\n ].join(\" \"),\n style: {\n // Dynamic values as CSS custom properties — picked up by arbitrary Tailwind classes\n left: `${particle.x}%`,\n bottom: `${particle.y}%`,\n width: `${particle.size}px`,\n height: `${particle.size}px`,\n opacity: particle.opacity,\n transform: `rotate(${particle.rotation}deg)`,\n backgroundColor: particle.shape === \"star\" ? \"transparent\" : particle.color,\n ...particle.shape === \"star\" && {\n background: starGradient,\n clipPath: \"polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)\"\n }\n }\n },\n particle.id\n );\n })\n }\n )\n );\n};\nConfettiExplosion.displayName = \"ConfettiExplosion\";\n\n// src/components/RealisticConfetti.tsx\nvar import_react21 = require(\"react\");\nvar import_jsx_runtime29 = require(\"react/jsx-runtime\");\nvar RealisticConfetti = ({\n testId,\n isActive,\n particleCount = 150,\n duration = 4e3,\n colors = [\n \"#FF0000\",\n \"#00FF00\",\n \"#0000FF\",\n \"#FFFF00\",\n \"#FF00FF\",\n \"#00FFFF\",\n \"#FF8000\",\n \"#8000FF\",\n \"#FF0080\",\n \"#80FF00\",\n \"#0080FF\",\n \"#FF8080\"\n ],\n force = 0.5,\n particleSize = 8,\n stageHeight = 800\n}) => {\n const [particles, setParticles] = (0, import_react21.useState)([]);\n const animationFrameRef = (0, import_react21.useRef)(void 0);\n const timerRef = (0, import_react21.useRef)(void 0);\n const stableColors = (0, import_react21.useMemo)(() => colors, [JSON.stringify(colors)]);\n (0, import_react21.useEffect)(() => {\n if (isActive) {\n const newParticles = Array.from({ length: particleCount }, (_, i) => {\n const angle = Math.random() * Math.PI * 2;\n const speed = (Math.random() * 5 + 5) * force;\n const fromLeft = Math.random() > 0.5;\n const startX = fromLeft ? 0 : 100;\n return {\n id: i,\n color: stableColors[Math.floor(Math.random() * stableColors.length)],\n size: Math.random() * particleSize + particleSize / 2,\n shape: [\"circle\", \"rectangle\", \"star\"][Math.floor(Math.random() * 3)],\n rotation: Math.random() * 360,\n rotationSpeed: (Math.random() - 0.5) * 10,\n x: startX,\n y: 100,\n vx: Math.cos(angle) * speed * (fromLeft ? 1 : -1),\n vy: -Math.sin(angle) * speed - 2,\n gravity: 0.1 + Math.random() * 0.1,\n opacity: 1,\n life: 1,\n delay: Math.random() * 300\n };\n });\n setParticles(newParticles);\n let startTime;\n const animate = (timestamp) => {\n if (!startTime) startTime = timestamp;\n const elapsed = timestamp - startTime;\n setParticles(\n (prevParticles) => prevParticles.map((particle) => {\n if (elapsed < particle.delay) return particle;\n const life = Math.max(0, 1 - (elapsed - particle.delay) / duration);\n if (life <= 0) return particle;\n return {\n ...particle,\n x: particle.x + particle.vx * 0.5,\n y: particle.y + particle.vy * 0.5,\n vy: particle.vy + particle.gravity,\n rotation: particle.rotation + particle.rotationSpeed,\n opacity: life,\n life\n };\n }).filter((p) => p.life > 0)\n );\n if (elapsed < duration) {\n animationFrameRef.current = requestAnimationFrame(animate);\n }\n };\n animationFrameRef.current = requestAnimationFrame(animate);\n timerRef.current = setTimeout(() => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n setParticles([]);\n }, duration + 500);\n return () => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n } else {\n setParticles([]);\n }\n }, [isActive, particleCount, duration, stableColors, force, particleSize]);\n if (!isActive || particles.length === 0) return null;\n return (\n // Container: was styled.div with stageHeight prop\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"fixed inset-0 pointer-events-none z-50 overflow-hidden\",\n style: { height: `${stageHeight}px` },\n children: particles.map((particle) => {\n const starGradient = particle.shape === \"star\" ? `conic-gradient(from 0deg, ${particle.color} 0% 20%, transparent 20% 40%, ${particle.color} 40% 60%, transparent 60% 80%, ${particle.color} 80% 100%)` : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"div\",\n {\n className: [\n \"absolute\",\n \"origin-center\",\n // Shape-specific static classes\n particle.shape === \"circle\" ? \"rounded-full\" : \"\",\n particle.shape === \"rectangle\" ? \"rounded-[2px]\" : \"\"\n // Star uses clip-path via inline style (cannot be a static Tailwind class)\n ].join(\" \"),\n style: {\n // Dynamic values as CSS custom properties — picked up by arbitrary Tailwind classes\n left: `${particle.x}%`,\n bottom: `${particle.y}%`,\n width: `${particle.size}px`,\n height: `${particle.size}px`,\n opacity: particle.opacity,\n transform: `rotate(${particle.rotation}deg)`,\n backgroundColor: particle.shape === \"star\" ? \"transparent\" : particle.color,\n ...particle.shape === \"star\" && {\n background: starGradient,\n clipPath: \"polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)\"\n }\n }\n },\n particle.id\n );\n })\n }\n )\n );\n};\nRealisticConfetti.displayName = \"RealisticConfetti\";\n\n// src/components/Spinner.tsx\nvar import_jsx_runtime30 = require(\"react/jsx-runtime\");\nvar SrOnly = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"span\", { className: \"absolute w-[1px] h-[1px] p-0 m-[-1px] overflow-hidden whitespace-nowrap border-0 clip-[rect(0,0,0,0)]\", children });\nvar Spinner = ({\n size = 24,\n borderWidth = 4,\n borderRadius = 50,\n primaryColor = \"#007bff\",\n backgroundColor = \"rgba(0,123,255,0.2)\",\n speed = 1,\n testId\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n style: {\n width: size,\n height: size,\n borderWidth,\n borderRadius,\n borderColor: backgroundColor,\n borderTopColor: primaryColor,\n animation: `spin ${speed}s linear infinite`\n },\n className: \"border-solid\",\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading...\" })\n }\n );\n};\nvar CircularSpinner = ({\n size = 48,\n color = \"rgba(37,99,235,1)\",\n speed = 1.5,\n ringCount = 1,\n testId\n}) => {\n const rings = Array.from({ length: Math.max(1, ringCount) });\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n className: \"relative\",\n style: { width: size, height: size },\n children: [\n rings.map((_, i) => {\n const ringSize = size - i * (size / (ringCount + 1));\n const offset = (size - ringSize) / 2;\n const opacity = 1 - i * 0.3;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n style: {\n width: ringSize,\n height: ringSize,\n top: offset,\n left: offset,\n opacity,\n borderWidth: Math.max(2, ringSize / 12),\n borderTopColor: color,\n animation: `circularSpin ${speed + i * 0.3}s linear infinite`\n },\n className: \"absolute border border-transparent rounded-full\"\n },\n i\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading...\" })\n ]\n }\n );\n};\nvar CardOverlayLoader = ({\n show = true,\n spinnerSize = 32,\n spinnerBorderWidth = 4,\n spinnerPrimary = \"rgba(37,99,235,1)\",\n spinnerTrack = \"rgba(229,231,235,1)\",\n backdrop = \"rgba(255,255,255,0.65)\",\n label = \"Loading...\",\n testId\n}) => {\n if (!show) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n style: { backgroundColor: backdrop },\n className: \"absolute inset-0 grid place-content-center rounded-xl backdrop-blur-[1px]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"flex flex-col items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Spinner,\n {\n size: spinnerSize,\n borderWidth: spinnerBorderWidth,\n borderRadius: 50,\n primaryColor: spinnerPrimary,\n backgroundColor: spinnerTrack\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"span\", { className: \"text-sm font-medium text-gray-800\", children: label })\n ] })\n }\n );\n};\nvar LoadingDots = ({\n size = 8,\n color = \"rgba(55,65,81,1)\",\n gap = 6,\n speed = 1.2,\n count = 3,\n testId\n}) => {\n const dots = Array.from({ length: Math.max(0, count) });\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: \"inline-flex items-center\",\n children: [\n dots.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n \"aria-hidden\": true,\n style: {\n width: size,\n height: size,\n backgroundColor: color,\n marginRight: i === dots.length - 1 ? 0 : gap,\n animation: `dotsBounce ${speed}s ease-in-out ${i * (speed / dots.length)}s infinite`\n },\n className: \"rounded-full inline-block\"\n },\n i\n )),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading\\u2026\" })\n ]\n }\n );\n};\nvar LoadingDotsLinear = ({\n size = 8,\n color = \"rgba(55,65,81,1)\",\n gap = 6,\n speed = 1.2,\n count = 5,\n testId\n}) => {\n const dots = Array.from({ length: Math.max(1, count) });\n const delay = speed / count;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: \"inline-flex items-center\",\n children: [\n dots.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n \"aria-hidden\": true,\n style: {\n width: size,\n height: size,\n backgroundColor: color,\n marginRight: i === dots.length - 1 ? 0 : gap,\n animation: `dotsLinear ${speed}s ease-in-out ${i * delay}s infinite`\n },\n className: \"rounded-full inline-block\"\n },\n i\n )),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading\\u2026\" })\n ]\n }\n );\n};\nvar CardWithLoading = ({\n loading = true,\n imageUrl = \"https://upload.wikimedia.org/wikipedia/commons/c/cb/Adirondacks_2016_Cascade_mountain_hike.jpg\",\n title = \"Amazing Landscape\",\n content = \"Discover breathtaking views and natural wonders from around the world.\",\n testId\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"rounded-xl overflow-hidden shadow-lg bg-white border border-gray-200 max-w-[28rem] relative\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"w-full h-64 bg-gray-100 overflow-hidden relative\", children: !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"img\", { src: imageUrl, alt: title, className: \"w-full h-full object-cover\" }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"w-full h-full shimmer\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"p-6\", children: [\n !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"h3\", { className: \"text-xl font-semibold text-gray-900 mb-3\", children: title }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-7 w-[70%] shimmer rounded mb-3\" }),\n !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"p\", { className: \"text-sm text-gray-500 leading-relaxed\", children: content }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"flex flex-col gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-full shimmer rounded\" }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-[95%] shimmer rounded\" }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-[80%] shimmer rounded\" })\n ] })\n ] })\n ]\n }\n );\n};\n\n// src/components/NestedDropdown.tsx\nvar import_react22 = require(\"react\");\nvar import_lucide_react5 = require(\"lucide-react\");\nvar import_jsx_runtime31 = require(\"react/jsx-runtime\");\nfunction SearchableDropdown({\n label,\n options,\n value,\n onChange,\n placeholder = \"search here\",\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const h = (e) => ref.current && !ref.current.contains(e.target) && setOpen(false);\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n }, []);\n const filtered = (options ?? []).filter(\n (o) => o.label.toLowerCase().includes(search.toLowerCase())\n );\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px] \\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n (options ?? []).find((o) => o.value === value)?.label || placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white rounded-[12px]\\r\\n border border-[rgba(23,97,163,0.3)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n placeholder: \"search..\",\n value: search,\n onChange: (e) => setSearch(e.target.value),\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n filtered.map((o) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(o.value);\n setOpen(false);\n setSearch(\"\");\n },\n className: \"px-4 py-[10px] text-[14px] cursor-pointer hover:bg-[#f1f5f9]\",\n children: o.label\n },\n o.value\n )),\n filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\nfunction MultiSelectDropdown({\n label = \"Multi Select\",\n options,\n values,\n onChange,\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const ref = (0, import_react22.useRef)(null);\n const removeValue = (val) => {\n onChange(values.filter((v) => v !== val));\n };\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const toggleValue = (value) => {\n if (values.includes(value)) {\n onChange(values.filter((v) => v !== value));\n } else {\n onChange([...values, value]);\n }\n };\n const filteredOptions = options.filter(\n (o) => o.label.toLowerCase().includes(search.toLowerCase())\n );\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen(!open),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px]\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n values.length === 0 ? \"Multi Select\" : \"Multi Select\",\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n values.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"flex flex-wrap gap-2 mt-3\", children: values.map((val) => {\n const lbl = options.find((o) => o.value === val)?.label;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-[6px] px-[10px] py-[6px]\\r\\n bg-white border border-[#cde3f1] rounded-[10px] text-[13px]\",\n children: [\n lbl,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n import_lucide_react5.X,\n {\n size: 14,\n className: \"cursor-pointer\",\n onClick: () => removeValue(val)\n }\n )\n ]\n },\n val\n );\n }) }),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n value: search,\n onChange: (e) => setSearch(e.target.value),\n placeholder: \"Search...\",\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n filteredOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => toggleValue(opt.value),\n className: `px-4 py-[10px] text-[14px] flex items-center gap-2 cursor-pointer\n hover:bg-[#f1f5f9] ${values.includes(opt.value) ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: values.includes(opt.value),\n readOnly: true\n }\n ),\n opt.label\n ]\n },\n opt.value\n )),\n filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\nfunction CascadingDropdown({\n label = \"Cascading Dropdown\",\n data,\n value,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const level1 = data;\n const level2 = data.find((d) => d.value === value.level1)?.children || [];\n const level3 = level2.find((d) => d.value === value.level2)?.children || [];\n const displayText = value.level3 || value.level2 || value.level1 || \"Select location\";\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px]\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n displayText,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: level1.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => onChange({ level1: opt.value }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level1 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: opt.label\n },\n opt.value\n )) }),\n level2.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto border-t border-[#e5e7eb]\", children: level2.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => onChange({\n level1: value.level1,\n level2: opt.value\n }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level2 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n \"\\u2514 \",\n opt.label\n ]\n },\n opt.value\n )) }),\n level3.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto border-t border-[#e5e7eb]\", children: level3.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => onChange({\n level1: value.level1,\n level2: value.level2,\n level3: opt.value\n }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level3 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n \"\\u2514\\u2500 \",\n opt.label\n ]\n },\n opt.value\n )) })\n ]\n }\n )\n ]\n }\n );\n}\nfunction GroupedDropdown({\n label = \"Grouped Dropdown\",\n groups,\n values,\n onChange,\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const isSectionSelected = (group) => values?.section === group.label;\n const isChildChecked = (value) => values?.values.includes(value) ?? false;\n const toggleSection = (group) => {\n if (values?.section === group.label) {\n onChange(null);\n } else {\n onChange({\n section: group.label,\n values: group.options.map((o) => o.value)\n });\n }\n };\n const toggleChild = (group, value) => {\n if (values?.section !== group.label) {\n onChange({ section: group.label, values: [value] });\n return;\n }\n const exists = values.values.includes(value);\n const newValues = exists ? values.values.filter((v) => v !== value) : [...values.values, value];\n onChange(\n newValues.length === 0 ? null : { section: group.label, values: newValues }\n );\n };\n const displayValue = !values ? \"Select options\" : `${values.section} (${values.values.map(\n (v) => groups.flatMap((g) => g.options).find((o) => o.value === v)?.label\n ).join(\", \")})`;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n displayValue,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(23,97,163,0.3)] z-[100]\",\n children: groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"flex items-center gap-2 font-semibold\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: isSectionSelected(group),\n onChange: () => toggleSection(group)\n }\n ),\n group.label\n ] }),\n group.options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"label\",\n {\n className: \"flex items-center gap-2 text-[14px] mt-[6px] ml-[22px]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: isChildChecked(opt.value),\n onChange: () => toggleChild(group, opt.value)\n }\n ),\n opt.label\n ]\n },\n opt.value\n ))\n ] }, group.label))\n }\n )\n ]\n }\n );\n}\nfunction AvatarDropdown({\n label = \"Select Avatar\",\n placeholder = \"Choose user\",\n options,\n value,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const selected = options.find((o) => o.value === value);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"span\", { className: \"flex items-center gap-[10px]\", children: selected ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: selected.image,\n alt: selected.label,\n className: \"w-[28px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n selected.label\n ] }) : placeholder }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n flex items-center gap-[12px]\n hover:bg-[#f1f5f9]\n ${opt.value === value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[36px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"font-medium\", children: opt.label }),\n opt.subtitle && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"text-[12px] text-[#64748b]\", children: opt.subtitle })\n ] })\n ]\n },\n opt.value\n )) })\n }\n )\n ]\n }\n );\n}\nfunction AvatarMultiSelectDropdown({\n label = \"Avatar Multi Select\",\n placeholder = \"Select users\",\n options,\n values,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const toggleValue = (value) => {\n if (values.includes(value)) {\n onChange(values.filter((v) => v !== value));\n } else {\n onChange([...values, value]);\n }\n };\n const removeValue = (value) => {\n onChange(values.filter((v) => v !== value));\n };\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n values.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"flex flex-wrap gap-2 mt-3\", children: values.map((val) => {\n const opt = options.find((o) => o.value === val);\n if (!opt) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-2 px-[10px] py-[6px]\\r\\n bg-white border border-[#cde3f1] rounded-[10px] text-[13px]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[24px] h-[24px] rounded-[6px] object-cover\"\n }\n ),\n opt.label,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n import_lucide_react5.X,\n {\n size: 14,\n className: \"cursor-pointer\",\n onClick: () => removeValue(val)\n }\n )\n ]\n },\n val\n );\n }) }),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: options.map((opt) => {\n const active = values.includes(opt.value);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => toggleValue(opt.value),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n flex items-center gap-[12px]\n hover:bg-[#f1f5f9]\n ${active ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: active,\n readOnly: true,\n className: \"accent-[#1761a3]\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[36px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"font-medium\", children: opt.label }),\n opt.subtitle && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"text-[12px] text-[#64748b]\", children: opt.subtitle })\n ] })\n ]\n },\n opt.value\n );\n }) })\n }\n )\n ]\n }\n );\n}\nfunction AsyncDropdown({\n label = \"Async Dropdown\",\n placeholder = \"Search...\",\n value,\n disabled,\n testId,\n loadOptions,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const [options, setOptions] = (0, import_react22.useState)([]);\n const [loading, setLoading] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n (0, import_react22.useEffect)(() => {\n if (!open) return;\n setLoading(true);\n loadOptions(search).then(setOptions).finally(() => setLoading(false));\n }, [open, search, loadOptions]);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n disabled,\n onClick: () => !disabled && setOpen((o) => !o),\n className: `w-full px-4 py-3 rounded-[8px] text-white font-semibold\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\n flex justify-between items-center\n ${disabled ? \"opacity-60 cursor-not-allowed\" : \"cursor-pointer\"}`,\n children: [\n value || placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && !disabled && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n value: search,\n placeholder: \"Search...\",\n onChange: (e) => setSearch(e.target.value),\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n loading && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"px-4 py-[10px] text-[14px] flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.Loader2, { size: 14, className: \"mr-2 animate-spin\" }),\n \"Loading...\"\n ] }),\n !loading && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n setSearch(\"\");\n },\n className: \"px-4 py-[10px] text-[14px] cursor-pointer hover:bg-[#f1f5f9]\",\n children: opt.label\n },\n opt.value\n )),\n options.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\n\n// src/components/TextToAudio.tsx\nvar import_react23 = require(\"react\");\nvar import_jsx_runtime32 = require(\"react/jsx-runtime\");\nvar ControlIcon = ({ src }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n style: {\n width: 16,\n height: 16,\n backgroundImage: `url(${src})`,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"contain\"\n }\n }\n);\nvar defaultIcons = {\n play: \"/icons/play-btn.png\",\n pause: \"/icons/pause-btn.png\",\n stop: \"/icons/hard-stop.png\",\n repeat: \"/icons/repeat-icon.png\",\n skipForward: \"/icons/skip-forward.png\",\n skipBackward: \"/icons/Backward-icon.png\",\n tenForward: \"/icons/ten-skip-forward.png\",\n tenBackward: \"/icons/ten-skip-backward.png\"\n};\nvar TexttoAudio = ({ icons = defaultIcons }) => {\n const WORDS_PER_SECOND = 2.5;\n const [text, setText] = (0, import_react23.useState)(\"\");\n const [mode, setMode] = (0, import_react23.useState)(\"textarea\");\n const [playing, setPlaying] = (0, import_react23.useState)(false);\n const [currentTime, setCurrentTime] = (0, import_react23.useState)(0);\n const [duration, setDuration] = (0, import_react23.useState)(1);\n const [volume, setVolume] = (0, import_react23.useState)(1);\n const [speed, setSpeed] = (0, import_react23.useState)(1);\n const [loop, setLoop] = (0, import_react23.useState)(false);\n const utteranceRef = (0, import_react23.useRef)(null);\n const timerRef = (0, import_react23.useRef)(null);\n const wordIndexRef = (0, import_react23.useRef)(0);\n const textAreaRef = (0, import_react23.useRef)(null);\n const highlightOnSkipRef = (0, import_react23.useRef)(false);\n const [summary, setSummary] = (0, import_react23.useState)(\"\");\n const [loopMode, setLoopMode] = (0, import_react23.useState)(0);\n const loopCountRef = (0, import_react23.useRef)(0);\n const autoPlayRef = (0, import_react23.useRef)(false);\n const baseDurationRef = (0, import_react23.useRef)(0);\n const timerBaseRef = (0, import_react23.useRef)(0);\n const volumeRef = (0, import_react23.useRef)(volume);\n const speedRef = (0, import_react23.useRef)(speed);\n const categorizeText = (input) => {\n if (!input.trim()) return \"This content covers general topics.\";\n const text2 = input.toLowerCase();\n const categories = {\n Technology: {\n keywords: [\n \"technology\",\n \"software\",\n \"hardware\",\n \"ai\",\n \"artificial intelligence\",\n \"machine learning\",\n \"computer\",\n \"internet\",\n \"digital\",\n \"platform\",\n \"app\"\n ],\n summary: \"This content focuses on technology, software systems, and digital innovation.\"\n },\n Business: {\n keywords: [\n \"business\",\n \"marketing\",\n \"sales\",\n \"brand\",\n \"strategy\",\n \"market\",\n \"customer\",\n \"startup\",\n \"company\",\n \"growth\"\n ],\n summary: \"This content discusses business concepts, strategies, and market growth.\"\n },\n Education: {\n keywords: [\n \"education\",\n \"learning\",\n \"teaching\",\n \"students\",\n \"training\",\n \"course\",\n \"knowledge\",\n \"research\",\n \"study\"\n ],\n summary: \"This content is related to education, learning processes, and knowledge sharing.\"\n },\n Media: {\n keywords: [\n \"content\",\n \"video\",\n \"audio\",\n \"blog\",\n \"podcast\",\n \"social media\",\n \"youtube\",\n \"linkedin\",\n \"posts\"\n ],\n summary: \"This content explains media, communication formats, and content creation.\"\n },\n Human: {\n keywords: [\n \"human\",\n \"people\",\n \"communication\",\n \"engagement\",\n \"interaction\",\n \"society\",\n \"culture\",\n \"behavior\"\n ],\n summary: \"This content highlights human behavior, interaction, and social aspects.\"\n },\n Geography: {\n keywords: [\n \"geography\",\n \"location\",\n \"region\",\n \"country\",\n \"city\",\n \"map\",\n \"area\",\n \"population\"\n ],\n summary: \"This content relates to geographical regions and location-based information.\"\n },\n Nature: {\n keywords: [\n \"nature\",\n \"environment\",\n \"climate\",\n \"earth\",\n \"ecosystem\",\n \"forest\",\n \"water\",\n \"animals\",\n \"plants\"\n ],\n summary: \"This content focuses on nature, environment, and ecological systems.\"\n },\n Health: {\n keywords: [\n \"health\",\n \"medical\",\n \"fitness\",\n \"wellness\",\n \"mental\",\n \"physical\",\n \"disease\"\n ],\n summary: \"This content discusses health, wellness, and medical-related topics.\"\n }\n };\n const summaries = [];\n for (const key in categories) {\n if (categories[key].keywords.some((k) => text2.includes(k))) {\n summaries.push(categories[key].summary);\n }\n }\n return summaries.length ? summaries.slice(0, 2).join(\" \") : \"This content provides general informational insights.\";\n };\n const highlightWordAt = (startIndex) => {\n const ta = textAreaRef.current;\n if (!ta) return;\n const value = ta.value;\n let start = startIndex;\n while (start > 0 && /\\S/.test(value[start - 1])) {\n start--;\n }\n let end = startIndex;\n while (end < value.length && /\\S/.test(value[end])) {\n end++;\n }\n ta.focus();\n ta.setSelectionRange(start, end);\n };\n const formatTime2 = (sec) => {\n const m = Math.floor(sec / 60);\n const s = Math.floor(sec % 60);\n return `${m}:${s.toString().padStart(2, \"0\")}`;\n };\n const getSourceText = () => text;\n const speakFromTime = (time) => {\n window.speechSynthesis.cancel();\n const source = text;\n if (!source.trim()) return;\n const words = source.split(/\\s+/);\n const startWordIndex = Math.floor(time * WORDS_PER_SECOND);\n const charOffset = words.slice(0, startWordIndex).join(\" \").length + (startWordIndex > 0 ? 1 : 0);\n window.speechSynthesis.cancel();\n stopTimer();\n const u = new SpeechSynthesisUtterance(source.slice(charOffset));\n u.rate = speedRef.current;\n u.volume = volumeRef.current;\n u.onboundary = (e) => {\n if (e.name === \"word\" && highlightOnSkipRef.current) {\n highlightWordAt(charOffset + e.charIndex);\n }\n };\n u.onend = () => {\n stopTimer();\n highlightOnSkipRef.current = false;\n if (loopMode === 1 && loopCountRef.current === 0) {\n loopCountRef.current = 1;\n setCurrentTime(0);\n speakFromTime(0);\n return;\n }\n if (loopMode === 2) {\n setCurrentTime(0);\n speakFromTime(0);\n return;\n }\n loopCountRef.current = 0;\n setPlaying(false);\n setCurrentTime(duration);\n };\n utteranceRef.current = u;\n window.speechSynthesis.speak(u);\n setPlaying(true);\n startTimer(time);\n };\n const startTimer = (fromTime) => {\n stopTimer();\n const start = Date.now() - fromTime * 1e3;\n timerRef.current = setInterval(() => {\n const elapsed = (Date.now() - start) / 1e3;\n setCurrentTime(Math.min(elapsed, duration));\n }, 100);\n };\n const togglePlay = () => {\n if (!utteranceRef.current) {\n window.speechSynthesis.cancel();\n loopCountRef.current = 0;\n speakFromTime(currentTime);\n return;\n }\n if (playing) {\n window.speechSynthesis.pause();\n stopTimer();\n setPlaying(false);\n } else {\n window.speechSynthesis.resume();\n startTimer(currentTime);\n setPlaying(true);\n }\n };\n const stopTimer = () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n const getQuickSummary = () => {\n if (mode === \"page\") {\n const pageText = document.body.innerText.replace(/\\s+/g, \" \").trim();\n return pageText ? \"This page provides key information and functionality related to the current module.\" : \"No content available on this page.\";\n }\n return categorizeText(text);\n };\n const getPageContent = () => {\n return document.body.innerText.replace(/\\s+/g, \" \").trim();\n };\n const downloadAudio = () => {\n alert(\"Download audio requires Backend TTS integration\");\n };\n const skip = (sec) => {\n const next = Math.max(0, Math.min(currentTime + sec, duration));\n highlightOnSkipRef.current = true;\n window.speechSynthesis.cancel();\n stopTimer();\n setCurrentTime(next);\n speakFromTime(next);\n startTimer(next);\n };\n const stop = () => {\n window.speechSynthesis.cancel();\n stopTimer();\n loopCountRef.current = 0;\n setPlaying(false);\n setCurrentTime(0);\n textAreaRef.current?.setSelectionRange(0, 0);\n utteranceRef.current = null;\n };\n (0, import_react23.useEffect)(() => {\n return () => {\n window.speechSynthesis.cancel();\n stopTimer();\n };\n }, []);\n (0, import_react23.useEffect)(() => {\n volumeRef.current = volume;\n }, [volume]);\n (0, import_react23.useEffect)(() => {\n speedRef.current = speed;\n }, [speed]);\n (0, import_react23.useEffect)(() => {\n if (!playing) return;\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(currentTime);\n }, [volume]);\n (0, import_react23.useEffect)(() => {\n if (!text.trim()) {\n setDuration(0);\n setCurrentTime(0);\n return;\n }\n const words = text.trim().split(/\\s+/).length;\n const baseDuration = words / WORDS_PER_SECOND;\n baseDurationRef.current = baseDuration;\n setDuration(baseDuration / speed);\n setCurrentTime(0);\n }, [text]);\n (0, import_react23.useEffect)(() => {\n if (!baseDurationRef.current) return;\n const progress = duration === 0 ? 0 : currentTime / duration;\n const newDuration = baseDurationRef.current / speed;\n const newCurrentTime = progress * newDuration;\n setDuration(newDuration);\n setCurrentTime(newCurrentTime);\n if (playing) {\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(newCurrentTime);\n }\n }, [speed]);\n (0, import_react23.useEffect)(() => {\n if (!autoPlayRef.current) return;\n if (!text.trim()) return;\n autoPlayRef.current = false;\n speakFromTime(0);\n }, [text]);\n const getVolumeIcon = () => {\n return volume === 0 ? \"/icons/mute-icon.png\" : \"/icons/sound-icon.png\";\n };\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"div\",\n {\n \"data-testid\": \"text-to-audio-container\",\n className: \"grid grid-cols-[4fr_1fr] gap-[10px] max-[900px]:grid-cols-1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"div\",\n {\n \"data-testid\": \"text-to-audio-card\",\n className: \"border border-[#8ed1b2] bg-[#f1f7f7] rounded-[16px] overflow-hidden flex flex-col h-full\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { className: \"px-[16px] py-[12px] bg-[#e2ecf1] border-b border-[#8ed1b2] font-semibold\", children: \"Text to Speech\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { className: \"flex flex-1 overflow-hidden\", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"textarea\",\n {\n ref: textAreaRef,\n placeholder: \"Enter text here...\",\n value: text,\n onChange: (e) => setText(e.target.value),\n className: \"w-full flex-1 h-[240px] min-h-[240px] max-h-[240px] border-none bg-transparent p-[16px] resize-none outline-none overflow-y-auto leading-[1.6]\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex flex-wrap items-center gap-[10px] p-[12px] bg-[#eaf6f1] border-t border-[#8ed1b2] flex-shrink-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[8px] bg-[#d1e4e7] px-[12px] py-[8px] rounded-full overflow-x-auto\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"10 sec backward\", onClick: () => skip(-10), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.tenBackward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"skip-backward-btn\", onClick: () => skip(-5), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.skipBackward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"play-pause-btn\", onClick: togglePlay, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: playing ? icons.pause : icons.play }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"10-sec-forward-skip\", onClick: () => skip(10), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.tenForward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"5-sec-forward-skip\", onClick: () => skip(5), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n style: {\n width: 16,\n height: 16,\n backgroundImage: `url(${icons.skipBackward})`,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"contain\",\n transform: \"scaleX(-1)\"\n }\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"force-stop\", onClick: stop, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.stop }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\",\n \"data-testid\": \"on-loop-btn\",\n onClick: () => {\n setLoopMode((prev) => prev === 2 ? 0 : prev + 1);\n },\n title: loopMode === 0 ? \"Loop off\" : loopMode === 1 ? \"Loop once\" : \"Loop continuously\",\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { style: { position: \"relative\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.repeat }),\n loopMode === 1 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"span\",\n {\n style: {\n position: \"absolute\",\n right: -4,\n bottom: -4,\n width: 6,\n height: 6,\n borderRadius: \"50%\",\n background: \"#1761a3\"\n }\n }\n ),\n loopMode === 2 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"span\",\n {\n style: {\n position: \"absolute\",\n right: -4,\n bottom: -4,\n fontSize: 10,\n fontWeight: 700,\n color: \"#1761a3\"\n },\n children: \"1\"\n }\n )\n ] })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[6px] w-[180px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n className: \"flex-1 appearance-none h-[6px] rounded-[5px] cursor-pointer\",\n \"data-testid\": \"seek-bar\",\n type: \"range\",\n min: 0,\n max: duration,\n step: 0.01,\n value: currentTime,\n onChange: (e) => {\n const t = Number(e.target.value);\n setCurrentTime(t);\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(t);\n },\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg,\n rgba(23,97,163,1) 0%,\n rgba(77,175,131,1) ${currentTime / duration * 100}%,\n #e5e7eb ${currentTime / duration * 100}%,\n #e5e7eb 100%)`\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"span\",\n {\n style: {\n fontSize: 10,\n color: \"#4a5c57\",\n minWidth: 5,\n textAlign: \"right\"\n },\n children: [\n formatTime2(currentTime),\n \".\",\n formatTime2(duration)\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white border-none px-[12px] py-[6px] rounded-[6px] cursor-pointer\",\n \"data-testid\": \"reads-entire-page-btn\",\n onClick: () => {\n const pageText = getPageContent();\n loopCountRef.current = 0;\n setText(pageText);\n setMode(\"page\");\n setCurrentTime(0);\n speakFromTime(0);\n },\n children: \"Reads Entire page\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white border-none px-[12px] py-[6px] rounded-[6px] cursor-pointer\",\n \"data-testid\": \"reads-given-input\",\n onClick: () => {\n loopCountRef.current = 0;\n setMode(\"textarea\");\n setCurrentTime(0);\n setSummary(categorizeText(text));\n speakFromTime(0);\n },\n children: \"Reads input text\"\n }\n )\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex flex-col gap-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between items-center text-[13px] font-semibold text-[#243a36] mb-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"span\", { children: [\n Math.round(volume * 100),\n \"%\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n onClick: () => setVolume(volume === 0 ? 1 : 0),\n style: {\n width: 18,\n height: 18,\n backgroundImage: `url(${getVolumeIcon()})`,\n backgroundSize: \"contain\",\n backgroundRepeat: \"no-repeat\",\n cursor: \"pointer\"\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n \"data-testid\": \"text-to-audio-volume\",\n type: \"range\",\n min: 0,\n max: 1,\n step: 0.01,\n value: volume,\n onChange: (e) => setVolume(Number(e.target.value)),\n className: \"w-full appearance-none h-[6px] rounded-[5px]\",\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg, \n rgba(23,97,163,1) 0%, \n rgba(77,175,131,1) ${volume * 100}%, \n #e5e7eb ${volume * 100}%, \n #e5e7eb 100%)`\n }\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between text-[13px] font-semibold mb-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Playback Speed\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"span\", { children: [\n speed.toFixed(2),\n \"x\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n \"data-testid\": \"test-to-audio-playbackspeed\",\n type: \"range\",\n min: 0.5,\n max: 2,\n step: 0.25,\n value: speed,\n className: \"w-full appearance-none h-[6px] rounded-[5px]\",\n onChange: (e) => setSpeed(Number(e.target.value)),\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg,\n rgba(23,97,163,1) 0%,\n rgba(77,175,131,1) ${(speed - 0.5) / 1.5 * 100}%,\n #e5e7eb ${(speed - 0.5) / 1.5 * 100}%,\n #e5e7eb 100%)`\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between text-xs text-gray-500 mt-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Slower\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Faster\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { \"data-testid\": \"quick-summary\", className: \"font-semibold mb-[8px]\", children: \"Quick Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"p\", { className: \"text-sm text-[#4a5c57] leading-[1.5]\", children: mode === \"textarea\" ? categorizeText(text) : getQuickSummary() })\n ] })\n ] })\n ]\n }\n );\n};\n\n// src/components/Notifications.tsx\nvar import_react24 = require(\"react\");\nvar import_react_dom3 = require(\"react-dom\");\nvar import_lucide_react6 = require(\"lucide-react\");\nvar import_jsx_runtime33 = require(\"react/jsx-runtime\");\nvar MahatiLocationAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const ref = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const [location, setLocation] = (0, import_react24.useState)(null);\n (0, import_react24.useEffect)(() => {\n if (!navigator.permissions) return;\n navigator.permissions.query({ name: \"geolocation\" }).then((res) => {\n setStatus(res.state);\n res.onchange = () => setStatus(res.state);\n });\n }, []);\n (0, import_react24.useEffect)(() => {\n if (status === \"granted\" && location) {\n onAllow?.(location.coords);\n onClose();\n }\n }, [status, location]);\n const requestLocation = () => {\n navigator.geolocation.getCurrentPosition(\n (pos) => {\n setLocation(pos);\n setStatus(\"granted\");\n },\n () => setStatus(\"denied\"),\n { enableHighAccuracy: true }\n );\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const h = (e) => !ref.current?.contains(e.target) && onClose();\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n }, [isOpen]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-sm\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n className: \"w-[144px] object-contain\",\n alt: \"location\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestLocation,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Location Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiCameraAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const cardRef = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const requestCamera = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n video: true\n });\n setStatus(\"granted\");\n onAllow?.(stream);\n onClose();\n } catch (err) {\n console.error(\"Camera error:\", err);\n setStatus(\"denied\");\n onDeny?.();\n }\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!cardRef.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref: cardRef,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n alt: \"Camera Access\",\n className: \"w-[144px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestCamera,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Camera Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiMicrophoneAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const cardRef = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const requestMic = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: true\n });\n setStatus(\"granted\");\n onAllow?.(stream);\n onClose();\n } catch (err) {\n console.error(\"Microphone error:\", err);\n setStatus(\"denied\");\n onDeny?.();\n }\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!cardRef.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref: cardRef,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n alt: \"Microphone Access\",\n className: \"w-[144px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestMic,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Microphone Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionCard = ({\n headerTitle,\n title,\n testId,\n description,\n ctaText,\n onCtaClick,\n showInput = false,\n inputPlaceholder,\n onInputChange,\n onClose\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"w-full max-w-[420px] overflow-hidden rounded-[16px] border-2 border-[#c5d9e6] bg-[#f1f7f7] shadow-[0_6px_16px_rgba(0,0,0,0.15)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex items-center justify-between bg-gradient-to-r from-[#1761a3] to-[#4daf83] px-5 py-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"text-[16px] font-medium text-white\", children: headerTitle }),\n onClose && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[28px] w-[28px] items-center justify-center rounded-full bg-white/20 hover:bg-white/30\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14, color: \"white\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"px-5 py-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h4\", { className: \"mb-2 text-[18px] font-semibold text-[#111827]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-6 text-[14px] text-[#878787]\", children: description }),\n showInput && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"input\",\n {\n type: \"email\",\n placeholder: inputPlaceholder,\n onChange: (e) => onInputChange?.(e.target.value),\n className: \"mb-4 w-full rounded-[8px] border-2 border-[#c2dae8] bg-[#eaf2f6] px-[14px] py-[12px] text-[14px] focus:border-[#1b5fa7] focus:outline-none\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onCtaClick,\n className: \"w-full rounded-[8px] bg-[#1761a3] py-[12px] text-[14px] font-medium text-white hover:bg-[#174f8a] hover:shadow-[0_4px_12px_rgba(0,0,0,0.2)]\",\n children: ctaText\n }\n )\n ] })\n ]\n }\n );\n};\nvar MahatiPromotionModal = ({\n isOpen,\n onClose,\n ctaLink,\n openInNewTab,\n onCtaClick,\n testId,\n ...cardProps\n}) => {\n const ref = (0, import_react24.useRef)(null);\n const [email, setEmail] = (0, import_react24.useState)(\"\");\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.(email);\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.href = ctaLink;\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n MahatiPromotionCard,\n {\n ...cardProps,\n onClose,\n onInputChange: setEmail,\n onCtaClick: handleCta\n }\n )\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionModalV2Modal = ({\n isOpen,\n testId,\n onClose,\n headerTitle,\n title,\n description,\n ctaText,\n onCtaClick,\n ctaLink,\n openInNewTab = false,\n showBadgeImage = false,\n badgeImageSrc\n}) => {\n const ref = (0, import_react24.useRef)(null);\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.();\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.href = ctaLink;\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px] p-4\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] overflow-hidden rounded-[16px] bg-gradient-to-b from-[#4daf83] via-[#2f8fa0] to-[#1761a3] text-white shadow-[0_20px_40px_rgba(0,0,0,0.35)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex items-center justify-between px-5 py-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"text-[16px] font-medium\", children: headerTitle }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[28px] w-[28px] items-center justify-center rounded-full bg-white/20 hover:bg-white/30\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14, color: \"white\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"px-6 py-10\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h4\", { className: \"mb-4 text-[28px] font-semibold\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-10 max-w-[80%] text-[14px] opacity-90\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: handleCta,\n className: \"rounded-[8px] bg-white px-8 py-3 text-[14px] font-semibold text-[#1761a3] hover:bg-[#f2f6fa] hover:shadow-[0_6px_18px_rgba(0,0,0,0.3)]\",\n children: ctaText\n }\n )\n ] }),\n showBadgeImage && badgeImageSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: badgeImageSrc,\n alt: \"Promotion Badge\",\n className: \"absolute bottom-6 right-[-24px] h-[120px] w-[120px] object-contain\"\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionModalV3Modal = ({\n isOpen,\n testId,\n onClose,\n title,\n description,\n ctaText,\n onCtaClick,\n secondaryText = \"Later\",\n onSecondaryClick,\n imageSrc,\n ctaLink,\n openInNewTab = false\n}) => {\n const ref = (0, import_react24.useRef)(null);\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.();\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.href = ctaLink;\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px] p-4\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref,\n onClick: (e) => e.stopPropagation(),\n className: \"w-full rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-3 text-[14px] font-medium text-white hover:bg-gradient-to-r hover:from-[#174f8a] hover:to-[#4ca676] hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-[20px] top-[20px] flex h-[28px] w-[28px] items-center justify-center rounded-full bg-[#f1f5f9] hover:bg-[#e5e7eb]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14 })\n }\n ),\n imageSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-6 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: imageSrc,\n alt: \"Promotion\",\n className: \"h-[130px] w-[160px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"mb-3 text-[22px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 text-[14px] text-[#6b7280]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: handleCta,\n className: \"w-full rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-3 text-[14px] font-medium text-white hover:bg-gradient-to-r hover:from-[#174f8a] hover:to-[#4ca676] hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: ctaText\n }\n ),\n secondaryText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n onSecondaryClick?.();\n onClose();\n },\n className: \"mt-4 text-[14px] font-medium text-[#1761a3] hover:underline\",\n children: secondaryText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar BADGE_BG_MAP = {\n like: \"#F9595F\",\n mention: \"#E02424\",\n follow: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\",\n comment: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\",\n add: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\"\n};\nvar MahatiNotificationCard = ({\n title,\n testId,\n description,\n time,\n iconSrc,\n avatarSrc,\n badgeIconSrc,\n badgeType,\n primaryActionText,\n onPrimaryAction,\n secondaryActionText,\n onSecondaryAction,\n onClose\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"flex w-full max-w-[640px] items-start gap-4 rounded-[16px] border-2 border-[#c2e2d5] bg-[#f1f7f7] px-4 py-3 shadow-[0_2px_6px_rgba(0,0,0,0.08)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"relative h-[56px] w-[56px] flex-shrink-0 md:h-[64px] md:w-[64px]\", children: [\n iconSrc ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"flex h-full w-full items-center justify-center rounded-[10px] bg-gradient-to-br from-[#1761a3] to-[#4daf83]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: iconSrc,\n alt: \"\",\n className: \"h-[20px] w-[20px] md:h-[24px] md:w-[24px]\"\n }\n ) }) : avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: avatarSrc,\n alt: \"User\",\n className: \"h-full w-full rounded-[10px] object-cover\"\n }\n ),\n badgeIconSrc && badgeType && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"div\",\n {\n className: \"absolute bottom-[-4px] right-[-4px] flex h-[24px] w-[24px] items-center justify-center rounded-full border-2 border-white\",\n style: { background: BADGE_BG_MAP[badgeType] },\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: badgeIconSrc,\n alt: \"\",\n className: \"h-[12px] w-[12px]\"\n }\n )\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"mb-1 flex items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"text-[14px] font-semibold text-[#111827] md:text-[16px]\", children: title }),\n time && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"span\", { className: \"whitespace-nowrap text-[10px] text-[#6b7280] md:text-[12px]\", children: time })\n ] }),\n description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-3 text-[12px] text-[#6b7280] md:text-[14px]\", children: description }),\n (primaryActionText || secondaryActionText) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex flex-col gap-3 sm:flex-row\", children: [\n primaryActionText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onPrimaryAction,\n className: \"flex-1 rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-[10px] text-[14px] font-medium text-white hover:shadow-[0_4px_12px_rgba(0,0,0,0.2)]\",\n children: primaryActionText\n }\n ),\n secondaryActionText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onSecondaryAction,\n className: \"flex-1 rounded-[8px] border-2 border-[#b7d9c9] bg-[#eaf6f1] py-[10px] text-[14px] font-medium text-[#2f6f5e] hover:bg-[#dff1ea]\",\n children: secondaryActionText\n }\n )\n ] })\n ] }),\n onClose && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[24px] w-[24px] items-center justify-center rounded-full bg-[#d7e5ed] hover:bg-[#dcefe6] md:h-[32px] md:w-[32px]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14 })\n }\n )\n ]\n }\n );\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Accordion,\n CardOverlayLoader,\n CardWithLoading,\n CircularSpinner,\n DEFAULT_ACTIVITY_OPTIONS,\n DEFAULT_STATUS_OPTIONS,\n Filter,\n LoadingDots,\n LoadingDotsLinear,\n MahatiActivity,\n MahatiAsyncDropdown,\n MahatiAvatarDropdown,\n MahatiAvatarMultiSelectDropdown,\n MahatiButton,\n MahatiCalendar,\n MahatiCameraAccessModal,\n MahatiCard,\n MahatiCascadingDropdown,\n MahatiChartAnalyticsWidget,\n MahatiConfettiExplosion,\n MahatiDropdown,\n MahatiFormContainer,\n MahatiGroupedDropdown,\n MahatiInput,\n MahatiLocationAccessModal,\n MahatiMicrophoneAccessModal,\n MahatiModal,\n MahatiMultiSelectDropdown,\n MahatiNotificationCard,\n MahatiPromotionModal_V1,\n MahatiPromotionModal_V2,\n MahatiPromotionModal_V3,\n MahatiRealisticConfetti,\n MahatiSearch,\n MahatiSearchableDropdown,\n MahatiStatus,\n MahatiTabbedInterface,\n MahatiTable,\n MahatiTableWithTab,\n MahatiTexttoAudio,\n MahatiToastMessage,\n MahatiTooltip,\n Spinner\n});\n"]}
1
+ {"version":3,"sources":["d:\\insurgence\\cleanup\\uicomponents\\library\\dist\\index.js"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__commonJS","cb","mod","__require","exports","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","isNodeMode","__esModule","value","__toCommonJS","require_down_4","exports2","module2","require_performance_peak_icon","require_calendar_3","require_increase","require_decrease","index_exports","Accordion","CardOverlayLoader","CardWithLoading","CircularSpinner","DEFAULT_ACTIVITY_OPTIONS","DEFAULT_STATUS_OPTIONS","Filter","LoadingDots","LoadingDotsLinear","MahatiActivity","MahatiAsyncDropdown","AsyncDropdown","MahatiAvatarDropdown","AvatarDropdown","MahatiAvatarMultiSelectDropdown","AvatarMultiSelectDropdown","MahatiButton","Button","MahatiCalendar","Calendar","MahatiCameraAccessModal","MahatiCard","Card","MahatiCascadingDropdown","CascadingDropdown","MahatiChartAnalyticsWidget","MahatiConfettiExplosion","ConfettiExplosion","MahatiDropdown","Dropdown","MahatiFormContainer","FormContainer","MahatiGroupedDropdown","GroupedDropdown","MahatiInput","Input","MahatiLocationAccessModal","MahatiMicrophoneAccessModal","MahatiModal","Modal","MahatiMultiSelectDropdown","MultiSelectDropdown","MahatiNotificationCard","MahatiPromotionModal_V1","MahatiPromotionModal","MahatiPromotionModal_V2","MahatiPromotionModalV2Modal","MahatiPromotionModal_V3","MahatiPromotionModalV3Modal","MahatiRealisticConfetti","RealisticConfetti","MahatiSearch","MahatiSearchableDropdown","SearchableDropdown","MahatiStatus","MahatiTabbedInterface","TabbedInterface","MahatiTable","Table","MahatiTableWithTab","TableWithTab","MahatiTexttoAudio","TexttoAudio","MahatiToastMessage","ToastMessage","MahatiTooltip","Tooltip2","Spinner","module","import_react","require","import_lucide_react","import_jsx_runtime","title","children","items","defaultOpenIndex","defaultOpen","className","headerClassName","contentClassName","icon","iconPosition","multipleOpen","onToggle","accordionTestId","headerTestId","contentTestId","useState","openIndexes","setOpenIndexes","normalizedItems","length","content","handleToggle","index","newIndexes","includes","filter","i","jsx","map","item","isOpen","jsxs","disabled","onClick","ChevronUp","ChevronDown","displayName","import_react2","import_jsx_runtime2","parseHeightWidth","match","parseInt","parseGap","gapClass","getColorByName","colors","blue","green","red","orange","purple","yellow","pink","teal","indigo","primary","secondary","success","danger","warning","info","toLowerCase","IconButtonGroup","default","forwardRef","direction","props","ref","gap","style","variantClasses","destructive","outline","ghost","link","dotted","pill","sizeClasses","sm","md","lg","ButtonBase","variant","size","iconButton","iconButtonHeightClass","iconButtonWidthClass","iconButtonBgClass","iconButtonRadiusClass","iconButtonBgPaddingClass","iconButtonHoverBgClass","iconButtonHoverIntensity","testId","color","height","width","minHeight","minWidth","startsWith","background","borderRadius","import_react3","import_lucide_react2","import_jsx_runtime3","cardContent","cardBackContent","collapsible","flippable","backgroundColor","onFlip","open","setOpen","isFlipped","setIsFlipped","contentId","useId","handleFlip","newState","mainContent","variantStyles","elevated","outlined","subtle","figma","sizeStyles","type","e","stopPropagation","p","id","React4","import_lucide_react3","import_jsx_runtime4","MODAL_WIDTH_MAP","xl","getPositionClass","position","onClose","subtitle","customWidth","margin","primaryAction","secondaryAction","headerIcon","showDivider","useEffect","onKey","document","addEventListener","removeEventListener","body","overflow","Fragment","role","X","strokeWidth","label","import_jsx_runtime5","onSubmit","import_react4","import_jsx_runtime6","hasError","errorMessage","onChange","handleChange","import_react6","import_lucide_react4","import_react_dom","import_react5","import_hi","import_hi2","import_jsx_runtime7","convertToDateString","date","year","month","String","padStart","day","isSameDate","date1","date2","formatDate","formatDateWithFormat","format","monthNum","monthNames","monthAbbr","formatTime","time","hour24","hour","period","hour2","minute2","minute","getDaysInMonth","monthIndex","Date","getDate","getFirstDayOfMonth","getDay","getMonthName","toLocaleDateString","DATE_FORMAT_OPTIONS","TIME_ZONE_OPTIONS","compareInternalDates","a","b","addDaysInternal","start","daysToAdd","y","m","d","dim","isBlockedDateHelper","config","days","startInternal","startDate","endInternal","currentInternal","afterOrOnStart","beforeOrOnEnd","getLocalTimeZone","timeZoneString","Intl","DateTimeFormat","resolvedOptions","timeZone","shortTimeZone","toLocaleTimeString","timeZoneName","split","SIZE_SCALES","getDeviceScale","window","innerWidth","calendartestId","enableRangeSelection","rangeValue","onRangeChange","enableTimeSelection","timeValue","onTimeChange","showTimeFormatToggle","timeFormat","onTimeFormatChange","autoHide","showTodayButton","showClearButton","placeholder","onShow","onHide","showIcon","enableYearDropdown","showDateFormatSelector","dateFormat","onDateFormatChange","showTimeZoneSelector","timeZoneFormat","onTimeZoneFormatChange","blockDateConfig","previewTextStyles","globalTypography","today","getFullYear","currentYear","setCurrentYear","getMonth","currentMonth","setCurrentMonth","end","internalRangeValue","setInternalRangeValue","setIsOpen","activeField","setActiveField","showTimeSelector","setShowTimeSelector","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedPeriod","setSelectedPeriod","internalTimeFormat","setInternalTimeFormat","showYearDropdown","setShowYearDropdown","internalDateFormat","setInternalDateFormat","internalTimeZoneFormat","setInternalTimeZoneFormat","deviceScale","setDeviceScale","positionAbove","setPositionAbove","containerRef","useRef","calendarRef","sizeScale","scale","finalRangeValue","scaled","value2","Math","round","handleResize","current","calculatePosition","containerRect","getBoundingClientRect","calendarHeight","offsetHeight","spaceBelow","innerHeight","bottom","spaceAbove","top","bufferSpace","handleClickOutside","event","contains","daysInMonth","firstDay","monthName","previousMonth","nextMonth","selectDate","newRange","startTime","getTime","endTime","dateString","selectToday","todayDate","now","currentHour","getHours","currentMinute","getMinutes","hour12","localTZ","clearDate","toggleCalendar","handleStartFieldClick","handleEndFieldClick","handleChooseTimeClick","handleChooseDateClick","handleTimeFormatToggle","newFormat","handleTimeConfirm","handleDateConfirm","handleMonthYearClick","handleYearSelect","renderDays","isSelected","isInRange","currentTime","isToday","isBlocked","push","fontSize","totalCells","remainingCells","renderTimeSelector","hours12","Array","_","hours24","minutes","marginBottom","transform","paddingLeft","paddingRight","border","HiChevronDown","zone","marginTop","Number","paddingTop","flex","HiOutlineClock","defaultIcon","HiCalendarDays","readOnly","paddingBottom","cursor","opacity","padding","marginLeft","HiChevronLeft","HiChevronRight","import_jsx_runtime8","onApply","onReset","activityOptions","statusOptions","searchPlaceholder","activity","status","keyword","values","setValues","prev","resetField","resetAll","newValues","applyFilters","Section","range","SelectWrapper","opt","SelectIcon","options","triggerRef","dropdownRef","pos","setPos","selectedLabel","find","o","updatePosition","rect","scrollY","left","scrollX","handler","createPortal","import_react7","import_jsx_runtime9","getFontFamily","font","lower","trim","tabs","defaultActiveTab","onTabChange","draggableTabs","onReorderTabs","orientation","verticalPosition","showTabCloseIconInHeader","tabCloseIconPosition","tabCloseIconContent","onCloseTab","tabHeaderFont","tabContentFont","sectionTitleFont","sectionDescriptionFont","activeIndex","setActiveIndex","draggingIndex","setDraggingIndex","effectiveCloseIconContent","tabHeaderFontFamily","tabContentFontFamily","handleTabClick","handleDragStart","handleDragOver","preventDefault","handleDrop","fromIndex","toIndex","prevActive","active","handleDragEnd","headerButtons","tab","isDragging","showClose","closeIcon","draggable","onDragStart","onDragOver","onDrop","onDragEnd","fontFamily","import_react8","import_jsx_runtime10","onSelect","internalSelected","setInternalSelected","selectedOption","handleSelect","option","handleButtonClick","basic","dark","underline","shadow","glass","gradient","import_react9","import_outline","import_jsx_runtime11","getFontFamily2","renderCellValue","isValidElement","isArray","some","v","join","toLocaleString","toString","JSON","stringify","DefaultTabContent","headers","row","h","tableProps","tabProps","rearrange","getRowId","renderTabContent","onRowOpenInTab","description","tabLabelKey","data","setTabs","labelColumnKey","sectionTitleFontFamily","sectionDescriptionFontFamily","t","rawLabel","rowIndex","handleRowClick","existsIndex","findIndex","next2","splice","next","handleCloseTab","isRowSelected","handleReorderTabs","moved","tabbedInterfaceTabs","XMarkIcon","effectiveShowHeaderClose","header","colSpan","selected","rowId","import_react10","import_outline2","import_jsx_runtime12","page","setPage","limit","setLimit","totalCount","highlightRowColor","actions","paginationRequired","paginationPosition","onDownloadPDF","onDownloadExcel","searchable","searchTerm","onResetSearch","onSearch","searchModeOptions","summary","summaryKey","summaryTitleField","summaryColumn","summaryColumnKey","summaryColumnMaxLength","textWrapColumns","textWrapMaxLength","textWrapColumnMaxLengths","tableTestId","searchMode","setSearchMode","expandedRowIndex","setExpandedRowIndex","Set","expandedRowIndexes","setExpandedRowIndexes","isPaginated","totalPages","max","ceil","currentPage","goToPage","clamped","min","renderPageNumbers","pages","siblings","summaryColKeyToUse","renderCell","truncated","substring","mode","ArrowDownOnSquareIcon","idx","isExpanded","has","toggleRow","delete","add","import_react17","import_react11","import_jsx_runtime13","assetSrc","anyM","src","arrowDownIcon","getTriggerClasses","base","getMenuClasses","getOptionClasses","ChartDropdown","internalValue","setInternalValue","displayValue","useMemo","optionValue","onKeyDown","alt","import_react12","import_chart","import_react_chartjs_2","import_jsx_runtime14","Chart","register","ArcElement","Tooltip","Legend","CategoryScale","LinearScale","PointElement","LineElement","BarElement","Filler","makeAreaDataStraight","datasets","ds","tension","cubicInterpolationMode","PieLineBarChart","chartType","defaultOptions","isLineFamily","responsive","maintainAspectRatio","elements","line","plugins","legend","display","tooltip","intersect","titleColor","bodyColor","borderColor","borderWidth","displayColors","scales","x","grid","drawBorder","ticks","interaction","axis","cutout","chartOptions","renderChart","Line","Bar","Doughnut","import_jsx_runtime15","BulletChart","bullets","percentageAchieved","achieved","achievedWidth","markerPosition","marker","import_jsx_runtime16","GaugeChart","gauges","fontWeight","gauge","percentage","angle","remaining","dailyAvg","viewBox","x1","y1","x2","y2","offset","stopColor","fill","stroke","strokeLinecap","transition","strokeDasharray","gradientUnits","stopOpacity","textAnchor","transformOrigin","DEFAULT_RISK_BANDS","rangeStart","rangeEnd","createRiskArcPath","centerX","centerY","radius","startAngle","endAngle","startRad","PI","endRad","cos","sin","largeArcFlag","getRiskLevel","score","bands","band","RiskGaugeChart","maxScore","currentLevel","bandIndex","arcPath","bandIdx","import_jsx_runtime17","HorizontalBarChart","bars","xAxisConfig","topPerformer","safeBars","bar","whiteSpace","labels","totalLabels","approxCharWidth","centerOffset","maxVal","barLengthPercentage","import_react13","import_jsx_runtime18","assetSrc2","arrowDownIcon2","GANTT_COLORS","emerald","GanttChart","selectedYear","selectedMonth","selectedProject","onProjectChange","isProjectDropdownOpen","setIsProjectDropdownOpen","projects","projectData","getMonthNames","monthRange","monthMap","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","month1","month2","getMonthNumber","monthNumberMap","getTodayPosition","currentDay","monthToNumber","selectedMonth1","selectedMonth2","selectedYearNum","dayPercent","positionInMonth","mobileLeft","desktopLeft","show","todayPosition","months","displayMonths","month1Num","month2Num","getTaskPosition","endDate","startDay","startMonth","endDay","endMonth","selectedMonth1Num","selectedMonth2Num","startPercent","isInSecondMonth","lineHeight","baseHeight","taskHeight","taskSpacing","tasks","DateRangeBoxes","alignItems","justifyContent","aspectRatio","boxShadow","project","smLeft","section","task","taskColor","import_react14","import_jsx_runtime19","LEGEND_COLORS","getActivityColor","getYearWeeks","calendarheatmapData","weeks","firstDayOfWeek","daysToMonday","firstMonday","currentDate","lastMonth","weekIndex","maxWeeks","MONTH_NAMES_FULL","MONTH_NAMES_SHORT","hasCurrentYearDate","dateStr","dayData","weekDays","setDate","dayIndex","thursday","weekMonth","monthLabel","CalendarHeatmapChart","selectedType","hoveredCell","setHoveredCell","visible","cellColor","tooltipData","setTooltipData","yearWeeks","dayRows","forEach","week","weekIdx","dayIdx","strokeLinejoin","rowIdx","cell","colIdx","isCurrentYear","cellKey","isHovered","onMouseEnter","currentTarget","onMouseLeave","marginRight","import_jsx_runtime20","DEFAULT_COLORS","LollipopChart","MenuButtonDots","maxValue","gridPositions","axisLabels","slice","textOverflow","reverse","maxWidth","import_jsx_runtime21","defaultGradient","ColumnChart","columns","yAxisConfig","safeColumns","minValue","yAxisLabels","formatValue","toFixed","calculateHeight","column","columnHeightPercentage","import_react15","import_jsx_runtime22","createLinearPath","points","path","createAreaPath","linePath","lastPoint","firstPoint","calculatePercentageChange","firstValue","lastValue","abs","getTimeLabel","dataLength","timestamps","monthsDiff","daysDiff","years","floor","getDateRange","filteredTimestamps","allTimestamps","formatDateRange","formatSingleDate","sameYear","sd","sy","em","ed","ey","calculateSum","reduce","s","formatCurrencyValue","prefix","KPIChart","hoveredIndex","setHoveredIndex","tooltipPos","setTooltipPos","timePeriods","filteredData","cutoffDate","setMonth","setFullYear","filtered","filteredTS","timestamp","dataDate","percentageChange","isPositive","dynamicTimeLabel","dynamicDateRange","dynamicValue","chartWidth","chartHeight","calculatedPoints","linearPath","areaPath","gradientId","random","substr","handleMouseMove","svg","ownerSVGElement","clientX","nearestIndex","minDistance","point","distance","positiveGradientStop","trendColor","changeIndicatorBg","letterSpacing","preserveAspectRatio","isNaN","cx","cy","r","onMouseMove","borderTop","text","import_jsx_runtime23","DEFAULT_BAR_COLORS","revenue","profit","loss","cost","GroupBarChart","groups","legends","safeGroups","getColorMap","colorMap","BAR_COLORS","getProfitOrLoss","group","profitOrLoss","profitOrLossValue","isProfitable","profitLossColor","profitLossAbsValue","barIdx","textAlign","wordBreak","overflowWrap","import_react16","import_jsx_runtime24","DEFAULT_COLORS2","aggregating","outstanding","writeOff","StackBarChart","setTooltip","safeData","COLORS","getLabel","l","defaultLabels","handleSegmentMouseEnter","total","totalHeight","aggregatingPercent","outstandingPercent","writeOffPercent","backdropFilter","import_jsx_runtime25","assetSrc3","FALLBACK_ICONS","performancePeakIcon","calendarIcon","increaseIcon","decreaseIcon","getIconSrc","imported","fallback","colorToClass","c","getStatusColors","statusConfig","textColor","tabLabel","charAt","toUpperCase","MenuDotsButton","chartTypes","initialChartType","filters","chartFilters","selectedFilters","chartDataMap","bulletData","gaugeData","horizontalBarData","columnChartData","groupBarData","stackBarData","lollipopData","kpiData","riskGaugeData","ganttData","heatmapData","onApplyFilters","quickStats","actionButtons","onChartTypeChange","onFiltersChange","details","setChartType","selectedGanttProject","setSelectedGanttProject","selectedCalendarHeatmapProject","setSelectedCalendarHeatmapProject","localFilters","setLocalFilters","currentFilters","currentData","isPieFamily","bulletDetails","bullet","currentGanttData","baseData","projectName","newProgress","progress","newStatus","currentHorizontalBarTopPerformer","yearData","monthData","monthOrder","currentMonthIndex","indexOf","previousYear","previousYearData","previousMonthData","products","keys","maxRevenue","topProduct","minRevenue","Infinity","needsFocusProduct","product","Revenue","isIncrease","cur","topProductData","category","Profit","needsFocus","change","calendarPeakAndActiveDay","empty","peakDay","dayName","mostActiveDay","count","average","allDayData","dayOfWeekCounts","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","n","dateObj","dayNames","entries","stats","avg","formatPeakDate","weekday","currentBulletData","SelectYear","SelectMonth","SelectType","typeData","currentKPIData","kpiKey","currentGauge","sp","productData","xAxis","Cost","st","yAxis","lYearData","ly","lm","lc","lo","lCatData","selectedCategory","currentRiskGauges","sw","selectedWeek","allData","isActive","zIndex","val","updated","statusColors","totalVolume","transactions","getBadgeBg","QuickInsightsCard","peakIconSrc","peakDate","peakEvents","calendarIconSrc","activeDayLabel","activeDayValue","activeAvg","dateLabel","sm2","dailyAvgNeeded","currentPace","daysRemaining","yearNum","lastDayOfMonth","lastDay","lastDayWeekday","lastFriday","formattedDate","currentRiskGauge","lastTask","TopPerformerCard","performer","totalRevenue","sum","contribution","ci","prevMonth","prevYear","prevTypeData","prevTop","growth","rank","sort","currentTotal","prevTotal","pctChange","bgColor","minimumFractionDigits","maximumFractionDigits","defaultLegends","getColor","revenueColor","profitColor","lossColor","g","topPL","isTopProfitable","prevGroups","lossProducts","needsFocusHasLoss","mt","ct","topTotal","mt2","ct2","weekNum","replace","prevWeek","prevDay","pt","ch","fid","f","f0","f1","f2","catData","bestItem","lowestItem","aboveAvg","import_react18","import_jsx_runtime26","image","animation","setVisible","isReady","setIsReady","showAnimation","setShowAnimation","tooltipPosition","setTooltipPosition","adjustedPosition","setAdjustedPosition","tooltipRef","hasContent","tooltipRect","viewportWidth","viewportHeight","finalPosition","right","showTooltip","requestAnimationFrame","delay","triggerDelay","setTimeout","hideTooltip","handleUpdate","passive","renderTooltipContent","loading","renderAnimation","AnimationComponent","component","variantStyle","onFocus","onBlur","import_react19","import_react_dom2","import_jsx_runtime27","getStripGradient","getGradient","getTitleColor","getIcon","objectFit","altText","customTitle","message","duration","custom","action","rest","backgroundClass","displayTitle","hasActions","timer","clearTimeout","closeIconSrc","iconElement","iconSrc","iconWidth","iconHeight","titleFontFamily","messageFontFamily","messageColor","closeIconWidth","closeIconHeight","btn","import_react20","import_jsx_runtime28","particleCount","force","particleSize","stageHeight","particles","setParticles","animationFrameRef","timerRef","stableColors","newParticles","speed","fromLeft","startX","shape","rotation","rotationSpeed","vx","vy","gravity","life","animate","elapsed","prevParticles","particle","cancelAnimationFrame","starGradient","clipPath","import_react21","import_jsx_runtime29","import_jsx_runtime30","SrOnly","primaryColor","borderTopColor","ringCount","rings","ringSize","animationDelay","spinnerSize","spinnerBorderWidth","spinnerPrimary","spinnerTrack","backdrop","dots","imageUrl","import_react22","import_lucide_react5","import_jsx_runtime31","search","setSearch","removeValue","toggleValue","filteredOptions","lbl","checked","level2","level1","level3","displayText","isSectionSelected","isChildChecked","toggleSection","toggleChild","exists","flatMap","loadOptions","setOptions","setLoading","then","finally","Loader2","import_react23","import_jsx_runtime32","ControlIcon","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","defaultIcons","play","pause","stop","repeat","skipForward","skipBackward","tenForward","tenBackward","icons","WORDS_PER_SECOND","setText","setMode","playing","setPlaying","setCurrentTime","setDuration","volume","setVolume","setSpeed","loop","setLoop","utteranceRef","wordIndexRef","textAreaRef","highlightOnSkipRef","setSummary","loopMode","setLoopMode","loopCountRef","autoPlayRef","baseDurationRef","timerBaseRef","volumeRef","speedRef","categorizeText","input","text2","categories","Technology","keywords","Business","Education","Media","Human","Geography","Nature","Health","summaries","k","highlightWordAt","startIndex","ta","test","focus","setSelectionRange","formatTime2","sec","getSourceText","speakFromTime","speechSynthesis","cancel","source","words","startWordIndex","charOffset","stopTimer","u","SpeechSynthesisUtterance","rate","onboundary","charIndex","onend","speak","startTimer","fromTime","setInterval","togglePlay","resume","clearInterval","getQuickSummary","pageText","innerText","getPageContent","downloadAudio","alert","skip","baseDuration","newDuration","newCurrentTime","getVolumeIcon","step","accentColor","import_react24","import_react_dom3","import_lucide_react6","import_jsx_runtime33","allowText","denyText","onAllow","onDeny","setStatus","location","setLocation","navigator","permissions","query","res","state","onchange","coords","requestLocation","geolocation","getCurrentPosition","enableHighAccuracy","cardRef","requestCamera","stream","err","mediaDevices","getUserMedia","video","console","error","requestMic","audio","MahatiPromotionCard","headerTitle","ctaText","onCtaClick","showInput","inputPlaceholder","onInputChange","ctaLink","openInNewTab","cardProps","email","setEmail","handleCta","assign","showBadgeImage","badgeImageSrc","href","secondaryText","onSecondaryClick","imageSrc","BADGE_BG_MAP","like","mention","follow","comment","avatarSrc","badgeIconSrc","badgeType","primaryActionText","onPrimaryAction","secondaryActionText","onSecondaryAction"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAIA,WAAWC,OAAOC,MAAM;AAC5B,IAAIC,YAAYF,OAAOG,cAAc;AACrC,IAAIC,mBAAmBJ,OAAOK,wBAAwB;AACtD,IAAIC,oBAAoBN,OAAOO,mBAAmB;AAClD,IAAIC,eAAeR,OAAOS,cAAc;AACxC,IAAIC,eAAeV,OAAOW,SAAS,CAACC,cAAc;AAClD,IAAIC,aAAa,oBAACC,IAAIC;WAAQ,SAASC;QACrC,OAAOD,OAAO,AAAC,CAAA,GAAGD,EAAE,CAACR,kBAAkBQ,GAAG,CAAC,EAAE,CAAA,AAAC,EAAE,AAACC,CAAAA,MAAM;YAAEE,SAAS,CAAC;QAAE,CAAA,EAAGA,OAAO,EAAEF,MAAMA,IAAIE,OAAO;IACpG;;AACA,IAAIC,WAAW,kBAACC,QAAQC;IACtB,IAAK,IAAIC,QAAQD,IACflB,UAAUiB,QAAQE,MAAM;QAAEC,KAAKF,GAAG,CAACC,KAAK;QAAEE,YAAY;IAAK;AAC/D;AACA,IAAIC,cAAc,qBAACC,IAAIC,MAAMC,QAAQC;IACnC,IAAIF,QAAQ,CAAA,OAAOA,qCAAP,SAAOA,KAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;YAC7D,kCAAA,2BAAA;;;gBAAA,IAAIG,MAAJ;gBACH,IAAI,CAACnB,aAAaoB,IAAI,CAACL,IAAII,QAAQA,QAAQF,QACzCzB,UAAUuB,IAAII,KAAK;oBAAEP,KAAK,SAALA;+BAAWI,IAAI,CAACG,IAAI;;oBAAEN,YAAY,CAAEK,CAAAA,OAAOxB,iBAAiBsB,MAAMG,IAAG,KAAMD,KAAKL,UAAU;gBAAC;;YAFpH,QAAK,YAAWjB,kBAAkBoB,0BAA7B,SAAA,6BAAA,QAAA,yBAAA;;YAAA;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;IAGP;IACA,OAAOD;AACT;AACA,IAAIM,UAAU,iBAAChB,KAAKiB,YAAYb;WAAYA,SAASJ,OAAO,OAAOhB,SAASS,aAAaO,QAAQ,CAAC,GAAGS,YACnG,sEAAsE;IACtE,iEAAiE;IACjE,sEAAsE;IACtE,qEAAqE;IACrEQ,cAAc,CAACjB,OAAO,CAACA,IAAIkB,UAAU,GAAG/B,UAAUiB,QAAQ,WAAW;QAAEe,OAAOnB;QAAKQ,YAAY;IAAK,KAAKJ,QACzGJ;;AAEF,IAAIoB,eAAe,sBAACpB;WAAQS,YAAYtB,UAAU,CAAC,GAAG,cAAc;QAAEgC,OAAO;IAAK,IAAInB;;AAEtF,8BAA8B;AAC9B,IAAIqB,iBAAiBvB,WAAW;IAC9B,+BAAA,SAA8BwB,QAAQ,EAAEC,OAAO;QAC7CA,QAAQrB,OAAO,GAAG;IACpB;AACF;AAEA,6CAA6C;AAC7C,IAAIsB,gCAAgC1B,WAAW;IAC7C,8CAAA,SAA6CwB,QAAQ,EAAEC,OAAO;QAC5DA,QAAQrB,OAAO,GAAG;IACpB;AACF;AAEA,kCAAkC;AAClC,IAAIuB,qBAAqB3B,WAAW;IAClC,mCAAA,SAAkCwB,QAAQ,EAAEC,OAAO;QACjDA,QAAQrB,OAAO,GAAG;IACpB;AACF;AAEA,gCAAgC;AAChC,IAAIwB,mBAAmB5B,WAAW;IAChC,iCAAA,SAAgCwB,QAAQ,EAAEC,OAAO;QAC/CA,QAAQrB,OAAO,GAAG;IACpB;AACF;AAEA,gCAAgC;AAChC,IAAIyB,mBAAmB7B,WAAW;IAChC,iCAAA,SAAgCwB,QAAQ,EAAEC,OAAO;QAC/CA,QAAQrB,OAAO,GAAG;IACpB;AACF;AAEA,eAAe;AACf,IAAI0B,gBAAgB,CAAC;AACrBzB,SAASyB,eAAe;IACtBC,WAAW,SAAXA;eAAiBA;;IACjBC,mBAAmB,SAAnBA;eAAyBA;;IACzBC,iBAAiB,SAAjBA;eAAuBA;;IACvBC,iBAAiB,SAAjBA;eAAuBA;;IACvBC,0BAA0B,SAA1BA;eAAgCA;;IAChCC,wBAAwB,SAAxBA;eAA8BA;;IAC9BC,QAAQ,SAARA;eAAcA;;IACdC,aAAa,SAAbA;eAAmBA;;IACnBC,mBAAmB,SAAnBA;eAAyBA;;IACzBC,gBAAgB,SAAhBA;eAAsBA;;IACtBC,qBAAqB,SAArBA;eAA2BC;;IAC3BC,sBAAsB,SAAtBA;eAA4BC;;IAC5BC,iCAAiC,SAAjCA;eAAuCC;;IACvCC,cAAc,SAAdA;eAAoBC;;IACpBC,gBAAgB,SAAhBA;eAAsBC;;IACtBC,yBAAyB,SAAzBA;eAA+BA;;IAC/BC,YAAY,SAAZA;eAAkBC;;IAClBC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,4BAA4B,SAA5BA;eAAkCA;;IAClCC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,gBAAgB,SAAhBA;eAAsBC;;IACtBC,qBAAqB,SAArBA;eAA2BC;;IAC3BC,uBAAuB,SAAvBA;eAA6BC;;IAC7BC,aAAa,SAAbA;eAAmBC;;IACnBC,2BAA2B,SAA3BA;eAAiCA;;IACjCC,6BAA6B,SAA7BA;eAAmCA;;IACnCC,aAAa,SAAbA;eAAmBC;;IACnBC,2BAA2B,SAA3BA;eAAiCC;;IACjCC,wBAAwB,SAAxBA;eAA8BA;;IAC9BC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,yBAAyB,SAAzBA;eAA+BC;;IAC/BC,cAAc,SAAdA;eAAoBA;;IACpBC,0BAA0B,SAA1BA;eAAgCC;;IAChCC,cAAc,SAAdA;eAAoBA;;IACpBC,uBAAuB,SAAvBA;eAA6BC;;IAC7BC,aAAa,SAAbA;eAAmBC;;IACnBC,oBAAoB,SAApBA;eAA0BC;;IAC1BC,mBAAmB,SAAnBA;eAAyBC;;IACzBC,oBAAoB,SAApBA;eAA0BC;;IAC1BC,eAAe,SAAfA;eAAqBC;;IACrBC,SAAS,SAATA;eAAeA;;AACjB;AACAC,OAAO/F,OAAO,GAAGkB,aAAaQ;AAE9B,+BAA+B;AAC/B,IAAIsE,eAAeC,QAAQ;AAC3B,IAAIC,sBAAsBD,QAAQ;AAClC,IAAIE,qBAAqBF,QAAQ;AACjC,SAAStE,UAAU,KAgBlB;QAfCyE,QADiB,MACjBA,OACAC,WAFiB,MAEjBA,yBAFiB,MAGjBC,OAAAA,kCAAQ,EAAE,2CAHO,MAIjBC,kBAAAA,wDAAmB,gCACnBC,cALiB,MAKjBA,gCALiB,MAMjBC,WAAAA,0CAAY,gDANK,MAOjBC,iBAAAA,sDAAkB,uDAPD,MAQjBC,kBAAAA,wDAAmB,8BACnBC,OATiB,MASjBA,4BATiB,MAUjBC,cAAAA,gDAAe,qDAVE,MAWjBC,cAAAA,gDAAe,6BACfC,WAZiB,MAYjBA,UACAC,kBAbiB,MAajBA,iBACAC,eAdiB,MAcjBA,cACAC,gBAfiB,MAejBA;IAEA,IAAsC,wBAAA,AAAC,CAAA,GAAGlB,aAAamB,QAAO,AAAC,EAC7DX,cAAc;QAAC;KAAE,GAAGD,qBAAqB,QAAQA,qBAAqB,KAAK,IAAI;QAACA;KAAiB,GAAG,EAAE,OADjGa,cAA+B,SAAlBC,iBAAkB;IAGtC,IAAMC,kBAAkBhB,SAASA,MAAMiB,MAAM,GAAG,IAAIjB,QAAQF,UAAU,KAAK,IAAI;QAAC;YAAEA,OAAAA;YAAOoB,SAASnB;QAAS;KAAE,GAAG,EAAE;IAClH,IAAMoB,eAAe,sBAACC;QACpB,IAAIC;QACJ,IAAIb,cAAc;YAChB,IAAIM,YAAYQ,QAAQ,CAACF,QAAQ;gBAC/BC,aAAaP,YAAYS,MAAM,CAAC,SAACC;2BAAMA,MAAMJ;;YAC/C,OAAO;gBACLC,aAAa,AAAC,qBAAGP,oBAAJ;oBAAiBM;iBAAM;YACtC;QACF,OAAO;YACLC,aAAaP,YAAYQ,QAAQ,CAACF,SAAS,EAAE,GAAG;gBAACA;aAAM;QACzD;QACAL,eAAeM;IACjB;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGxB,mBAAmB4B,GAAE,AAAC,EAC/C,OACA;QACE,eAAef;QACfP,WAAW,AAAC,oFAA6F,OAAVA;QAC/FJ,UAAUiB,gBAAgBU,GAAG,CAAC,SAACC,MAAMP;YACnC,IAAMQ,SAASd,YAAYQ,QAAQ,CAACF;YACpC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGvB,mBAAmBgC,IAAG,AAAC,EAAE,OAAO;gBAAE9B,UAAU;oBACrE,aAAa,GAAI,CAAA,GAAGF,mBAAmBgC,IAAG,AAAC,EACzC,UACA;wBACE,eAAelB;wBACfmB,UAAUH,KAAKG,QAAQ;wBACvBC,SAAS,SAATA;mCAAeZ,aAAaC;;wBAC5BjB,WAAW,AAAC,0JAKRyB,OADAD,KAAKG,QAAQ,GAAG,kCAAkC,kBAAiB,sBAEnE1B,OADAwB,SAAS,4DAA4D,2BAA0B,sBAC/E,OAAhBxB,iBAAgB;wBAEpBL,UAAU;4BACRQ,iBAAiB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGV,mBAAmB4B,GAAE,AAAC,EAAE,QAAQ;gCAAEtB,WAAW;gCAAQJ,UAAUO,QAASsB,CAAAA,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG/B,mBAAmB4B,GAAE,AAAC,EAAE7B,oBAAoBoC,SAAS,EAAE,CAAC,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGnC,mBAAmB4B,GAAE,AAAC,EAAE7B,oBAAoBqC,WAAW,EAAE,CAAC,EAAC;4BAAG;4BACnS,aAAa,GAAI,CAAA,GAAGpC,mBAAmB4B,GAAE,AAAC,EAAE,QAAQ;gCAAEtB,WAAW;gCAAoBJ,UAAU4B,KAAK7B,KAAK;4BAAC;4BAC1GS,iBAAiB,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGV,mBAAmB4B,GAAE,AAAC,EAAE,QAAQ;gCAAE1B,UAAUO,QAASsB,CAAAA,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG/B,mBAAmB4B,GAAE,AAAC,EAAE7B,oBAAoBoC,SAAS,EAAE,CAAC,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGnC,mBAAmB4B,GAAE,AAAC,EAAE7B,oBAAoBqC,WAAW,EAAE,CAAC,EAAC;4BAAG;yBAClR;oBACH;oBAEFL,UAAU,CAACD,KAAKG,QAAQ,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAGjC,mBAAmB4B,GAAE,AAAC,EACpE,OACA;wBACE,eAAeb;wBACfT,WAAW,AAAC,sDAAsE,OAAjBE;wBACjEN,UAAU4B,KAAKT,OAAO;oBACxB;oBAEFE,UAAUJ,gBAAgBC,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGpB,mBAAmB4B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;oBAA4B;iBACrI;YAAC,GAAGiB;QACP;IACF;AAEJ;AACA/F,UAAU6G,WAAW,GAAG;AAExB,4BAA4B;AAC5B,IAAIC,gBAAgB3H,QAAQmF,QAAQ;AACpC,IAAIyC,sBAAsBzC,QAAQ;AAClC,IAAI0C,mBAAmB,0BAAClC;IACtB,IAAI,CAACA,WAAW,OAAO;IACvB,IAAMmC,QAAQnC,UAAUmC,KAAK,CAAC;IAC9B,IAAIA,OAAO;QACT,OAAO,AAAC,GAAyB,OAAvBC,SAASD,KAAK,CAAC,EAAE,IAAI,GAAE;IACnC;IACA,OAAO;AACT;AACA,IAAIE,WAAW,kBAACC;IACd,IAAI,CAACA,UAAU,OAAO;IACtB,IAAMH,QAAQG,SAASH,KAAK,CAAC;IAC7B,IAAIA,OAAO;QACT,OAAO,AAAC,GAAyB,OAAvBC,SAASD,KAAK,CAAC,EAAE,IAAI,GAAE;IACnC;IACA,OAAO;AACT;AACA,IAAII,iBAAiB,wBAAC5I;IACpB,IAAM6I,SAAS;QACbC,MAAM;QACNC,OAAO;QACPC,KAAK;QACLC,QAAQ;QACRC,QAAQ;QACRC,QAAQ;QACRC,MAAM;QACNC,MAAM;QACNC,QAAQ;QACRC,SAAS;QACTC,WAAW;QACXC,SAAS;QACTC,QAAQ;QACRC,SAAS;QACTC,MAAM;IACR;IACA,OAAOf,MAAM,CAAC7I,iBAAAA,2BAAAA,KAAM6J,WAAW,GAAG,IAAIhB,OAAOU,OAAO;AACtD;AACA,IAAIO,kBAAkBzB,cAAc0B,OAAO,CAACC,UAAU,CACpD;;;;0EAAG3D,kBAAAA,kCAAW4D,WAAAA,wCAAY,wBAAOtB,iBAAAA,UAAU1C,iBAAAA,UAAaiE;;;;;6CAASC;IAC/D,IAAMC,MAAM1B,SAASC;IACrB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGL,oBAAoBX,GAAE,AAAC,EAChD,OACA;QACEwC,KAAAA;QACAE,OAAO;YAAED,KAAAA;QAAI;QACb/D,WAAW,AAAC,eAAwFA,OAA1E4D,cAAc,QAAQ,yBAAyB,yBAAwB,KAAmB,OAAhB5D,aAAa;OAC9G6D;QACHjE,UAAAA;;AAGN;AAEF6D,gBAAgB1B,WAAW,GAAG;AAC9B,IAAIkC,iBAAiB;IACnB,0CAA0C;IAC1CP,SAAS;IACTQ,aAAa;IACbC,SAAS;IACT,sEAAsE;IACtEhB,WAAW;IACXiB,OAAO;IACPC,MAAM;IACNhB,QAAQ;IACRiB,QAAQ;IACRC,MAAM;AACR;AACA,IAAIC,cAAc;IAChBC,IAAI;IACJC,IAAI;IACJC,IAAI;IACJxE,MAAM;IACNuD,SAAS;AACX;AACA,IAAIkB,aAAa5C,cAAc0B,OAAO,CAACC,UAAU,CAC/C;;;;0EACE3D,kBAAAA,gCACA6E,SAAAA,oCAAU,4CACVC,MAAAA,8BAAO,uBACPnL,aAAAA,8BACAoL,YAAAA,0CAAa,yBACbC,8BAAAA,uBACAC,6BAAAA,sBACAC,0BAAAA,mBACAC,8BAAAA,uBACAC,iCAAAA,0BACAC,+BAAAA,wBACAC,iCAAAA,0BACA1F,iBAAAA,UACA2F,eAAAA,QACAvB,cAAAA,OACGH;;;;;;;;;;;;;;;;6CACFC;IACD,IAAM0B,QAAQjD,eAAe5I;IAC7B,IAAIoL,YAAY;QACd,IAAMU,SAASvD,iBAAiB8C;QAChC,IAAMU,QAAQxD,iBAAiB+C;QAC/B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGhD,oBAAoBX,GAAE,AAAC,EAChD,UACA;YACEwC,KAAAA;YACAE,OAAO;gBACLyB,QAAAA;gBACAC,OAAAA;gBACAC,WAAWF;gBACXG,UAAUF;gBACVF,OAAOA,MAAMK,UAAU,CAAC,YAAY,UAAUL;eAC3CxB;YAELhE,WAAW,AAAC,sMAKRoF,OADAD,yBAAyB,cAAa,kBAEtCD,OADAE,4BAA4B,WAAU,kBAGtCpF,OAFAkF,qBAAqB,eAAc,kEAEnB,OAAhBlF,aAAa,IAAG;WAEjB6D;YACHjE,UAAAA;;IAGN;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqC,oBAAoBX,GAAE,AAAC,EAChD,UACA;QACEwC,KAAAA;QACA,eAAeyB;QACfvB,OAAOrK,OAAO;YACZmM,YAAYN;YACZA,OAAO;YACPO,cAAclB,YAAY,SAAS,WAAW;WAC3Cb,SACDA;QACJhE,WAAW,AAAC,kWAURwE,OADA,CAAC7K,OAAOsK,cAAc,CAACY,QAAQ,GAAG,IAAG,gBAErC7E,OADAwE,WAAW,CAACM,KAAK,EAAC,gBACF,OAAhB9E,aAAa,IAAG;OAEjB6D;QACHjE,UAAAA;;AAGN;AAEFgF,WAAW7C,WAAW,GAAG;AACzB,IAAI5F,SAASyI;AACbzI,OAAOsH,eAAe,GAAGA;AAEzB,0BAA0B;AAC1B,IAAIuC,gBAAgB3L,QAAQmF,QAAQ;AACpC,IAAIyG,uBAAuBzG,QAAQ;AACnC,IAAI0G,sBAAsB1G,QAAQ;AAClC,IAAIhD,OAAOwJ,cAActC,OAAO,CAACC,UAAU,CACzC;;;;0EACEhE,cAAAA,OACAwG,oBAAAA,aACAC,wBAAAA,0CACAC,aAAAA,4CAAc,iDACdC,WAAAA,wCAAY,wBACZC,wBAAAA,iBACAR,qBAAAA,mCACAlB,SAAAA,oCAAU,4CACVC,MAAAA,8BAAO,8CACP9E,WAAAA,wCAAY,qBACZJ,iBAAAA,mCACAG,aAAAA,4CAAc,yBACdyG,eAAAA,QACAxC,cAAAA,OACAuB,eAAAA,QACG1B;;;;;;;;;;;;;;;;6CACFC;IACD,IAAwB,yBAAA,AAAC,CAAA,GAAGkC,cAActF,QAAO,AAAC,EAAEX,kBAA7C0G,OAAiB,UAAXC,UAAW;IACxB,IAAkC,yBAAA,AAAC,CAAA,GAAGV,cAActF,QAAO,AAAC,EAAE,YAAvDiG,YAA2B,UAAhBC,eAAgB;IAClC,IAAMC,YAAYb,cAActC,OAAO,CAACoD,KAAK;IAC7C,IAAMC,aAAa;QACjB,IAAI,CAACT,WAAW;QAChB,IAAMU,WAAW,CAACL;QAClBC,aAAaI;QACbR,mBAAAA,6BAAAA,OAASQ;IACX;IACA,IAAMC,cAAcd,eAAevG;IACnC,IAAMsH,gBAAgB;QACpBxD,SAAS;QACTyD,UAAU;QACVC,UAAU;QACVC,QAAQ;QACRC,OAAO;IACT;IACA,IAAMC,aAAa;QACjB9C,IAAI;QACJf,SAAS;QACTiB,IAAI;QACJ2C,OAAO;IACT;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGpB,oBAAoB5E,GAAE,AAAC,EAChD,OACA;QACEtB,WAAWsG,YAAY,yBAAyB;QAChD1E,SAAS0E,YAAYS,aAAa,KAAK;QACvCnH,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGsG,oBAAoBxE,IAAG,AAAC,EACpD,OACA;YACEoC,KAAAA;YACA,eAAeyB;YACfvF,WAAW,AAAC,mJAKVuH,OADAL,aAAa,CAACrC,QAAQ,EAAC,kBAEvByB,OADAiB,UAAU,CAACzC,KAAK,EAAC,kBAEjB6B,OADAL,YAAY,sGAAsG,IAAG,kBAErHtG,OADA2G,YAAY,iBAAiB,IAAG,kBACtB,OAAV3G,WAAU;YAEZgE,OAAO;gBACLuC,iBAAiB1B,YAAY,WAAW0B,kBAAkBA,kBAAkB1B,YAAY,UAAU0B,mBAAmB,0BAA0B,KAAK;gBACpJR,cAAcA,gBAAgB;eAC3B/B;WAEFH;YACHjE,UAAU;gBACR,aAAa,GAAI,CAAA,GAAGsG,oBAAoBxE,IAAG,AAAC,EAAE,OAAO;oBAAE1B,WAAWsG,YAAY,oBAAoB;oBAAI1G,UAAU;wBAC9GD,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGuG,oBAAoBxE,IAAG,AAAC,EACnD,OACA;4BACE1B,WAAW,AAAC,qCAAsE,OAAlCyG,QAAQQ,cAAc,SAAS;4BAC/ErH,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGsG,oBAAoB5E,GAAE,AAAC,EAAE,MAAM;oCAAEtB,WAAW;oCAAkDJ,UAAUD;gCAAM;gCAClI0G,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGH,oBAAoB5E,GAAE,AAAC,EACxD,UACA;oCACEkG,MAAM;oCACN5F,SAAS,SAATA,QAAU6F;wCACR,IAAInB,WAAWmB,EAAEC,eAAe;wCAChChB,QAAQ,SAACiB;mDAAM,CAACA;;oCAClB;oCACA,cAAclB,OAAO,iBAAiB;oCACtC,iBAAiBA;oCACjB,iBAAiBI;oCACjB7G,WAAW;oCACXJ,UAAU6G,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGP,oBAAoB5E,GAAE,AAAC,EAAE2E,qBAAqBpE,SAAS,EAAE;wCAAE7B,WAAW;oCAAqB,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGkG,oBAAoB5E,GAAE,AAAC,EAAE2E,qBAAqBnE,WAAW,EAAE;wCAAE9B,WAAW;oCAAqB;gCACxP;6BAEH;wBACH;wBAEFiH,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGf,oBAAoB5E,GAAE,AAAC,EACxD,OACA;4BACEsG,IAAIf;4BACJ7G,WAAW,AAAC,kJAGuD,OAAnEyG,OAAO,gCAAgC,6BAA4B;4BAEnE7G,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGsG,oBAAoB5E,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAmBJ,UAAUqH;4BAAY;wBACtH;qBAEH;gBAAC;gBACFX,aAAaF,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAGF,oBAAoB5E,GAAE,AAAC,EACzE,OACA;oBACEtB,WAAW;oBACXJ,UAAUwG;gBACZ;aAEH;;IAGP;AAEJ;AAEF5J,KAAKuF,WAAW,GAAG;AAEnB,2BAA2B;AAC3B,IAAI8F,SAASxN,QAAQmF,QAAQ;AAC7B,IAAIsI,uBAAuBtI,QAAQ;AACnC,IAAIuI,sBAAsBvI,QAAQ;AAClC,IAAIwI,kBAAkB;IACpBvD,IAAI;IACJf,SAAS;IACTgB,IAAI;IACJC,IAAI;IACJsD,IAAI;AACN;AACA,IAAIC,mBAAmB,0BAACC;IACtB,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF;AACA,SAAS1K,MAAM,KAiBd;QAhBC8H,SADa,MACbA,QACA9D,SAFa,MAEbA,QACA2G,UAHa,MAGbA,SACAzI,QAJa,MAIbA,OACA0I,WALa,MAKbA,UACAzI,WANa,MAMbA,6BANa,MAObI,WAAAA,0CAAY,uBACZ0F,AAAO4C,cARM,MAQb5C,OACAD,SATa,MASbA,QACA8C,SAVa,MAUbA,QACAC,gBAXa,MAWbA,eACAC,kBAZa,MAYbA,iBACAC,aAba,MAabA,iCAba,MAcbC,aAAAA,8CAAc,6CAdD,MAebR,UAAAA,wCAAW,0CAfE,MAgBbrD,MAAAA,gCAAO;QAyGyB2D,wBAUAD;IAjHhC,IAAM9C,QAAQ4C,wBAAAA,yBAAAA,cAAeN,eAAe,CAAClD,KAAK;IAClD+C,OAAOe,SAAS,CAAC;QACf,IAAI,CAACnH,QAAQ;QACb,IAAMoH,QAAQ,eAACpB;mBAAMA,EAAEtN,GAAG,KAAK,YAAYiO;;QAC3CU,SAASC,gBAAgB,CAAC,WAAWF;QACrC,OAAO;mBAAMC,SAASE,mBAAmB,CAAC,WAAWH;;IACvD,GAAG;QAACpH;QAAQ2G;KAAQ;IACpBP,OAAOe,SAAS,CAAC;QACfE,SAASG,IAAI,CAACjF,KAAK,CAACkF,QAAQ,GAAGzH,SAAS,WAAW;QACnD,OAAO;YACLqH,SAASG,IAAI,CAACjF,KAAK,CAACkF,QAAQ,GAAG;QACjC;IACF,GAAG;QAACzH;KAAO;IACX,IAAI,CAACA,QAAQ,OAAO;IACpB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGsG,oBAAoBrG,IAAG,AAAC,EAAEqG,oBAAoBoB,QAAQ,EAAE;QAAEvJ,UAAU;YAC7F,aAAa,GAAI,CAAA,GAAGmI,oBAAoBzG,GAAE,AAAC,EACzC,OACA;gBACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,cAAY,KAAK;gBACnD3D,SAASwG;gBACTpI,WAAW;YACb;YAEF,aAAa,GAAI,CAAA,GAAG+H,oBAAoBzG,GAAE,AAAC,EACzC,OACA;gBACEtB,WAAW,AAAC,uDAEV,OAFgEkI,iBAChEC;gBAEFvI,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmI,oBAAoBrG,IAAG,AAAC,EACpD,OACA;oBACE,eAAe6D;oBACf6D,MAAM;oBACN,cAAc;oBACdxH,SAAS,SAATA,QAAU6F;+BAAMA,EAAEC,eAAe;;oBACjC1D,OAAO;wBACL0B,OAAO,OAAOA,UAAU,WAAW,AAAC,GAAQ,OAANA,OAAM,QAAMA;wBAClDD,MAAM,EAAEA,mBAAAA,oBAAAA,SAAW0C,SAAShH,QAAQ,CAAC,WAAWgH,SAAShH,QAAQ,CAAC,WAAW,SAAS;wBACtFoH,QAAQ,OAAOA,WAAW,WAAW,AAAC,GAAS,OAAPA,QAAO,QAAMA;oBACvD;oBACAvI,WAAW,AAAC,+JAAiPA,OAAnF,CAACmI,SAAShH,QAAQ,CAAC,WAAW,CAACgH,SAAShH,QAAQ,CAAC,WAAW,iBAAiB,IAAG,KAAa,OAAVnB;oBAC7PJ,UAAU;wBACR,aAAa,GAAI,CAAA,GAAGmI,oBAAoBrG,IAAG,AAAC,EAC1C,OACA;4BACE,eAAe6D,SAAS,AAAC,GAAS,OAAPA,QAAO,aAAW,KAAK;4BAClDvF,WAAW;4BACXJ,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGmI,oBAAoBrG,IAAG,AAAC,EAAE,OAAO;oCAAE1B,WAAW;oCAAkCJ,UAAU;wCAC5G8I,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGX,oBAAoBzG,GAAE,AAAC,EAAE,OAAO;4CAAE1B,UAAU8I;wCAAW;wCACzF,aAAa,GAAI,CAAA,GAAGX,oBAAoBrG,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAUJ,UAAU;gDACpFD,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGoI,oBAAoBzG,GAAE,AAAC,EAClD,MACA;oDACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;oDACjDvF,WAAW;oDACXJ,UAAUD;gDACZ;gDAEF0I,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAGN,oBAAoBzG,GAAE,AAAC,EACrD,KACA;oDACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,eAAa,KAAK;oDACpDvF,WAAW;oDACXJ,UAAUyI;gDACZ;6CAEH;wCAAC;qCACH;gCAAC;gCACF,aAAa,GAAI,CAAA,GAAGN,oBAAoBzG,GAAE,AAAC,EACzC,UACA;oCACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,gBAAc,KAAK;oCACrD3D,SAASwG;oCACT,cAAc;oCACdpI,WAAW;oCACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmI,oBAAoBzG,GAAE,AAAC,EAAEwG,qBAAqBuB,CAAC,EAAE;wCAAEvE,MAAM;wCAAIwE,aAAa;oCAAE;gCAC5G;6BAEH;wBACH;wBAEF,aAAa,GAAI,CAAA,GAAGvB,oBAAoBzG,GAAE,AAAC,EACzC,OACA;4BACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,WAAS,KAAK;4BAChDvF,WAAW;4BACXJ,UAAAA;wBACF;wBAED4I,CAAAA,iBAAiBC,eAAc,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGV,oBAAoBrG,IAAG,AAAC,EAChF,OACA;4BACE,eAAe6D,SAAS,AAAC,GAAS,OAAPA,QAAO,aAAW,KAAK;4BAClDvF,WAAW;4BACXJ,UAAU;gCACR6I,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAGV,oBAAoBzG,GAAE,AAAC,EAC5D,UACA;oCACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,oBAAkB,KAAK;oCACzD3D,SAAS6G,gBAAgB7G,OAAO;oCAChC5B,WAAW;oCACXJ,QAAQ,GAAE6I,yBAAAA,gBAAgBc,KAAK,cAArBd,oCAAAA,yBAAyB;gCACrC;gCAEFD,iBAAiB,AAAgB,aAAH,GAAI,CAAA,GAAGT,oBAAoBzG,GAAE,AAAC,EAC1D,UACA;oCACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,kBAAgB,KAAK;oCACvD3D,SAAS4G,cAAc5G,OAAO;oCAC9BD,UAAU6G,cAAc7G,QAAQ;oCAChC3B,WAAW,AAAC,yEAAsK,OAA9FwI,cAAc7G,QAAQ,GAAG,mCAAmC,mCAAkC;oCAClL/B,QAAQ,GAAE4I,uBAAAA,cAAce,KAAK,cAAnBf,kCAAAA,uBAAuB;gCACnC;6BAEH;wBACH;qBAEH;gBACH;YAEJ;SAEH;IAAC;AACJ;AACA/K,MAAMsE,WAAW,GAAG;AAEpB,mCAAmC;AACnC,IAAIyH,sBAAsBhK,QAAQ;AAClC,IAAIvC,gBAAgB;QAClB2C,iBAAAA,UACA6J,iBAAAA,UACAzF,cAAAA,OACAuB,eAAAA,iCACAvF,WAAAA,0CAAY;IAEZ,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGwJ,oBAAoBlI,GAAE,AAAC,EAChD,QACA;QACE,eAAeiE;QACfkE,UAAAA;QACAzF,OAAAA;QACAhE,WAAW,AAAC,iSAUE,OAAVA,WAAU;QAEdJ,UAAAA;IACF;AAEJ;AACA3C,cAAc8E,WAAW,GAAG;AAE5B,2BAA2B;AAC3B,IAAI2H,gBAAgBrP,QAAQmF,QAAQ;AACpC,IAAImK,sBAAsBnK,QAAQ;AAClC,IAAInC,QAAQqM,cAAchG,OAAO,CAACC,UAAU,CAC1C;;;;gGACEiG,UAAAA,sCAAW,iDACXC,cAAAA,8CAAe,+CACf7J,WAAAA,wCAAY,qBACZ8J,iBAAAA,UACAlK,iBAAAA,UACA2F,eAAAA,QACG1B;;;;;;;6CACFC;IACD,IAAMiG,eAAe,sBAACtC;QACpB,IAAI5D,MAAMlC,QAAQ,EAAE;QACpBmI,qBAAAA,+BAAAA,SAAWrC;IACb;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGkC,oBAAoBjI,IAAG,AAAC,EAAEiI,oBAAoBR,QAAQ,EAAE;QAAEvJ,UAAU;YAC7F,aAAa,GAAI,CAAA,GAAG+J,oBAAoBrI,GAAE,AAAC,EACzC,SACA;gBACEwC,KAAAA;gBACA,eAAeyB,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;gBACjDuE,UAAUC;gBACV/J,WAAW,AAAC,gQAsBRA,OAXA4J,WAAW,wEAAwE,uHAAsH,2QAW/L,OAAV5J,WAAU;eAEX6D;YAGP+F,YAAYC,gBAAgB,AAAgB,aAAH,GAAI,CAAA,GAAGF,oBAAoBrI,GAAE,AAAC,EACrE,QACA;gBACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;gBACjDvF,WAAW;gBACXJ,UAAUiK;YACZ;SAEH;IAAC;AACJ;AAEFxM,MAAM0E,WAAW,GAAG;AAEpB,4BAA4B;AAC5B,IAAIiI,gBAAgBxK,QAAQ;AAC5B,IAAIyK,uBAAuBzK,QAAQ;AACnC,IAAI0K,mBAAmB1K,QAAQ;AAE/B,8BAA8B;AAC9B,IAAI2K,gBAAgB3K,QAAQ;AAC5B,IAAI4K,YAAY5K,QAAQ;AACxB,IAAI6K,aAAa7K,QAAQ;AACzB,IAAI8K,sBAAsB9K,QAAQ;AAClC,IAAI+K,sBAAsB,6BAACC;IACzB,IAAI,CAACA,MAAM,OAAO;IAClB,IAAMC,OAAOD,KAAKC,IAAI;IACtB,IAAMC,QAAQC,OAAOH,KAAKE,KAAK,GAAG,GAAGE,QAAQ,CAAC,GAAG;IACjD,IAAMC,MAAMF,OAAOH,KAAKK,GAAG,EAAED,QAAQ,CAAC,GAAG;IACzC,OAAO,AAAC,GAAUF,OAARD,MAAK,KAAYI,OAATH,OAAM,KAAO,OAAJG;AAC7B;AACA,IAAIC,aAAa,oBAACC,OAAOC;IACvB,IAAI,CAACD,SAAS,CAACC,OAAO,OAAO;IAC7B,OAAOD,MAAMN,IAAI,KAAKO,MAAMP,IAAI,IAAIM,MAAML,KAAK,KAAKM,MAAMN,KAAK,IAAIK,MAAMF,GAAG,KAAKG,MAAMH,GAAG;AAC5F;AACA,IAAII,aAAa,oBAACT;IAChB,IAAI,CAACA,MAAM,OAAO;IAClB,IAAME,QAAQC,OAAOH,KAAKE,KAAK,GAAG,GAAGE,QAAQ,CAAC,GAAG;IACjD,IAAMC,MAAMF,OAAOH,KAAKK,GAAG,EAAED,QAAQ,CAAC,GAAG;IACzC,IAAMH,OAAOE,OAAOH,KAAKC,IAAI;IAC7B,OAAO,AAAC,GAAWI,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;AAC5B;AACA,IAAIS,uBAAuB,8BAACV,MAAMW;IAChC,IAAI,CAACX,MAAM,OAAO;IAClB,IAAMY,WAAWZ,KAAKE,KAAK,GAAG;IAC9B,IAAMA,QAAQC,OAAOS,UAAUR,QAAQ,CAAC,GAAG;IAC3C,IAAMC,MAAMF,OAAOH,KAAKK,GAAG,EAAED,QAAQ,CAAC,GAAG;IACzC,IAAMH,OAAOE,OAAOH,KAAKC,IAAI;IAC7B,IAAMY,aAAa;QAAC;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;KAAM;IACvG,IAAMC,YAAYD,UAAU,CAACb,KAAKE,KAAK,CAAC;IACxC,IAAIS,WAAW,QAAQ;QACrB,OAAO,AAAC,GAAWN,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;IAC5B;IACA,OAAQU;QACN,KAAK;YACH,OAAO,AAAC,GAAWN,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;QAC5B,KAAK;YACH,OAAO,AAAC,GAASC,OAAPG,KAAI,KAAYJ,OAATC,OAAM,KAAQ,OAALD;QAC5B,KAAK;YACH,OAAO,AAAC,GAAUC,OAARD,MAAK,KAAYI,OAATH,OAAM,KAAO,OAAJG;QAC7B,KAAK;YACH,OAAO,AAAC,GAAeA,OAAbS,WAAU,KAAUb,OAAPI,KAAI,KAAQ,OAALJ;QAChC,KAAK;YACH,OAAO,AAAC,GAASa,OAAPT,KAAI,KAAgBJ,OAAba,WAAU,KAAQ,OAALb;QAChC,KAAK;YACH,OAAO,AAAC,GAAUa,OAARb,MAAK,KAAgBI,OAAbS,WAAU,KAAO,OAAJT;QACjC,KAAK;YACH,OAAO,AAAC,GAAeA,OAAbS,WAAU,KAAWb,OAARI,KAAI,MAAS,OAALJ;QACjC,KAAK;YACH,OAAO,AAAC,GAASa,OAAPT,KAAI,KAAgBJ,OAAba,WAAU,KAAQ,OAALb;QAChC,KAAK;YACH,OAAO,AAAC,GAAUa,OAARb,MAAK,KAAgBI,OAAbS,WAAU,KAAO,OAAJT;QACjC,KAAK;YACH,OAAO,AAAC,GAAWA,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;QAC5B,KAAK;YACH,OAAO,AAAC,GAASC,OAAPG,KAAI,KAAYJ,OAATC,OAAM,KAAQ,OAALD;QAC5B,KAAK;YACH,OAAO,AAAC,GAAUC,OAARD,MAAK,KAAYI,OAATH,OAAM,KAAO,OAAJG;QAC7B,KAAK;YACH,OAAO,AAAC,GAAeA,OAAbS,WAAU,KAAUb,OAAPI,KAAI,KAAQ,OAALJ;QAChC,KAAK;YACH,OAAO,AAAC,GAASa,OAAPT,KAAI,KAAgBJ,OAAba,WAAU,KAAQ,OAALb;QAChC,KAAK;YACH,OAAO,AAAC,GAAUa,OAARb,MAAK,KAAgBI,OAAbS,WAAU,KAAO,OAAJT;QACjC,KAAK;YACH,OAAO,AAAC,GAASH,OAAPG,KAAI,KAAYJ,OAATC,OAAM,KAAQ,OAALD;QAC5B,KAAK;YACH,OAAO,AAAC,GAAWI,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;QAC5B,KAAK;YACH,OAAO,AAAC,GAAUC,OAARD,MAAK,KAAYI,OAATH,OAAM,KAAO,OAAJG;QAC7B;YACE,OAAO,AAAC,GAAWA,OAATH,OAAM,KAAUD,OAAPI,KAAI,KAAQ,OAALJ;IAC9B;AACF;AACA,IAAIc,aAAa,oBAACC;QAAML,0EAAS;IAC/B,IAAI,CAACK,MAAM,OAAO;IAClB,IAAIL,WAAW,OAAO;QACpB,IAAIM,SAASD,KAAKE,IAAI;QACtB,IAAIF,KAAKG,MAAM,KAAK,QAAQH,KAAKE,IAAI,KAAK,IAAI;YAC5CD,SAASD,KAAKE,IAAI,GAAG;QACvB,OAAO,IAAIF,KAAKG,MAAM,KAAK,QAAQH,KAAKE,IAAI,KAAK,IAAI;YACnDD,SAAS;QACX;QACA,IAAMG,QAAQjB,OAAOc,QAAQb,QAAQ,CAAC,GAAG;QACzC,IAAMiB,UAAUlB,OAAOa,KAAKM,MAAM,EAAElB,QAAQ,CAAC,GAAG;QAChD,OAAO,AAAC,GAAWiB,OAATD,OAAM,KAAW,OAARC;IACrB;IACA,IAAMH,OAAOf,OAAOa,KAAKE,IAAI,EAAEd,QAAQ,CAAC,GAAG;IAC3C,IAAMkB,SAASnB,OAAOa,KAAKM,MAAM,EAAElB,QAAQ,CAAC,GAAG;IAC/C,OAAO,AAAC,GAAUkB,OAARJ,MAAK,KAAaF,OAAVM,QAAO,KAAe,OAAZN,KAAKG,MAAM;AACzC;AACA,IAAII,iBAAiB,wBAACtB,MAAMuB;IAC1B,OAAO,IAAIC,KAAKxB,MAAMuB,aAAa,GAAG,GAAGE,OAAO;AAClD;AACA,IAAIC,qBAAqB,4BAAC1B,MAAMuB;IAC9B,OAAO,IAAIC,KAAKxB,MAAMuB,YAAY,GAAGI,MAAM;AAC7C;AACA,IAAIC,eAAe,sBAACL;IAClB,OAAO,IAAIC,KAAK,MAAMD,YAAY,GAAGM,kBAAkB,CAAC,SAAS;QAC/D5B,OAAO;IACT;AACF;AACA,IAAI6B,sBAAsB;IACxB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIC,oBAAoB;IACtB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIC,uBAAuB,8BAACC,GAAGC;IAC7B,IAAID,EAAEjC,IAAI,KAAKkC,EAAElC,IAAI,EAAE,OAAOiC,EAAEjC,IAAI,GAAGkC,EAAElC,IAAI;IAC7C,IAAIiC,EAAEV,UAAU,KAAKW,EAAEX,UAAU,EAAE,OAAOU,EAAEV,UAAU,GAAGW,EAAEX,UAAU;IACrE,OAAOU,EAAE7B,GAAG,GAAG8B,EAAE9B,GAAG;AACtB;AACA,IAAI+B,kBAAkB,yBAACC,OAAOC;IAC5B,IAAIC,IAAIF,MAAMpC,IAAI;IAClB,IAAIuC,IAAIH,MAAMb,UAAU;IACxB,IAAIiB,IAAIJ,MAAMhC,GAAG,GAAGiC;IACpB,MAAO,KAAM;QACX,IAAMI,MAAMnB,eAAegB,GAAGC;QAC9B,IAAIC,KAAKC,KAAK;QACdD,KAAKC;QACLF,KAAK;QACL,IAAIA,IAAI,IAAI;YACVA,IAAI;YACJD,KAAK;QACP;IACF;IACA,OAAO;QAAEtC,MAAMsC;QAAGf,YAAYgB;QAAGnC,KAAKoC;IAAE;AAC1C;AACA,IAAIE,sBAAsB,6BAAC3C,MAAM4C;IAC/B,IAAI,CAACA,UAAUA,OAAOC,IAAI,IAAI,GAAG,OAAO;IACxC,IAAMC,gBAAgB;QACpB7C,MAAM2C,OAAOG,SAAS,CAAC9C,IAAI;QAC3BuB,YAAYoB,OAAOG,SAAS,CAAC7C,KAAK;QAClCG,KAAKuC,OAAOG,SAAS,CAAC1C,GAAG;IAC3B;IACA,IAAM2C,cAAcZ,gBAAgBU,eAAeF,OAAOC,IAAI,GAAG;IACjE,IAAMI,kBAAkB;QACtBhD,MAAMD,KAAKC,IAAI;QACfuB,YAAYxB,KAAKE,KAAK;QACtBG,KAAKL,KAAKK,GAAG;IACf;IACA,IAAM6C,iBAAiBjB,qBAAqBgB,iBAAiBH,kBAAkB;IAC/E,IAAMK,gBAAgBlB,qBAAqBgB,iBAAiBD,gBAAgB;IAC5E,OAAOE,kBAAkBC;AAC3B;AACA,IAAIC,mBAAmB;IACrB,IAAMC,iBAAiBC,KAAKC,cAAc,GAAGC,eAAe,GAAGC,QAAQ;IACvE,IAAMzD,OAAO,aAAa,GAAG,IAAIyB;IACjC,IAAMiC,gBAAgB1D,KAAK2D,kBAAkB,CAAC,SAAS;QAAEC,cAAc;IAAQ,GAAGC,KAAK,CAAC,IAAI,CAAC,EAAE;IAC/F,OAAOH,iBAAiBL;AAC1B;AACA,IAAIS,cAAc;IAChB,SAAS;IACT,UAAU;IACV,SAAS;IACT,eAAe;AACjB;AACA,IAAIC,iBAAiB;IACnB,IAAI,OAAOC,WAAW,aAAa,OAAO;IAC1C,IAAM9I,QAAQ8I,OAAOC,UAAU;IAC/B,IAAI/I,QAAQ,KAAK,OAAO;IACxB,IAAIA,QAAQ,MAAM,OAAO;IACzB,OAAO;AACT;AACA,IAAIrJ,WAAW;QACbqS,uBAAAA,gBACAlU,cAAAA,OACAsP,iBAAAA,8CACA6E,sBAAAA,gEAAuB,qCACvBC,mBAAAA,YACAC,sBAAAA,kDACAC,qBAAAA,8DAAsB,oCACtBC,kBAAAA,WACAC,qBAAAA,kDACAC,sBAAAA,gEAAuB,+DACvBC,YAAAA,4CAAa,2BACbC,2BAAAA,4CACAC,UAAAA,wCAAW,wDACXC,iBAAAA,sDAAkB,+DAClBC,iBAAAA,sDAAkB,2DAClBC,aAAAA,8CAAc,oCACdvP,kBAAAA,mCACA2B,UAAAA,wCAAW,yBACX6N,eAAAA,QACAC,eAAAA,QACAtP,aAAAA,8BACAuP,UAAAA,wCAAW,4CACX5K,MAAAA,gCAAO,+DACP6K,oBAAAA,4DAAqB,yEACrBC,wBAAAA,oEAAyB,iEACzBC,YAAAA,4CAAa,4BACbC,2BAAAA,wDACAC,sBAAAA,gEAAuB,mEACvBC,gBAAAA,oDAAiB,gCACjBC,+BAAAA,wBACAC,wBAAAA,kDACAC,mBAAAA,0DAAoB,CAAC,8DACrBC,kBAAAA,wDAAmB,CAAC;;IAEpB,IAAMC,QAAQ,aAAa,GAAG,IAAIpE;IAClC,IAAsC,yBAAA,AAAC,CAAA,GAAG9B,cAAczJ,QAAO,AAAC,EAC9DlG,CAAAA,kBAAAA,4BAAAA,MAAOiQ,IAAI,KAAI4F,MAAMC,WAAW,SAD3BC,cAA+B,UAAlBC,iBAAkB;IAGtC,IAAwC,yBAAA,AAAC,CAAA,GAAGrG,cAAczJ,QAAO,AAAC,UAChElG,kBAAAA,4BAAAA,MAAOkQ,KAAK,uCAAI2F,MAAMI,QAAQ,SADzBC,eAAiC,UAAnBC,kBAAmB;IAGxC,IAAoD,yBAAA,AAAC,CAAA,GAAGxG,cAAczJ,QAAO,AAAC,EAAE;QAAEmM,OAAO;QAAM+D,KAAK;IAAK,QAAlGC,qBAA6C,UAAzBC,wBAAyB;IACpD,IAA4B,yBAAA,AAAC,CAAA,GAAG3G,cAAczJ,QAAO,AAAC,EAAE,YAAjDe,SAAqB,UAAbsP,YAAa;IAC5B,IAAsC,yBAAA,AAAC,CAAA,GAAG5G,cAAczJ,QAAO,AAAC,EAAE,cAA3DsQ,cAA+B,UAAlBC,iBAAkB;IACtC,IAAgD,yBAAA,AAAC,CAAA,GAAG9G,cAAczJ,QAAO,AAAC,EAAE,YAArEwQ,mBAAyC,UAAvBC,sBAAuB;IAChD,IAAwC,yBAAA,AAAC,CAAA,GAAGhH,cAAczJ,QAAO,AAAC,EAAEqO,CAAAA,sBAAAA,gCAAAA,UAAWrD,IAAI,KAAI,SAAhF0F,eAAiC,UAAnBC,kBAAmB;IACxC,IAA4C,yBAAA,AAAC,CAAA,GAAGlH,cAAczJ,QAAO,AAAC,EAAEqO,CAAAA,sBAAAA,gCAAAA,UAAWjD,MAAM,KAAI,QAAtFwF,iBAAqC,UAArBC,oBAAqB;IAC5C,IAA4C,yBAAA,AAAC,CAAA,GAAGpH,cAAczJ,QAAO,AAAC,EAAEqO,CAAAA,sBAAAA,gCAAAA,UAAWpD,MAAM,KAAI,WAAtF6F,iBAAqC,UAArBC,oBAAqB;IAC5C,IAAoD,0BAAA,AAAC,CAAA,GAAGtH,cAAczJ,QAAO,AAAC,EAAEwO,iBAAzEwC,qBAA6C,WAAzBC,wBAAyB;IACpD,IAAgD,0BAAA,AAAC,CAAA,GAAGxH,cAAczJ,QAAO,AAAC,EAAE,YAArEkR,mBAAyC,WAAvBC,sBAAuB;IAChD,IAAoD,0BAAA,AAAC,CAAA,GAAG1H,cAAczJ,QAAO,AAAC,EAAEmP,iBAAzEiC,qBAA6C,WAAzBC,wBAAyB;IACpD,IAA4D,0BAAA,AAAC,CAAA,GAAG5H,cAAczJ,QAAO,AAAC,EAAEsP,qBAAjFgC,yBAAqD,WAA7BC,4BAA6B;IAC5D,IAAsC,0BAAA,AAAC,CAAA,GAAG9H,cAAczJ,QAAO,AAAC,EAAE,QAA3DwR,cAA+B,WAAlBC,iBAAkB;IACtC,IAA0C,0BAAA,AAAC,CAAA,GAAGhI,cAAczJ,QAAO,AAAC,EAAE,YAA/D0R,gBAAmC,WAApBC,mBAAoB;IAC1C,IAAMC,eAAe,AAAC,CAAA,GAAGnI,cAAcoI,MAAK,AAAC,EAAE;IAC/C,IAAMC,cAAc,AAAC,CAAA,GAAGrI,cAAcoI,MAAK,AAAC,EAAE;IAC9C,IAAME,YAAYnE,WAAW,CAACxJ,KAAK;IACnC,IAAM4N,QAAQD,YAAYP;IAC1B,IAAMS,kBAAkB/D,uBAAAA,wBAAAA,aAAciC;IACtC,IAAM+B,SAAS,gBAACC;eAAWC,KAAKC,KAAK,CAACF,SAASH;;IAC9C,CAAA,GAAGvI,cAAcvB,SAAQ,AAAC,EAAE;QAC3B,IAAMoK,eAAe;YACnBb,eAAe5D;QACjB;QACAyE;QACAxE,OAAOzF,gBAAgB,CAAC,UAAUiK;QAClC,OAAO;YACLxE,OAAOxF,mBAAmB,CAAC,UAAUgK;QACvC;IACF,GAAG,EAAE;IACJ,CAAA,GAAG7I,cAAcvB,SAAQ,AAAC,EAAE;QAC3B,IAAI,CAACnH,UAAU,CAAC6Q,aAAaW,OAAO,IAAI,CAACT,YAAYS,OAAO,EAAE;QAC9D,IAAMC,oBAAoB;gBACFZ,uBACCE;YADvB,IAAMW,iBAAgBb,wBAAAA,aAAaW,OAAO,cAApBX,4CAAAA,sBAAsBc,qBAAqB;YACjE,IAAMC,iBAAiBb,EAAAA,uBAAAA,YAAYS,OAAO,cAAnBT,2CAAAA,qBAAqBc,YAAY,KAAI,MAAMZ;YAClE,IAAI,CAACS,eAAe;YACpB,IAAMI,aAAa/E,OAAOgF,WAAW,GAAGL,cAAcM,MAAM;YAC5D,IAAMC,aAAaP,cAAcQ,GAAG;YACpC,IAAMC,cAAc;YACpB,IAAIL,aAAaF,iBAAiBO,eAAeF,aAAaL,iBAAiBO,aAAa;gBAC1FvB,iBAAiB;YACnB,OAAO;gBACLA,iBAAiB;YACnB;QACF;QACAa;QACA1E,OAAOzF,gBAAgB,CAAC,UAAUmK;QAClC1E,OAAOzF,gBAAgB,CAAC,UAAUmK,mBAAmB;QACrD,OAAO;YACL1E,OAAOxF,mBAAmB,CAAC,UAAUkK;YACrC1E,OAAOxF,mBAAmB,CAAC,UAAUkK,mBAAmB;QAC1D;IACF,GAAG;QAACzR;QAAQiR;KAAM;IACjB,CAAA,GAAGvI,cAAcvB,SAAQ,AAAC,EAAE;QAC3B,IAAIpO,OAAO;YACTgW,eAAehW,MAAMiQ,IAAI;YACzBkG,gBAAgBnW,MAAMkQ,KAAK;QAC7B;IACF,GAAG;QAAClQ;KAAM;IACT,CAAA,GAAG2P,cAAcvB,SAAQ,AAAC,EAAE;QAC3B,IAAImG,WAAW;YACbsC,gBAAgBtC,UAAUrD,IAAI;YAC9B6F,kBAAkBxC,UAAUjD,MAAM;YAClC2F,kBAAkB1C,UAAUpD,MAAM;QACpC;IACF,GAAG;QAACoD;KAAU;IACb,CAAA,GAAG5E,cAAcvB,SAAQ,AAAC,EAAE;QAC3B+I,sBAAsBzC;IACxB,GAAG;QAACA;KAAW;IACd,CAAA,GAAG/E,cAAcvB,SAAQ,AAAC,EAAE;QAC3BmJ,sBAAsBlC;IACxB,GAAG;QAACA;KAAW;IACd,CAAA,GAAG1F,cAAcvB,SAAQ,AAAC,EAAE;QAC3BqJ,0BAA0BjC;IAC5B,GAAG;QAACA;KAAe;IAClB,CAAA,GAAG7F,cAAcvB,SAAQ,AAAC,EAAE;QAC3B,IAAMiL,qBAAqB,4BAACC;YAC1B,IAAIxB,aAAaW,OAAO,IAAI,CAACX,aAAaW,OAAO,CAACc,QAAQ,CAACD,MAAMra,MAAM,GAAG;gBACxE,IAAIgI,QAAQ;oBACVsP,UAAU;oBACVI,oBAAoB;oBACpBU,oBAAoB;oBACpBpC,mBAAAA,6BAAAA;gBACF;YACF;QACF;QACA,IAAIhO,QAAQ;YACVqH,SAASC,gBAAgB,CAAC,aAAa8K;QACzC;QACA,OAAO;YACL/K,SAASE,mBAAmB,CAAC,aAAa6K;QAC5C;IACF,GAAG;QAACpS;QAAQgO;KAAO;IACnB,IAAMuE,cAAcjI,eAAewE,aAAaG;IAChD,IAAMuD,WAAW9H,mBAAmBoE,aAAaG;IACjD,IAAMwD,YAAY7H,aAAaqE;IAC/B,IAAMyD,gBAAgB;QACpB,IAAIzD,iBAAiB,GAAG;YACtBC,gBAAgB;YAChBH,eAAeD,cAAc;QAC/B,OAAO;YACLI,gBAAgBD,eAAe;QACjC;IACF;IACA,IAAM0D,YAAY;QAChB,IAAI1D,iBAAiB,IAAI;YACvBC,gBAAgB;YAChBH,eAAeD,cAAc;QAC/B,OAAO;YACLI,gBAAgBD,eAAe;QACjC;IACF;IACA,IAAM2D,aAAa,oBAACxJ;QAClB,IAAML,OAAO;YACXC,MAAM8F;YACN7F,OAAOgG;YACP7F,KAAAA;QACF;QACA,IAAI8D,sBAAsB;YACxB,IAAIqC,gBAAgB,SAAS;gBAC3B,IAAMsD,WAAW;oBAAEzH,OAAOrC;oBAAMoG,KAAK+B,CAAAA,4BAAAA,sCAAAA,gBAAiB/B,GAAG,KAAI;gBAAK;gBAClE,IAAI,CAAChC,YAAYkC,sBAAsBwD;gBACvCzF,0BAAAA,oCAAAA,cAAgByF;gBAChBrD,eAAe;YACjB,OAAO;gBACL,IAAMpE,QAAQ8F,4BAAAA,sCAAAA,gBAAiB9F,KAAK;gBACpC,IAAIA,OAAO;oBACT,IAAM0H,YAAY,IAAItI,KAAKY,MAAMpC,IAAI,EAAEoC,MAAMnC,KAAK,EAAEmC,MAAMhC,GAAG,EAAE2J,OAAO;oBACtE,IAAMC,UAAU,IAAIxI,KAAKzB,KAAKC,IAAI,EAAED,KAAKE,KAAK,EAAEF,KAAKK,GAAG,EAAE2J,OAAO;oBACjE,IAAIF;oBACJ,IAAIG,UAAUF,WAAW;wBACvBD,YAAW;4BAAEzH,OAAOrC;4BAAMoG,KAAK/D;wBAAM;oBACvC,OAAO;wBACLyH,YAAW;4BAAEzH,OAAAA;4BAAO+D,KAAKpG;wBAAK;oBAChC;oBACA,IAAI,CAACoE,YAAYkC,sBAAsBwD;oBACvCzF,0BAAAA,oCAAAA,cAAgByF;gBAClB,OAAO;oBACL,IAAMA,YAAW;wBAAEzH,OAAOrC;wBAAMoG,KAAK;oBAAK;oBAC1C,IAAI,CAAChC,YAAYkC,sBAAsBwD;oBACvCzF,0BAAAA,oCAAAA,cAAgByF;oBAChBrD,eAAe;gBACjB;YACF;QACF,OAAO;YACL,IAAMyD,aAAanK,oBAAoBC;YACvCV,qBAAAA,+BAAAA,SAAWU,MAAMkK;QACnB;QACA,IAAIxD,kBAAkB;YACpBC,oBAAoB;QACtB;QACA,IAAI/B,YAAa,CAAA,CAACT,wBAAwBA,wBAAwBqC,gBAAgB,UAAS2B,4BAAAA,sCAAAA,gBAAiB9F,KAAK,CAAD,GAAI;YAClHkE,UAAU;YACVI,oBAAoB;YACpB1B,mBAAAA,6BAAAA;QACF;IACF;IACA,IAAMkF,cAAc;QAClB,IAAMC,YAAY;YAChBnK,MAAM4F,MAAMC,WAAW;YACvB5F,OAAO2F,MAAMI,QAAQ;YACrB5F,KAAKwF,MAAMnE,OAAO;QACpB;QACAsE,eAAeoE,UAAUnK,IAAI;QAC7BkG,gBAAgBiE,UAAUlK,KAAK;QAC/B,IAAMgK,aAAanK,oBAAoBqK;QACvC9K,qBAAAA,+BAAAA,SAAW8K,WAAWF;QACtB,IAAI5F,uBAAuBoC,kBAAkB;YAC3C,IAAM2D,MAAM,aAAa,GAAG,IAAI5I;YAChC,IAAM6I,cAAcD,IAAIE,QAAQ;YAChC,IAAMC,gBAAgBH,IAAII,UAAU;YACpC,IAAIC;YACJ,IAAIvJ;YACJ,IAAImJ,gBAAgB,GAAG;gBACrBI,SAAS;gBACTvJ,SAAS;YACX,OAAO,IAAImJ,gBAAgB,IAAI;gBAC7BI,SAAS;gBACTvJ,SAAS;YACX,OAAO,IAAImJ,cAAc,IAAI;gBAC3BI,SAASJ,cAAc;gBACvBnJ,SAAS;YACX,OAAO;gBACLuJ,SAASJ;gBACTnJ,SAAS;YACX;YACA0F,gBAAgB6D;YAChB3D,kBAAkByD;YAClBvD,kBAAkB9F;YAClBqD,yBAAAA,mCAAAA,aAAe;gBACbtD,MAAMwJ;gBACNpJ,QAAQkJ;gBACRrJ,QAAAA;YACF;YACA,IAAIoE,sBAAsB;gBACxB,IAAMoF,UAAUvH;gBAChBqE,0BAA0BkD;gBAC1BlF,mCAAAA,6CAAAA,uBAAyBkF;YAC3B;QACF;QACA,IAAI/F,UAAU;YACZ2B,UAAU;YACVI,oBAAoB;YACpB1B,mBAAAA,6BAAAA;QACF;IACF;IACA,IAAM2F,YAAY;QAChB,IAAIzG,sBAAsB;YACxB,IAAM2F,WAAW;gBAAEzH,OAAO;gBAAM+D,KAAK;YAAK;YAC1C,IAAI,CAAChC,YAAYkC,sBAAsBwD;YACvCzF,0BAAAA,oCAAAA,cAAgByF;YAChBrD,eAAe;QACjB,OAAO;YACLnH,qBAAAA,+BAAAA,SAAW,MAAM;QACnB;QACA,IAAIgF,qBAAqB;YACvBE,yBAAAA,mCAAAA,aAAe;YACfqC,gBAAgB;YAChBE,kBAAkB;YAClBE,kBAAkB;QACpB;IACF;IACA,IAAM4D,iBAAiB;QACrB,IAAI1T,UAAU;QACd,IAAMqF,WAAW,CAACvF;QAClBsP,UAAU/J;QACV,IAAIA,UAAU;YACZmK,oBAAoB;YACpB3B,mBAAAA,6BAAAA;QACF,OAAO;YACL2B,oBAAoB;YACpB1B,mBAAAA,6BAAAA;QACF;IACF;IACA,IAAM6F,wBAAwB;QAC5B,IAAI,CAAC7T,QAAQ;YACXsP,UAAU;YACVvB,mBAAAA,6BAAAA;QACF;QACAyB,eAAe;QACfE,oBAAoB;IACtB;IACA,IAAMoE,sBAAsB;QAC1B,IAAI,CAAC9T,QAAQ;YACXsP,UAAU;YACVvB,mBAAAA,6BAAAA;QACF;QACAyB,eAAe;QACfE,oBAAoB;IACtB;IACA,IAAMqE,wBAAwB;QAC5BrE,oBAAoB,CAACD;IACvB;IACA,IAAMuE,wBAAwB;QAC5BtE,oBAAoB;IACtB;IACA,IAAMuE,yBAAyB;QAC7B,IAAMC,YAAYjE,uBAAuB,QAAQ,QAAQ;QACzDC,sBAAsBgE;QACtBxG,+BAAAA,yCAAAA,mBAAqBwG;IACvB;IACA,IAAMC,oBAAoB;QACxB5G,yBAAAA,mCAAAA,aAAe;YACbtD,MAAM0F;YACNtF,QAAQwF;YACR3F,QAAQ6F;QACV;QACAL,oBAAoB;IACtB;IACA,IAAM0E,oBAAoB;QACxB9E,UAAU;QACVtB,mBAAAA,6BAAAA;IACF;IACA,IAAMqG,uBAAuB;QAC3B,IAAInG,oBAAoB;YACtBkC,oBAAoB,CAACD;QACvB;IACF;IACA,IAAMmE,mBAAmB,0BAACtL;QACxB+F,eAAe/F;QACfoH,oBAAoB;IACtB;IACA,IAAMmE,aAAa;;YAcf,IAAMxL,OAAO;gBACXC,MAAM8F;gBACN7F,OAAOgG;gBACP7F,KAAAA;YACF;YACA,IAAMoL,aAAatH,uBAAuB7D,WAAW6H,4BAAAA,sCAAAA,gBAAiB9F,KAAK,EAAErC,SAASM,WAAW6H,4BAAAA,sCAAAA,gBAAiB/B,GAAG,EAAEpG,QAAQM,WAAWtQ,OAAOgQ;YACjJ,IAAM0L,YAAYvH,yBAAwBgE,4BAAAA,sCAAAA,gBAAiB9F,KAAK,MAAI8F,4BAAAA,sCAAAA,gBAAiB/B,GAAG,IAAG,AAAC;gBAC1F,IAAMuF,cAAc,IAAIlK,KAAKzB,KAAKC,IAAI,EAAED,KAAKE,KAAK,EAAEF,KAAKK,GAAG,EAAE2J,OAAO;gBACrE,IAAMD,YAAY,IAAItI,KACpB0G,gBAAgB9F,KAAK,CAACpC,IAAI,EAC1BkI,gBAAgB9F,KAAK,CAACnC,KAAK,EAC3BiI,gBAAgB9F,KAAK,CAAChC,GAAG,EACzB2J,OAAO;gBACT,IAAMC,UAAU,IAAIxI,KAClB0G,gBAAgB/B,GAAG,CAACnG,IAAI,EACxBkI,gBAAgB/B,GAAG,CAAClG,KAAK,EACzBiI,gBAAgB/B,GAAG,CAAC/F,GAAG,EACvB2J,OAAO;gBACT,OAAO2B,cAAc5B,aAAa4B,cAAc1B;YAClD,MAAO;YACP,IAAM2B,UAAUtL,WACd;gBACEL,MAAM4F,MAAMC,WAAW;gBACvB5F,OAAO2F,MAAMI,QAAQ;gBACrB5F,KAAKwF,MAAMnE,OAAO;YACpB,GACA1B;YAEF,IAAM6L,YAAYlJ,oBAAoB3C,MAAM0F;YAC5C7C,KAAKiJ,IAAI,CACP,AAAgB,aAAH,GAAI,CAAA,GAAGhM,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;gBACEkG,MAAM;gBACN5F,SAAS,SAATA;oBACE,IAAI,CAACyU,WAAWhC,WAAWxJ;gBAC7B;gBACAlJ,UAAU0U;gBACVrW,WAAW,AAAC,yFAIlB,OADAiW,aAAa,sBAAsB,IAAG,UAEtC,OADA,CAACA,cAAcG,UAAU,6CAA6C,IAAG,UAEzEF,OADA,CAACD,cAAc,CAACG,WAAW,CAACF,YAAY,4CAA4C,IAAG,UAEvF,OADAA,aAAa,CAACD,aAAa,4CAA4C,IAAG,UAE1EI,OADA,CAACA,aAAa,CAACJ,aAAa,mCAAmC,IAAG,UACW,OAA7EI,YAAY,gDAAgD,kBAAiB;gBAEvErS,OAAO;oBACL0B,OAAOgN,QAAQ;oBACfjN,QAAQiN,QAAQ;oBAChB6D,UAAU7D,QAAQ;oBAClB5M,YAAYmQ,aAAa,+CAA+C,KAAK;gBAC/E;gBACArW,UAAUiL;YACZ,GACA,AAAC,WAAc,OAAJA;QAGjB;QAxEA,IAAMwC,OAAO,EAAE;QACf,IAAK,IAAIhM,IAAI,GAAGA,IAAI4S,UAAU5S,IAAK;YACjCgM,KAAKiJ,IAAI,CACP,AAAgB,aAAH,GAAI,CAAA,GAAGhM,oBAAoBhJ,GAAE,AAAC,EACzC,OACA;gBACE0C,OAAO;oBAAE0B,OAAO,AAAC,GAAa,OAAXkN,OAAO,KAAI;oBAAKnN,QAAQ,AAAC,GAAa,OAAXmN,OAAO,KAAI;gBAAI;YAC/D,GACA,AAAC,eAAgB,OAAFvR;QAGrB;QACA,IAAK,IAAIwJ,MAAM,GAAGA,OAAOmJ,aAAanJ;QA6DtC,IAAM2L,aAAavC,WAAWD;QAC9B,IAAMyC,iBAAiBD,aAAa,MAAM,IAAI,IAAI,IAAIA,aAAa;QACnE,IAAK,IAAInV,KAAI,GAAGA,KAAIoV,gBAAgBpV,KAAK;YACvCgM,KAAKiJ,IAAI,CACP,AAAgB,aAAH,GAAI,CAAA,GAAGhM,oBAAoBhJ,GAAE,AAAC,EACzC,OACA;gBACE0C,OAAO;oBAAE0B,OAAO,AAAC,GAAa,OAAXkN,OAAO,KAAI;oBAAKnN,QAAQ,AAAC,GAAa,OAAXmN,OAAO,KAAI;gBAAI;YAC/D,GACA,AAAC,aAAc,OAAFvR;QAGnB;QACA,OAAOgM;IACT;IACA,IAAMqJ,qBAAqB;QACzB,IAAMC,UAAUC,MAAM5c,IAAI,CAAC;YAAE8G,QAAQ;QAAG,GAAG,SAAC+V,GAAGxV;mBAAMA,IAAI;;QACzD,IAAMyV,UAAUF,MAAM5c,IAAI,CAAC;YAAE8G,QAAQ;QAAG,GAAG,SAAC+V,GAAGxV;mBAAMA;;QACrD,IAAM0V,UAAUH,MAAM5c,IAAI,CAAC;YAAE8G,QAAQ;QAAG,GAAG,SAAC+V,GAAGxV;mBAAMA;;QACrD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGiJ,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAAwBJ,UAAU;gBACzG,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;oBAAE1B,WAAW;oBAA0BJ,UAAU;wBACnGqP,CAAAA,wBAAwBW,0BAA0BG,oBAAmB,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGzF,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4BAAEsC,OAAO;gCAAEgT,cAAcpE,OAAO;4BAAI;4BAAGhT,UAAU;gCAChLqP,wBAAwB,AAAgB,aAAH,GAAI,CAAA,GAAG3E,oBAAoBhJ,GAAE,AAAC,EAAE,OAAO;oCAAE0C,OAAO;wCAAEgT,cAAcpE,OAAO;oCAAI;oCAAGhT,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAuBJ,UAAU;4CAC9N,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;gDACEtB,WAAW;gDACXgE,OAAO;oDAAEuS,UAAU7D,QAAQ;gDAAG;gDAC9B9S,UAAU;4CACZ;4CAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;gDACE1B,WAAW;gDACXgE,OAAO;oDAAED,KAAK2O,QAAQ;gDAAE;gDACxB9S,UAAU;oDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;wDACEtB,WAAW,AAAC,iBAAmF,OAAnE0R,uBAAuB,QAAQ,mBAAmB;wDAC9E1N,OAAO;4DAAEuS,UAAU7D,QAAQ;wDAAG;wDAC9B9S,UAAU;oDACZ;oDAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;wDACEkG,MAAM;wDACN5F,SAAS8T;wDACTtM,MAAM;wDACN,gBAAgBsI,uBAAuB;wDACvC1R,WAAW;wDACXgE,OAAO;4DACL0B,OAAOgN,QAAQ;4DACfjN,QAAQiN,QAAQ;4DAChB5M,YAAY4L,uBAAuB,QAAQ,YAAY;wDACzD;wDACA9R,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACnD,QACA;4DACEtB,WAAW;4DACXgE,OAAO;gEACL0B,OAAOgN,QAAQ;gEACfjN,QAAQiN,QAAQ;gEAChBuE,WAAWvF,uBAAuB,QAAQ,AAAC,cAAwB,OAAXgB,QAAQ,IAAG,SAAO,AAAC,cAAuB,OAAVA,QAAQ,GAAE;4DACpG;wDACF;oDAEJ;oDAEF,aAAa,GAAI,CAAA,GAAGpI,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;wDACEtB,WAAW,AAAC,iBAAmF,OAAnE0R,uBAAuB,QAAQ,mBAAmB;wDAC9E1N,OAAO;4DAAEuS,UAAU7D,QAAQ;wDAAG;wDAC9B9S,UAAU;oDACZ;iDAEH;4CACH;yCAEH;oCAAC;gCAAG;gCACJgQ,CAAAA,0BAA0BG,oBAAmB,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGzF,oBAAoB5I,IAAG,AAAC,EAC9F,OACA;oCACE1B,WAAW;oCACXgE,OAAO;wCAAED,KAAK2O,QAAQ;oCAAG;oCACzB9S,UAAU;wCACRgQ,0BAA0B,AAAgB,aAAH,GAAI,CAAA,GAAGtF,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAwBJ,UAAU;gDAC5H,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;oDACEtB,WAAW;oDACXgE,OAAO;wDAAEuS,UAAU7D,QAAQ;oDAAG;oDAC9B9S,UAAU;gDACZ;gDAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;oDACE1B,WAAW;oDACXgE,OAAO;wDAAEyB,QAAQiN,QAAQ;oDAAG;oDAC5B9S,UAAU;wDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;4DACE9G,OAAOsX;4DACPhI,UAAU,SAAVA,SAAWrC;gEACTsK,sBAAsBtK,EAAEhO,MAAM,CAACe,KAAK;gEACpCsV,+BAAAA,yCAAAA,mBAAqBrI,EAAEhO,MAAM,CAACe,KAAK;4DACrC;4DACAwF,WAAW;4DACXgE,OAAO;gEACLyB,QAAQ;gEACRC,OAAO;gEACP6Q,UAAU7D,QAAQ;gEAClBwE,aAAaxE,QAAQ;gEACrByE,cAAczE,QAAQ;gEACtB0E,QAAQ;gEACRtR,YAAY;4DACd;4DACAlG,UAAU2M,oBAAoBhL,GAAG,CAAC,SAAC4J;uEAAW,AAAgB,aAAH,GAAI,CAAA,GAAGb,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;oEAAE1B,UAAUuL;gEAAO,GAAGA;;wDAC7H;wDAEF,aAAa,GAAI,CAAA,GAAGb,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUiN,aAAa,EACvB;4DACErX,WAAW;4DACXgE,OAAO;gEAAEuS,UAAU7D,QAAQ;4DAAG;wDAChC;qDAEH;gDACH;6CAEH;wCAAC;wCACF3C,wBAAwB,AAAgB,aAAH,GAAI,CAAA,GAAGzF,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAwBJ,UAAU;gDAC1H,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;oDACEtB,WAAW;oDACXgE,OAAO;wDAAEuS,UAAU7D,QAAQ;oDAAG;oDAC9B9S,UAAU;gDACZ;gDAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;oDACE1B,WAAW;oDACXgE,OAAO;wDAAEyB,QAAQiN,QAAQ;oDAAG;oDAC5B9S,UAAU;wDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;4DACE9G,OAAOwX;4DACPlI,UAAU,SAAVA,SAAWrC;gEACTwK,0BAA0BxK,EAAEhO,MAAM,CAACe,KAAK;gEACxCyV,mCAAAA,6CAAAA,uBAAyBxI,EAAEhO,MAAM,CAACe,KAAK;4DACzC;4DACAwF,WAAW;4DACXgE,OAAO;gEACLyB,QAAQ;gEACRC,OAAO;gEACP6Q,UAAU7D,QAAQ;gEAClBwE,aAAaxE,QAAQ;gEACrByE,cAAczE,QAAQ;gEACtB0E,QAAQ;4DACV;4DACAxX,UAAU4M,kBAAkBjL,GAAG,CAAC,SAAC+V;uEAAS,AAAgB,aAAH,GAAI,CAAA,GAAGhN,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;oEAAE1B,UAAU0X;gEAAK,GAAGA;;wDACvH;wDAEF,aAAa,GAAI,CAAA,GAAGhN,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUiN,aAAa,EACvB;4DACErX,WAAW;4DACXgE,OAAO;gEAAEuS,UAAU7D,QAAQ;4DAAG;wDAChC;qDAEH;gDACH;6CAEH;wCAAC;qCACH;gCACH;6BAEH;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGpI,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4BAAEsC,OAAO;gCAAEuT,WAAW7E,QAAQ;4BAAG;4BAAG9S,UAAU;gCACjG,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,SACA;oCACEtB,WAAW;oCACXgE,OAAO;wCACLgT,cAActE,QAAQ;wCACtB6D,UAAU7D,QAAQ;oCACpB;oCACA9S,UAAU;gCACZ;gCAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;oCACE1B,WAAW;oCACXgE,OAAO;wCAAED,KAAK2O,QAAQ;oCAAG;oCACzB9S,UAAU;wCACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAmBJ,UAAU;gDAC7F,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;oDACE9G,OAAO4W;oDACPtH,UAAU,SAAVA,SAAWrC;+DAAM4J,gBAAgBmG,OAAO/P,EAAEhO,MAAM,CAACe,KAAK;;oDACtDwF,WAAW;oDACXgE,OAAO;wDACLyB,QAAQiN,QAAQ;wDAChBhN,OAAO;wDACP6Q,UAAU7D,QAAQ;wDAClBwE,aAAaxE,QAAQ;wDACrByE,cAAczE,QAAQ;oDACxB;oDACA9S,UAAU,AAAC8R,CAAAA,uBAAuB,QAAQoF,UAAUH,OAAM,EAAGpV,GAAG,CAAC,SAACmK;+DAAS,AAAgB,aAAH,GAAI,CAAA,GAAGpB,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;4DAAE9G,OAAOkR;4DAAM9L,UAAU+K,OAAOe,MAAMd,QAAQ,CAAC,GAAG;wDAAK,GAAGc;;gDAC9L;gDAEF,aAAa,GAAI,CAAA,GAAGpB,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUiN,aAAa,EACvB;oDACErX,WAAW;oDACXgE,OAAO;wDAAEuS,UAAU7D,QAAQ;oDAAG;gDAChC;6CAEH;wCAAC;wCACF,aAAa,GAAI,CAAA,GAAGpI,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAmBJ,UAAU;gDAC7F,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;oDACE9G,OAAO8W;oDACPxH,UAAU,SAAVA,SAAWrC;+DAAM8J,kBAAkBiG,OAAO/P,EAAEhO,MAAM,CAACe,KAAK;;oDACxDwF,WAAW;oDACXgE,OAAO;wDACLyB,QAAQiN,QAAQ;wDAChBhN,OAAO;wDACP6Q,UAAU7D,QAAQ;wDAClBwE,aAAaxE,QAAQ;wDACrByE,cAAczE,QAAQ;oDACxB;oDACA9S,UAAUmX,QAAQxV,GAAG,CAAC,SAACuK;+DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGxB,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;4DAAE9G,OAAOsR;4DAAQlM,UAAU+K,OAAOmB,QAAQlB,QAAQ,CAAC,GAAG;wDAAK,GAAGkB;;gDACzJ;gDAEF,aAAa,GAAI,CAAA,GAAGxB,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUiN,aAAa,EACvB;oDACErX,WAAW;oDACXgE,OAAO;wDAAEuS,UAAU7D,QAAQ;oDAAG;gDAChC;6CAEH;wCAAC;wCACFhB,uBAAuB,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGpH,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAmBJ,UAAU;gDAC7H,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,UACA;oDACElH,OAAOgX;oDACP1H,UAAU,SAAVA,SAAWrC;+DAAMgK,kBAAkBhK,EAAEhO,MAAM,CAACe,KAAK;;oDACjDwF,WAAW;oDACXgE,OAAO;wDACLyB,QAAQiN,QAAQ;wDAChBhN,OAAO;wDACP6Q,UAAU7D,QAAQ;wDAClBwE,aAAaxE,QAAQ;wDACrByE,cAAczE,QAAQ;oDACxB;oDACA9S,UAAU;wDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;4DAAE9G,OAAO;4DAAMoF,UAAU;wDAAK;wDACrF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE,UAAU;4DAAE9G,OAAO;4DAAMoF,UAAU;wDAAK;qDACtF;gDACH;gDAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUiN,aAAa,EACvB;oDACErX,WAAW;oDACXgE,OAAO;wDAAEuS,UAAU7D,QAAQ;oDAAG;gDAChC;6CAEH;wCAAC;qCACH;gCACH;6BAEH;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGpI,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;4BAAEsC,OAAO;gCAAEuT,WAAW7E,QAAQ;4BAAG;4BAAG9S,UAAU;gCACjG,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,SACA;oCACEtB,WAAW;oCACXgE,OAAO;wCACLgT,cAActE,QAAQ;wCACtB6D,UAAU7D,QAAQ;oCACpB;oCACA9S,UAAU;gCACZ;gCAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,KACA;oCACE1B,WAAW;oCACXgE,OAAO;wCAAEuS,UAAU7D,QAAQ;oCAAG;oCAC9B9S,UAAU;wCACRsL,qBAAqB1Q,kBAAAA,mBAAAA,QAAS,MAAMsX;wCACpC;wCACAvG,WACE;4CAAEG,MAAM0F;4CAActF,QAAQwF;4CAAgB3F,QAAQ6F;wCAAe,GACrEE;wCAEFM,2BAA2B,SAAS,AAAC,IAA0B,OAAvBA,0BAA2B;qCACpE;gCACH;6BAEH;wBAAC;qBACH;gBAAC;gBACF,aAAa,GAAI,CAAA,GAAG1H,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;oBACE1B,WAAW;oBACXgE,OAAO;wBAAEyT,YAAY/E,QAAQ;oBAAG;oBAChC9S,UAAU;wBACPyP,CAAAA,mBAAmBC,eAAc,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGhF,oBAAoB5I,IAAG,AAAC,EAClF,OACA;4BACE1B,WAAW;4BACXgE,OAAO;gCACLD,KAAK2O,QAAQ;gCACbsE,cAActE,QAAQ;4BACxB;4BACA9S,UAAU;gCACRyP,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAG/E,oBAAoB5I,IAAG,AAAC,EAC7D,UACA;oCACEE,SAAS+S;oCACT3U,WAAW;oCACXgE,OAAO;wCACLyB,QAAQiN,QAAQ;wCAChB6D,UAAU7D,QAAQ;wCAClB5M,YAAY;wCACZN,OAAO;wCACPzB,KAAK2O,QAAQ;wCACbgF,MAAM,CAACpI,kBAAkB,SAAS;oCACpC;oCACA1P,UAAU;wCACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUuN,cAAc,EACxB;4CACE3T,OAAO;gDACL0B,OAAOkN,OAAO;gDACdnN,QAAQmN,OAAO;4CACjB;wCACF;wCAEF;qCACD;gCACH;gCAEFtD,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAGhF,oBAAoBhJ,GAAE,AAAC,EAC5D,UACA;oCACEM,SAASwT;oCACTpV,WAAW;oCACXgE,OAAO;wCACLyB,QAAQiN,QAAQ;wCAChB6D,UAAU7D,QAAQ;wCAClB5M,YAAY;wCACZN,OAAO;wCACPkS,MAAM,CAACrI,kBAAkB,SAAS;oCACpC;oCACAzP,UAAU;gCACZ;6BAEH;wBACH;wBAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;4BACEM,SAASgU;4BACT5V,WAAW;4BACXgE,OAAO;gCACLyB,QAAQiN,QAAQ;gCAChB6D,UAAU7D,QAAQ;gCAClB5M,YAAY;4BACd;4BACAlG,UAAU;wBACZ;qBAEH;gBACH;aAEH;QAAC;IACJ;IACA,IAAMgY,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGtN,oBAAoBhJ,GAAE,AAAC,EAAE+I,WAAWwN,cAAc,EAAE;QAAE7T,OAAO;YACnG0B,OAAO,AAAC,GAAa,OAAXkN,OAAO,KAAI;YACrBnN,QAAQ,AAAC,GAAa,OAAXmN,OAAO,KAAI;QACxB;IAAE;IACF,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGtI,oBAAoB5I,IAAG,AAAC,EACjD,OACA;QACEoC,KAAKwO;QACLtS,WAAW,AAAC,YAA2B,OAAhBA,sBAAAA,uBAAAA,YAAa;QACpC,eAAe0O;QACf9O,UAAU;YACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAYJ,UAAU;oBACtF8P,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAGpF,oBAAoBhJ,GAAE,AAAC,EACrD,OACA;wBACEtB,WAAW;wBACXgE,OAAO;4BAAEkT,aAAatE,OAAO;wBAAI;wBACjChT,UAAUO,QAAQyX;oBACpB;oBAEF,aAAa,GAAI,CAAA,GAAGtN,oBAAoBhJ,GAAE,AAAC,EACzC,SACA;wBACEkG,MAAM;wBACNsQ,UAAU;wBACVnW,UAAAA;wBACA4N,aAAAA;wBACA3N,SAASyT;wBACT7a,OAAOmU,wBAAwBgE,kBAAkBA,gBAAgB9F,KAAK,IAAI8F,gBAAgB/B,GAAG,GAAG,AAAC,GAAyC3F,OAAvCA,WAAW0H,gBAAgB9F,KAAK,GAAE,OAAqC,OAAhC5B,WAAW0H,gBAAgB/B,GAAG,KAAM+B,gBAAgB9F,KAAK,GAAG,AAAC,GAAoC,OAAlC5B,WAAW0H,gBAAgB9F,KAAK,GAAE,YAAU,KAAKiC,uBAAuBtU,SAASuU,YAAY,AAAC,GAAuBxD,OAArBN,WAAWzQ,QAAO,KAA6C,OAA1C+Q,WAAWwD,WAAW2C,uBAAwBzG,WAAWzQ,kBAAAA,mBAAAA,QAAS;wBAChYwF,WAAW;wBACXgE,OAAO;4BACLyT,YAAY/E,QAAQ;4BACpBqF,eAAerF,QAAQ;4BACvBwE,aAAaxH,WAAWgD,QAAQ,KAAKA,QAAQ;4BAC7CyE,cAAczE,QAAQ;4BACtB6D,UAAU7D,QAAQ;4BAClBsF,QAAQrW,WAAW,gBAAgB;4BACnCsW,SAAStW,WAAW,MAAM;wBAC5B;oBACF;iBAEH;YAAC;YACFF,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG6I,oBAAoBhJ,GAAE,AAAC,EACnD,OACA;gBACEwC,KAAK0O;gBACLxS,WAAW;gBACXgE,OAAO;oBACL0B,OAAOgN,QAAQ;oBACf3M,cAAc2M,QAAQ;oBACtB0E,QAAQ;oBACRG,WAAWnF,gBAAgB,KAAK,IAAIM,QAAQ;oBAC5CsE,cAAc5E,gBAAgBM,QAAQ,IAAI,KAAK;gBACjD;gBACA9S,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EACpD,OACA;oBACE1B,WAAW;oBACXgE,OAAO;wBACLkU,SAASxF,QAAQ;wBACjB5M,YAAY;oBACd;oBACAlG,UAAU;wBACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCACLuS,UAAU7D,QAAQ;gCAClBsE,cAActE,QAAQ;4BACxB;4BACA9S,UAAU+O,uBAAuB,sBAAsB;wBACzD;wBAEF,aAAa,GAAI,CAAA,GAAGrE,oBAAoBhJ,GAAE,AAAC,EACzC,OACA;4BACEtB,WAAW,AAAC,qBAA+E,OAA3D,CAAC8O,sBAAsB,mBAAmB;4BAC1E9K,OAAO;gCACLD,KAAK+K,sBAAsB4D,QAAQ,KAAK;gCACxCsE,cAActE,QAAQ;gCACtBhN,OAAO;4BACT;4BACA9F,UAAU+O,uBAAuB,AAAgB,aAAH,GAAI,CAAA,GAAGrE,oBAAoB5I,IAAG,AAAC,EAAE4I,oBAAoBnB,QAAQ,EAAE;gCAAEvJ,UAAU;oCACvH,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,UACA;wCACE8F,MAAM;wCACN5F,SAAS0T;wCACTtV,WAAW;wCACXgE,OAAO;4CACLyB,QAAQiN,QAAQ;4CAChBwF,SAAS,AAAC,KAAe,OAAXxF,QAAQ,IAAG;4CACzB5M,YAAYkL,gBAAgB,UAAU,+CAA+C;4CACrFxL,OAAOwL,gBAAgB,UAAU,UAAU;wCAC7C;wCACApR,UAAU;4CACRgY;4CACA,aAAa,GAAI,CAAA,GAAGtN,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA6BJ,UAAU;oDACvG,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,QACA;wDACEtB,WAAW;wDACXgE,OAAO;4DACLuS,UAAU7D,QAAQ;4DAClB3O,KAAK2O,QAAQ;wDACf;wDACA9S,UAAU;oDACZ;oDAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE,QAAQ;wDAAE0C,OAAO;4DAAEuS,UAAU7D,QAAQ;wDAAG;wDAAG9S,UAAU+S,CAAAA,4BAAAA,sCAAAA,gBAAiB9F,KAAK,IAAG5B,WAAW0H,gBAAgB9F,KAAK,IAAI;oDAAc;iDAC9K;4CAAC;yCACH;oCACH;oCAEF,aAAa,GAAI,CAAA,GAAGvC,oBAAoB5I,IAAG,AAAC,EAC1C,UACA;wCACE8F,MAAM;wCACN5F,SAAS2T;wCACTvV,WAAW;wCACXgE,OAAO;4CACLyB,QAAQiN,QAAQ;4CAChBwF,SAAS,AAAC,KAAe,OAAXxF,QAAQ,IAAG;4CACzB5M,YAAYkL,gBAAgB,QAAQ,+CAA+C;4CACnFxL,OAAOwL,gBAAgB,QAAQ,UAAU;wCAC3C;wCACApR,UAAU;4CACRgY;4CACA,aAAa,GAAI,CAAA,GAAGtN,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;gDACE1B,WAAW;gDACXgE,OAAO;oDAAED,KAAK2O,QAAQ;gDAAE;gDACxB9S,UAAU;oDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE,QAAQ;wDAAE0C,OAAO;4DAC5DuS,UAAU7D,QAAQ;wDACpB;wDAAG9S,UAAU;oDAAU;oDACvB,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE,QAAQ;wDAAE0C,OAAO;4DAAEuS,UAAU7D,QAAQ;wDAAG;wDAAG9S,UAAU+S,CAAAA,4BAAAA,sCAAAA,gBAAiB/B,GAAG,IAAG3F,WAAW0H,gBAAgB/B,GAAG,IAAI;oDAAc;iDAC1K;4CACH;yCAEH;oCACH;iCAEH;4BAAC,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGtG,oBAAoB5I,IAAG,AAAC,EAAE4I,oBAAoBnB,QAAQ,EAAE;gCAAEvJ,UAAU;oCAC7F,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,UACA;wCACE8F,MAAM;wCACN5F,SAAS6T;wCACTzV,WAAW;wCACXgE,OAAO;4CACLyB,QAAQiN,QAAQ;4CAChBwF,SAAS,AAAC,KAAe,OAAXxF,QAAQ,IAAG;4CACzB9M,UAAUkJ,sBAAsB4D,QAAQ,MAAMA,QAAQ;4CACtD5M,YAAY,CAACoL,oBAAoBpC,sBAAsB,+CAA+C;4CACtGtJ,OAAO,CAAC0L,oBAAoBpC,sBAAsB,UAAU;wCAC9D;wCACAlP,UAAU;4CACRgY;4CACA,aAAa,GAAI,CAAA,GAAGtN,oBAAoBhJ,GAAE,AAAC,EAAE,QAAQ;gDAAE0C,OAAO;oDAAEuS,UAAU7D,QAAQ;gDAAG;gDAAG9S,UAAUqL,WAAWzQ,kBAAAA,mBAAAA,QAAS,SAAS;4CAAc;yCAC9I;oCACH;oCAEFsU,uBAAuB,AAAgB,aAAH,GAAI,CAAA,GAAGxE,oBAAoB5I,IAAG,AAAC,EACjE,UACA;wCACE8F,MAAM;wCACN5F,SAAS4T;wCACTxV,WAAW;wCACXgE,OAAO;4CACLyB,QAAQiN,QAAQ;4CAChBwF,SAAS,AAAC,KAAe,OAAXxF,QAAQ,IAAG;4CACzByF,YAAYzF,QAAQ;4CACpB5M,YAAYoL,mBAAmB,+CAA+C;4CAC9E1L,OAAO0L,mBAAmB,UAAU;wCACtC;wCACAtR,UAAU;4CACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC8I,UAAUuN,cAAc,EACxB;gDACE3T,OAAO;oDACL0B,OAAOkN,OAAO;oDACdnN,QAAQmN,OAAO;gDACjB;4CACF;4CAEF,aAAa,GAAI,CAAA,GAAGtI,oBAAoBhJ,GAAE,AAAC,EAAE,QAAQ;gDAAE0C,OAAO;oDAAEuS,UAAU7D,QAAQ;gDAAG;gDAAG9S,UAAUmP,YAAYxD,WAC5GwD,WACA2C,sBACE;4CAAc;yCACnB;oCACH;iCAEH;4BAAC;wBACJ;wBAEF,aAAa,GAAI,CAAA,GAAGpH,oBAAoBhJ,GAAE,AAAC,EAAE,OAAO;4BAAE0C,OAAO;gCAAEgT,cAActE,QAAQ;4BAAG;4BAAG9S,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA8CJ,UAAU;oCAC7N,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;wCACE,cAAc;wCACdM,SAASuS;wCACTnU,WAAW;wCACXgE,OAAO;4CACL0B,OAAOgN,QAAQ;4CACfjN,QAAQiN,QAAQ;wCAClB;wCACA9S,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE8I,UAAUgO,aAAa,EAAE;4CAAEpU,OAAO;gDAAE0B,OAAOkN,OAAO;gDAAKnN,QAAQmN,OAAO;4CAAI;wCAAE;oCACrI;oCAEF,aAAa,GAAI,CAAA,GAAGtI,oBAAoB5I,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAYJ,UAAU;4CACtF,aAAa,GAAI,CAAA,GAAG0K,oBAAoB5I,IAAG,AAAC,EAC1C,UACA;gDACEE,SAASkU;gDACT9V,WAAW;gDACXgE,OAAO;oDAAEuS,UAAU7D,QAAQ;gDAAG;gDAC9B9S,UAAU;oDACRsU;oDACA;oDACA3D;iDACD;4CACH;4CAEFqB,oBAAoB,AAAgB,aAAH,GAAI,CAAA,GAAGtH,oBAAoBhJ,GAAE,AAAC,EAC7D,OACA;gDACEtB,WAAW;gDACXgE,OAAO;oDACLuT,WAAW7E,QAAQ;oDACnBhN,OAAOgN,QAAQ;gDACjB;gDACA9S,UAAUgX,MAAM5c,IAAI,CAAC;oDAAE8G,QAAQ;gDAAI,GAAG,SAAC+V,GAAGxV;2DAAMkP,cAAc,KAAKlP;mDAAGE,GAAG,CAAC,SAACkJ;2DAAS,AAAgB,aAAH,GAAI,CAAA,GAAGH,oBAAoBhJ,GAAE,AAAC,EAC7H,OACA;wDACEM,SAAS,SAATA;mEAAemU,iBAAiBtL;;wDAChCzK,WAAW;wDACXgE,OAAO;4DAAEuS,UAAU7D,QAAQ;wDAAG;wDAC9B9S,UAAU6K;oDACZ,GACAA;;4CAEJ;yCAEH;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGH,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;wCACE,cAAc;wCACdM,SAASwS;wCACTpU,WAAW;wCACXgE,OAAO;4CACL0B,OAAOgN,QAAQ;4CACfjN,QAAQiN,QAAQ;wCAClB;wCACA9S,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EAAE8I,UAAUiO,cAAc,EAAE;4CAAErU,OAAO;gDAAE0B,OAAOkN,OAAO;gDAAKnN,QAAQmN,OAAO;4CAAI;wCAAE;oCACtI;iCAEH;4BAAC;wBAAG;wBACL,CAAC1B,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAG5G,oBAAoB5I,IAAG,AAAC,EAAE4I,oBAAoBnB,QAAQ,EAAE;4BAAEvJ,UAAU;gCAC1G,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,OACA;oCACEtB,WAAW;oCACXgE,OAAO;wCAAED,KAAK2O,QAAQ;oCAAG;oCACzB9S,UAAUoW;gCACZ;gCAEF,aAAa,GAAI,CAAA,GAAG1L,oBAAoB5I,IAAG,AAAC,EAC1C,OACA;oCACE1B,WAAW;oCACXgE,OAAO;wCACLD,KAAK2O,QAAQ;wCACb6E,WAAW7E,QAAQ;oCACrB;oCACA9S,UAAU;wCACRyP,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAG/E,oBAAoB5I,IAAG,AAAC,EAC7D,UACA;4CACEE,SAAS+S;4CACT3U,WAAW;4CACXgE,OAAO;gDACL0B,OAAOgN,QAAQ;gDACfjN,QAAQiN,QAAQ;gDAChB3M,cAAc2M,QAAQ;gDACtB5M,YAAY;gDACZN,OAAO;gDACP+Q,UAAU7D,QAAQ;gDAClB3O,KAAK2O,QAAQ;4CACf;4CACA9S,UAAU;gDACR,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC+I,WAAWwN,cAAc,EACzB;oDACE7T,OAAO;wDACL0B,OAAOkN,OAAO;wDACdnN,QAAQmN,OAAO;oDACjB;gDACF;gDAEF;6CACD;wCACH;wCAEFtD,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAGhF,oBAAoBhJ,GAAE,AAAC,EAC5D,UACA;4CACEM,SAASwT;4CACTpV,WAAW;4CACXgE,OAAO;gDACL0B,OAAOgN,QAAQ;gDACfjN,QAAQiN,QAAQ;gDAChB3M,cAAc2M,QAAQ;gDACtB5M,YAAY;gDACZN,OAAO;gDACP+Q,UAAU7D,QAAQ;4CACpB;4CACA9S,UAAU;wCACZ;qCAEH;gCACH;gCAEF,aAAa,GAAI,CAAA,GAAG0K,oBAAoBhJ,GAAE,AAAC,EACzC,UACA;oCACEM,SAASiU;oCACT7V,WAAW;oCACXgE,OAAO;wCACLyB,QAAQiN,QAAQ;wCAChB6E,WAAW7E,QAAQ;wCACnB5M,YAAY;oCACd;oCACAlG,UAAU;gCACZ;6BAEH;wBAAC,KAAK8W;qBACR;gBACH;YAEJ;SAEH;IACH;AAEJ;AACAra,SAAS0F,WAAW,GAAG;AAEvB,4BAA4B;AAC5B,IAAIuW,sBAAsB9Y,QAAQ;AAClC,IAAIlE,2BAA2B;IAC7B;QAAEiO,OAAO;QAAmB/O,OAAO;IAAG;IACtC;QAAE+O,OAAO;QAAiB/O,OAAO;IAAgB;IACjD;QAAE+O,OAAO;QAAS/O,OAAO;IAAQ;IACjC;QAAE+O,OAAO;QAAU/O,OAAO;IAAS;IACnC;QAAE+O,OAAO;QAAU/O,OAAO;IAAS;CACpC;AACD,IAAIe,yBAAyB;IAC3B;QAAEgO,OAAO;QAAiB/O,OAAO;IAAG;IACpC;QAAE+O,OAAO;QAAW/O,OAAO;IAAU;IACrC;QAAE+O,OAAO;QAAY/O,OAAO;IAAW;IACvC;QAAE+O,OAAO;QAAY/O,OAAO;IAAW;CACxC;AACD,IAAIgB,SAAS;QACX+c,gBAAAA,SACAC,gBAAAA,wCACAC,iBAAAA,sDAAkBnd,gFAClBod,eAAAA,kDAAgBnd,gFAChBod,mBAAAA,0DAAoB,wCACpBpT,eAAAA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGyE,cAActJ,QAAO,AAAC,EAAE,YAA7C+F,OAAiB,SAAXC,UAAW;IACxB,IAA4B,yBAAA,AAAC,CAAA,GAAGsD,cAActJ,QAAO,AAAC,EAAE;QACtD8J,MAAM;YAAEqC,OAAO;YAAM+D,KAAK;QAAK;QAC/BgI,UAAU;QACVC,QAAQ;QACRC,SAAS;IACX,QALOC,SAAqB,UAAbC,YAAa;IAM5B,IAAMjP,eAAe,sBAACpQ,MAAMa;QAC1Bwe,UAAU,SAACC;mBAAU,wCAAKA,OAAM,qBAACtf,MAAOa;;IAC1C;IACA,IAAM0e,aAAa,oBAACvf;QAClB,IAAIA,SAAS,QAAQ;YACnBqf,UAAU,SAACC;uBAAU,wCAChBA;oBACHzO,MAAM;wBAAEqC,OAAO;wBAAM+D,KAAK;oBAAK;;;QAEnC,OAAO;YACLoI,UAAU,SAACC;uBAAU,wCAAKA,OAAM,qBAACtf,MAAO;;QAC1C;IACF;IACA,IAAMwf,WAAW;QACf,IAAMC,YAAY;YAChB5O,MAAM;gBAAEqC,OAAO;gBAAM+D,KAAK;YAAK;YAC/BgI,UAAU;YACVC,QAAQ;YACRC,SAAS;QACX;QACAE,UAAUI;QACV,IAAIZ,SAASA;aACR,IAAID,SAASA,QAAQa;IAC5B;IACA,IAAMC,eAAe;QACnB,IAAId,SAASA,QAAQQ;QACrBrS,QAAQ;IACV;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG4R,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAAY,eAAeuF;QAAQ3F,UAAU;YACpH,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;gBACEkG,MAAM;gBACN,eAAejC,SAAS,AAAC,GAAS,OAAPA,QAAO,aAAW,KAAK;gBAClD3D,SAAS,SAATA;2BAAe8E,QAAQ,SAACiB;+BAAM,CAACA;;;gBAC/B3H,WAAW;gBACXJ,UAAU;YACZ;YAEF6G,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAG6R,oBAAoBhX,GAAE,AAAC,EACjD,OACA;gBACEtB,WAAW;gBACX,eAAeuF,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;gBACjD3F,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;oBAAE1B,WAAW;oBAAgEJ,UAAU;wBACpJ,aAAa,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAsFJ,UAAU;gCAChK,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE,MAAM;oCAAEtB,WAAW;oCAA2BJ,UAAU;gCAAa;gCAClH,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;oCACEkG,MAAM;oCACN,eAAejC,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;oCACjD3D,SAAS,SAATA;+CAAe8E,QAAQ;;oCACvB1G,WAAW;oCACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE2I,qBAAqBZ,CAAC,EAAE;wCAAErJ,WAAW;oCAAyB;gCACvH;6BAEH;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGsY,oBAAoBhX,GAAE,AAAC,EAAEgY,SAAS;4BAAE3Z,OAAO;4BAAc6Y,SAAS,SAATA;uCAAeU,WAAW;;4BAAStZ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACnKjF,UACA;gCACEsS,sBAAsB;gCACtBC,YAAYmK,OAAOvO,IAAI;gCACvBqE,eAAe,SAAfA,cAAgB0K;2CAAUxP,aAAa,QAAQwP;;gCAC/CzU,MAAM;4BACR;wBACA;wBACF,aAAa,GAAI,CAAA,GAAGwT,oBAAoB5W,IAAG,AAAC,EAAE8X,eAAe;4BAAE5Z,UAAU;gCACvE,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;oCACEtB,WAAW;oCACXxF,OAAOue,OAAOH,QAAQ;oCACtB9O,UAAU,SAAVA,SAAWrC;+CAAMsC,aAAa,YAAYtC,EAAEhO,MAAM,CAACe,KAAK;;oCACxDoF,UAAU6Y,gBAAgBlX,GAAG,CAAC,SAACkY;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGnB,oBAAoBhX,GAAE,AAAC,EAAE,UAAU;4CAAE9G,OAAOif,IAAIjf,KAAK;4CAAEoF,UAAU6Z,IAAIlQ,KAAK;wCAAC,GAAGkQ,IAAIjf,KAAK;;gCACpJ;gCAEF,aAAa,GAAI,CAAA,GAAG8d,oBAAoBhX,GAAE,AAAC,EAAEoY,YAAY,CAAC;6BAC3D;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGpB,oBAAoB5W,IAAG,AAAC,EAAE8X,eAAe;4BAAE5Z,UAAU;gCACvE,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;oCACEtB,WAAW;oCACXxF,OAAOue,OAAOF,MAAM;oCACpB/O,UAAU,SAAVA,SAAWrC;+CAAMsC,aAAa,UAAUtC,EAAEhO,MAAM,CAACe,KAAK;;oCACtDoF,UAAU8Y,cAAcnX,GAAG,CAAC,SAACkY;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGnB,oBAAoBhX,GAAE,AAAC,EAAE,UAAU;4CAAE9G,OAAOif,IAAIjf,KAAK;4CAAEoF,UAAU6Z,IAAIlQ,KAAK;wCAAC,GAAGkQ,IAAIjf,KAAK;;gCAClJ;gCAEF,aAAa,GAAI,CAAA,GAAG8d,oBAAoBhX,GAAE,AAAC,EAAEoY,YAAY,CAAC;6BAC3D;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGpB,oBAAoBhX,GAAE,AAAC,EACzC,SACA;4BACEtB,WAAW;4BACXxF,OAAOue,OAAOD,OAAO;4BACrBvJ,aAAaoJ;4BACb7O,UAAU,SAAVA,SAAWrC;uCAAMsC,aAAa,WAAWtC,EAAEhO,MAAM,CAACe,KAAK;;wBACzD;wBAEF,aAAa,GAAI,CAAA,GAAG8d,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAA4FJ,UAAU;gCACtK,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;oCACEkG,MAAM;oCACN,eAAejC,SAAS,AAAC,GAAS,OAAPA,QAAO,eAAa,KAAK;oCACpD3D,SAASuX;oCACTnZ,WAAW;oCACXJ,UAAU;gCACZ;gCAEF,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EACzC,UACA;oCACEkG,MAAM;oCACN,eAAejC,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;oCACjD3D,SAASyX;oCACTrZ,WAAW;oCACXJ,UAAU;gCACZ;6BAEH;wBAAC;qBACH;gBAAC;YACJ;SAEH;IAAC;AACJ;AACA,IAAI0Z,UAAU;QACZ3Z,cAAAA,OACA6Y,gBAAAA,SACA5Y,iBAAAA;WACI,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAAiGJ,UAAU;YACjL,aAAa,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA6BJ,UAAU;oBACvG,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE,MAAM;wBAAEtB,WAAW;wBAAyBJ,UAAUD;oBAAM;oBACzG,aAAa,GAAI,CAAA,GAAG2Y,oBAAoBhX,GAAE,AAAC,EAAE,UAAU;wBAAEkG,MAAM;wBAAU5F,SAAS4W;wBAASxY,WAAW;wBAAyDJ,UAAU;oBAAQ;iBAClL;YAAC;YACFA;SACD;IAAC;;AACF,IAAI4Z,gBAAgB;QAAG5Z,iBAAAA;WAAe,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE,OAAO;QAAEtB,WAAW;QAAwBJ,UAAAA;IAAS;;AACxI,IAAI8Z,aAAa;WAAM,AAAgB,aAAH,GAAI,CAAA,GAAGpB,oBAAoBhX,GAAE,AAAC,EAAE,QAAQ;QAAEtB,WAAW;QAAgFJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE2I,qBAAqBnI,WAAW,EAAE;YAAE9B,WAAW;QAAU;IAAG;;AAC5R,IAAIrE,iBAAiB;QACnBnB,cAAAA,OACAsP,iBAAAA,iCACA6P,SAAAA,sCAAUre,+DACVwJ,MAAAA,gCAAO,wBACPS,eAAAA;QAMsBoU;IAJtB,IAAwB,wBAAA,AAAC,CAAA,GAAG3P,cAActJ,QAAO,AAAC,EAAE,YAA7C+F,OAAiB,SAAXC,UAAW;IACxB,IAAMkT,aAAa,AAAC,CAAA,GAAG5P,cAAcuI,MAAK,AAAC,EAAE;IAC7C,IAAMsH,cAAc,AAAC,CAAA,GAAG7P,cAAcuI,MAAK,AAAC,EAAE;IAC9C,IAAsB,yBAAA,AAAC,CAAA,GAAGvI,cAActJ,QAAO,AAAC,EAAE,WAA3CoZ,MAAe,UAAVC,SAAU;IACtB,IAAMC,gBAAgBL,EAAAA,gBAAAA,QAAQM,IAAI,CAAC,SAACC;eAAMA,EAAE1f,KAAK,IAAIA;oBAA/Bmf,oCAAAA,cAAuCpQ,KAAK,KAAI;IACtE,IAAM4Q,iBAAiB;QACrB,IAAI,CAACP,WAAW3G,OAAO,EAAE;QACzB,IAAMmH,OAAOR,WAAW3G,OAAO,CAACG,qBAAqB;QACrD2G,OAAO;YACLpG,KAAKyG,KAAK3G,MAAM,GAAGjF,OAAO6L,OAAO,GAAG;YACpCC,MAAMF,KAAKE,IAAI,GAAG9L,OAAO+L,OAAO;YAChC7U,OAAO0U,KAAK1U,KAAK;QACnB;IACF;IACC,CAAA,GAAGsE,cAAcpB,SAAQ,AAAC,EAAE;QAC3B,IAAI,CAACnC,MAAM;QACX0T;QACA3L,OAAOzF,gBAAgB,CAAC,UAAUoR,gBAAgB;QAClD3L,OAAOzF,gBAAgB,CAAC,UAAUoR;QAClC,OAAO;YACL3L,OAAOxF,mBAAmB,CAAC,UAAUmR,gBAAgB;YACrD3L,OAAOxF,mBAAmB,CAAC,UAAUmR;QACvC;IACF,GAAG;QAAC1T;KAAK;IACR,CAAA,GAAGuD,cAAcpB,SAAQ,AAAC,EAAE;QAC3B,IAAM4R,UAAU,iBAAC/S;gBACXmS,qBAA0CC;YAA9C,IAAID,EAAAA,sBAAAA,WAAW3G,OAAO,cAAlB2G,0CAAAA,oBAAoB7F,QAAQ,CAACtM,EAAEhO,MAAM,QAAKogB,uBAAAA,YAAY5G,OAAO,cAAnB4G,2CAAAA,qBAAqB9F,QAAQ,CAACtM,EAAEhO,MAAM,IAAG;gBACrF;YACF;YACAiN,QAAQ;QACV;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlC,oBAAoB5W,IAAG,AAAC,EAAE4W,oBAAoBnP,QAAQ,EAAE;QAAEvJ,UAAU;YAC7F,aAAa,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAC1C,OACA;gBACE,eAAe6D,SAAS,AAAC,GAAS,OAAPA,QAAO,cAAY,KAAK;gBACnDzB,KAAK8V;gBACLhY,SAAS,SAATA;2BAAe8E,QAAQ,SAACiB;+BAAM,CAACA;;;gBAC/B3H,WAAW,AAAC,0LASR8E,OADA2B,OAAO,6CAA6C,oBAAmB,gBAC1B,OAA7C3B,SAAS,UAAU,cAAc,aAAY;gBAEjDlF,UAAU;oBACR,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAoBJ,UAAUoa;oBAAc;oBAC9G,aAAa,GAAI,CAAA,GAAG1B,oBAAoBhX,GAAE,AAAC,EACzC2I,qBAAqBnI,WAAW,EAChC;wBACE9B,WAAW,AAAC,qCAA6D,OAAzByG,OAAO,eAAe;oBACxE;iBAEH;YACH;YAEFA,QAAQqT,OAAO,AAAC,CAAA,GAAG5P,iBAAiBuQ,YAAW,AAAC,EAC9C,AAAgB,aAAH,GAAI,CAAA,GAAGnC,oBAAoBhX,GAAE,AAAC,EACzC,OACA;gBACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,eAAa,KAAK;gBACpDzB,KAAK+V;gBACL7V,OAAO;oBACL2P,KAAKmG,IAAInG,GAAG;oBACZ2G,MAAMR,IAAIQ,IAAI;oBACd5U,OAAOoU,IAAIpU,KAAK;oBAChByC,UAAU;gBACZ;gBACAnI,WAAW;gBACXJ,UAAU+Z,QAAQpY,GAAG,CAAC,SAACkY;2BAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGnB,oBAAoBhX,GAAE,AAAC,EACxE,OACA;wBACE,eAAeiE,SAAS,AAAC,GAAmBoF,OAAjBpF,QAAO,YAA4B,OAAlBoF,OAAO8O,IAAIjf,KAAK,KAAM,KAAK;wBACvEoH,SAAS,SAATA;4BACEkI,SAAS2P,IAAIjf,KAAK;4BAClBkM,QAAQ;wBACV;wBACA1G,WAAW;wBACXJ,UAAU6Z,IAAIlQ,KAAK;oBACrB,GACAoB,OAAO8O,IAAIjf,KAAK;;YAEpB,IAEFsO,SAASG,IAAI;SAEhB;IAAC;AACJ;AACA,IAAIzK,eAAe;QACjBhE,cAAAA,OACAsP,iBAAAA,iCACA6P,SAAAA,sCAAUpe,6DACVuJ,MAAAA,gCAAO,wBACPS,eAAAA;QAMsBoU;IAJtB,IAAwB,wBAAA,AAAC,CAAA,GAAG3P,cAActJ,QAAO,AAAC,EAAE,YAA7C+F,OAAiB,SAAXC,UAAW;IACxB,IAAMkT,aAAa,AAAC,CAAA,GAAG5P,cAAcuI,MAAK,AAAC,EAAE;IAC7C,IAAMsH,cAAc,AAAC,CAAA,GAAG7P,cAAcuI,MAAK,AAAC,EAAE;IAC9C,IAAsB,yBAAA,AAAC,CAAA,GAAGvI,cAActJ,QAAO,AAAC,EAAE,WAA3CoZ,MAAe,UAAVC,SAAU;IACtB,IAAMC,gBAAgBL,EAAAA,gBAAAA,QAAQM,IAAI,CAAC,SAACC;eAAMA,EAAE1f,KAAK,IAAIA;oBAA/Bmf,oCAAAA,cAAuCpQ,KAAK,KAAI;IACtE,IAAM4Q,iBAAiB;QACrB,IAAI,CAACP,WAAW3G,OAAO,EAAE;QACzB,IAAMmH,OAAOR,WAAW3G,OAAO,CAACG,qBAAqB;QACrD2G,OAAO;YACLpG,KAAKyG,KAAK3G,MAAM,GAAGjF,OAAO6L,OAAO,GAAG;YACpCC,MAAMF,KAAKE,IAAI,GAAG9L,OAAO+L,OAAO;YAChC7U,OAAO0U,KAAK1U,KAAK;QACnB;IACF;IACC,CAAA,GAAGsE,cAAcpB,SAAQ,AAAC,EAAE;QAC3B,IAAI,CAACnC,MAAM;QACX0T;QACA3L,OAAOzF,gBAAgB,CAAC,UAAUoR,gBAAgB;QAClD3L,OAAOzF,gBAAgB,CAAC,UAAUoR;QAClC,OAAO;YACL3L,OAAOxF,mBAAmB,CAAC,UAAUmR,gBAAgB;YACrD3L,OAAOxF,mBAAmB,CAAC,UAAUmR;QACvC;IACF,GAAG;QAAC1T;KAAK;IACR,CAAA,GAAGuD,cAAcpB,SAAQ,AAAC,EAAE;QAC3B,IAAM4R,UAAU,iBAAC/S;gBACXmS,qBAA0CC;YAA9C,IAAID,EAAAA,sBAAAA,WAAW3G,OAAO,cAAlB2G,0CAAAA,oBAAoB7F,QAAQ,CAACtM,EAAEhO,MAAM,QAAKogB,uBAAAA,YAAY5G,OAAO,cAAnB4G,2CAAAA,qBAAqB9F,QAAQ,CAACtM,EAAEhO,MAAM,IAAG;YACvFiN,QAAQ;QACV;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlC,oBAAoB5W,IAAG,AAAC,EAAE4W,oBAAoBnP,QAAQ,EAAE;QAAEvJ,UAAU;YAC7F,aAAa,GAAI,CAAA,GAAG0Y,oBAAoB5W,IAAG,AAAC,EAC1C,OACA;gBACE,eAAe6D,SAAS,AAAC,GAAS,OAAPA,QAAO,cAAY,KAAK;gBACnDzB,KAAK8V;gBACLhY,SAAS,SAATA;2BAAe8E,QAAQ,SAACiB;+BAAM,CAACA;;;gBAC/B3H,WAAW,AAAC,0LASR8E,OADA2B,OAAO,6CAA6C,oBAAmB,gBAC1B,OAA7C3B,SAAS,UAAU,cAAc,aAAY;gBAEjDlF,UAAU;oBACR,aAAa,GAAI,CAAA,GAAG0Y,oBAAoBhX,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAoBJ,UAAUoa;oBAAc;oBAC9G,aAAa,GAAI,CAAA,GAAG1B,oBAAoBhX,GAAE,AAAC,EACzC2I,qBAAqBnI,WAAW,EAChC;wBACE9B,WAAW,AAAC,qCAA6D,OAAzByG,OAAO,eAAe;oBACxE;iBAEH;YACH;YAEFA,QAAQqT,OAAO,AAAC,CAAA,GAAG5P,iBAAiBuQ,YAAW,AAAC,EAC9C,AAAgB,aAAH,GAAI,CAAA,GAAGnC,oBAAoBhX,GAAE,AAAC,EACzC,OACA;gBACE,eAAeiE,SAAS,AAAC,GAAS,OAAPA,QAAO,eAAa,KAAK;gBACpDzB,KAAK+V;gBACL7V,OAAO;oBACL2P,KAAKmG,IAAInG,GAAG;oBACZ2G,MAAMR,IAAIQ,IAAI;oBACd5U,OAAOoU,IAAIpU,KAAK;oBAChByC,UAAU;gBACZ;gBACAnI,WAAW;gBACXJ,UAAU+Z,QAAQpY,GAAG,CAAC,SAACkY;2BAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGnB,oBAAoBhX,GAAE,AAAC,EACxE,OACA;wBACEM,SAAS,SAATA;4BACEkI,SAAS2P,IAAIjf,KAAK;4BAClBkM,QAAQ;wBACV;wBACA1G,WAAW;wBACXJ,UAAU6Z,IAAIlQ,KAAK;oBACrB,GACAoB,OAAO8O,IAAIjf,KAAK;;YAEpB,IAEFsO,SAASG,IAAI;SAEhB;IAAC;AACJ;AACA,IAAI5K,eAAe;QACjB7D,cAAAA,OACAsP,iBAAAA,qCACAyF,aAAAA,8CAAc,sDACdzK,MAAAA,gCAAO,wBACPS,eAAAA;WACI,AAAgB,aAAH,GAAI,CAAA,GAAG+S,oBAAoBhX,GAAE,AAAC,EAC/C,SACA;QACE,eAAeiE;QACfiC,MAAM;QACNhN,OAAAA;QACA+U,aAAAA;QACAzF,UAAU,SAAVA,UAAWrC;mBAAMqC,SAASrC,EAAEhO,MAAM,CAACe,KAAK;;QACxCwF,WAAW,AAAC,mLASqC,OAA7C8E,SAAS,UAAU,cAAc,aAAY;IAEnD;;AAEFtJ,OAAOuG,WAAW,GAAG;AACrBpG,eAAeoG,WAAW,GAAG;AAC7BvD,aAAauD,WAAW,GAAG;AAC3B1D,aAAa0D,WAAW,GAAG;AAE3B,qCAAqC;AACrC,IAAI2Y,gBAAgBlb,QAAQ;AAC5B,IAAImb,sBAAsBnb,QAAQ;AAClC,IAAIob,gBAAgB,uBAACC;IACnB,IAAI,CAACA,MAAM,OAAO;IAClB,IAAMC,QAAQD,KAAKrX,WAAW,GAAGuX,IAAI;IACrC,IAAID,UAAU,UAAUA,UAAU,cAChC,OAAO;IACT,IAAIA,UAAU,SACZ,OAAO;IACT,IAAIA,UAAU,UAAUA,UAAU,aAChC,OAAO;IACT,IAAIA,UAAU,WACZ,OAAO;IACT,OAAO,AAAC,IAAQ,OAALD,MAAK;AAClB;AACA,IAAInc,kBAAkB;QACpBsc,aAAAA,6BACAnW,SAAAA,sCAAU,8DACVoW,kBAAAA,wDAAmB,6BACnBC,oBAAAA,0CACAC,eAAAA,kDAAgB,8BAChBC,sBAAAA,0CACAC,aAAAA,8CAAc,mEACdC,kBAAAA,wDAAmB,0EACnBC,0BAAAA,wEAA2B,6EAC3BC,sBAAAA,gEAAuB,uCACvBC,4BAAAA,qBACAC,mBAAAA,YACAC,sBAAAA,eACAC,uBAAAA,gBACAC,yBAAAA,kBACAC,+BAAAA,wBACAvW,eAAAA;IAEA,IAAsC,wBAAA,AAAC,CAAA,GAAGmV,cAAcha,QAAO,AAAC,EAAEua,uBAA3Dc,cAA+B,SAAlBC,iBAAkB;IACtC,IAA0C,yBAAA,AAAC,CAAA,GAAGtB,cAAcha,QAAO,AAAC,EAAE,WAA/Dub,gBAAmC,UAApBC,mBAAoB;IAC1C,IAAMC,4BAA4BV,gCAAAA,iCAAAA,sBAAuB;IACzD,IAAMW,sBAAsBxB,cAAce;IAC1C,IAAMU,uBAAuBzB,cAAcgB;IAC1C,CAAA,GAAGlB,cAAc9R,SAAQ,AAAC,EAAE;QAC3B,IAAIqS,qBAAqBc,aAAa;YACpCC,eAAef;QACjB;IACF,GAAG;QAACA;KAAiB;IACpB,CAAA,GAAGP,cAAc9R,SAAQ,AAAC,EAAE;QAC3B,IAAI,CAACoS,KAAKla,MAAM,EAAE;YAChBkb,eAAe;YACf;QACF;QACAA,eACE,SAAC/C;mBAASA,OAAO,IAAI,IAAIA,QAAQ+B,KAAKla,MAAM,GAAGka,KAAKla,MAAM,GAAG,IAAImY;;IAErE,GAAG;QAAC+B,KAAKla,MAAM;KAAC;IAChB,IAAMwb,iBAAiB,wBAACrb;QACtB+a,eAAe/a;QACfia,wBAAAA,kCAAAA,YAAcja;IAChB;IACA,IAAMsb,kBAAkB,yBAACtb;QACvB,IAAI,CAACka,eAAe;QACpBe,iBAAiBjb;IACnB;IACA,IAAMub,iBAAiB,wBAAC1I;QACtB,IAAI,CAACqH,eAAe;QACpBrH,MAAM2I,cAAc;IACtB;IACA,IAAMC,aAAa,oBAACzb;QAClB,IAAI,CAACka,eAAe;QACpB,IAAIc,kBAAkB,MAAM;YAC1BC,iBAAiB;YACjB;QACF;QACA,IAAMS,YAAYV;QAClB,IAAMW,UAAU3b;QAChB,IAAI0b,cAAcC,SAAS;YACzBV,iBAAiB;YACjB;QACF;QACAF,eAAe,SAACa;YACd,IAAIC,SAASD;YACb,IAAIC,WAAWH,WAAW,OAAOC;YACjC,IAAID,YAAYC,SAAS;gBACvB,IAAIE,SAASH,aAAaG,UAAUF,SAAS,OAAOE,SAAS;YAC/D,OAAO,IAAIH,YAAYC,SAAS;gBAC9B,IAAIE,UAAUF,WAAWE,SAASH,WAAW,OAAOG,SAAS;YAC/D;YACA,OAAOA;QACT;QACA1B,0BAAAA,oCAAAA,cAAgBuB,WAAWC;QAC3BV,iBAAiB;IACnB;IACA,IAAMa,gBAAgB;QACpB,IAAI,CAAC5B,eAAe;QACpBe,iBAAiB;IACnB;IACA,IAAMc,gBAAgB,AAAgB,aAAH,GAAI,CAAA,GAAGrC,oBAAoBrZ,GAAE,AAAC,EAAEqZ,oBAAoBxR,QAAQ,EAAE;QAAEvJ,UAAUob,KAAKzZ,GAAG,CAAC,SAAC0b,KAAKhc;YAC1H,IAAM6b,SAAS7b,UAAU8a;YACzB,IAAMmB,aAAa/B,iBAAiBc,kBAAkBhb;YACtD,IAAMkc,YAAY5B,4BAA4B,CAAC,CAACG;YAChD,IAAM0B,YAAYD,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAGxC,oBAAoBrZ,GAAE,AAAC,EACvE,QACA;gBACE8H,MAAM;gBACN,cAAc;gBACdxH,SAAS,SAATA,QAAU6F;oBACRA,EAAEC,eAAe;oBACjBgU,uBAAAA,iCAAAA,WAAaza;gBACf;gBACAjB,WAAW;gBACXJ,UAAUuc;YACZ,KACE;YACJ,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGxB,oBAAoBjZ,IAAG,AAAC,EACjD,UACA;gBACE8F,MAAM;gBACN5F,SAAS,SAATA;2BAAe0a,eAAerb;;gBAC9Boc,WAAWlC;gBACXmC,aAAa,SAAbA;2BAAmBf,gBAAgBtb;;gBACnCsc,YAAYf;gBACZgB,QAAQ,SAARA;2BAAcd,WAAWzb;;gBACzBwc,WAAWV;gBACX/c,WAAW,AAAC,yGAEhBkd,OADA7B,gBAAgB,aAAa,qBAAqB,eAAc,QAEhExW,OADAqY,aAAa,0BAA0B,IAAG,QAC+9B,OAAzgCrY,YAAY,SAASiY,SAAS,gDAAgD,sDAAsDjY,YAAY,YAAYiY,SAAS,qEAAqE,iFAAiFjY,YAAY,WAAWiY,SAAS,uCAAuC,2CAA2CjY,YAAY,aAAaiY,SAAS,uEAAuE,2CAA2CjY,YAAY,WAAWiY,SAAS,iDAAiD,4BAA4BjY,YAAY,UAAUiY,SAAS,sFAAsF,kDAAkDjY,YAAY,SAASiY,SAAS,6CAA6C,uCAAuCA,SAAS,mBAAmB;gBAC/9Bld,UAAU;oBACR,aAAa,GAAI,CAAA,GAAG+a,oBAAoBjZ,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAkDJ,UAAU;4BAC5H,aAAa,GAAI,CAAA,GAAG+a,oBAAoBjZ,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAmCJ,UAAU;oCAC7G4b,yBAAyB,UAAU4B;oCACnCH,IAAI9c,IAAI,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAGwa,oBAAoBrZ,GAAE,AAAC,EAAE,QAAQ;wCAAE1B,UAAUqd,IAAI9c,IAAI;oCAAC;oCACtF,aAAa,GAAI,CAAA,GAAGwa,oBAAoBrZ,GAAE,AAAC,EAAE,QAAQ;wCAAEtB,WAAW;wCAAYJ,UAAUqd,IAAI1T,KAAK;oCAAC;iCACnG;4BAAC;4BACFiS,yBAAyB,WAAW4B;yBACrC;oBAAC;oBACFvY,YAAY,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAG8V,oBAAoBrZ,GAAE,AAAC,EACpE,QACA;wBACEtB,WAAW,AAAC,YAGlB8c,OAH6BzB,gBAAgB,aAAa,gCAAgC,uCAAsC,yGAG3F,OAArCyB,SAAS,gBAAgB,aAAY;oBAEjC;iBAEH;YACH,GACA7b;QAEJ;IAAG;IACH,IAAMF,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4Z,oBAAoBrZ,GAAE,AAAC,EACzD,OACA;QACEtB,WAAW;QACXgE,OAAO;YAAE0Z,YAAYrB;QAAqB;QAC1Czc,UAAUob,KAAKzZ,GAAG,CAAC,SAAC0b,KAAKhc;YACvB,IAAM6b,SAAS7b,UAAU8a;YACzB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGpB,oBAAoBrZ,GAAE,AAAC,EAChD,OACA;gBACEtB,WAAW,AAAC,mCAAqH,OAAnF8c,SAAS,yBAAyB;gBAChFld,UAAUqd,IAAIlc,OAAO;YACvB,GACAE;QAEJ;IACF;IAEF,IAAIoa,gBAAgB,cAAc;QAChC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGV,oBAAoBjZ,IAAG,AAAC,EACjD,OACA;YACE,eAAe6D;YACfvF,WAAW,AAAC,kGACqN,OAArO6E,YAAY,SAAS,2DAA2DA,YAAY,UAAU,0EAA0E;YAC5KjF,UAAU;gBACR,aAAa,GAAI,CAAA,GAAG+a,oBAAoBrZ,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAA0EJ,UAAUod;gBAAc;gBACnKjc;aACD;QACH;IAEJ;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG4Z,oBAAoBrZ,GAAE,AAAC,EAChD,OACA;QACE,eAAeiE;QACfvF,WAAW,AAAC,kGACuN,OAArO6E,YAAY,SAAS,2DAA2DA,YAAY,UAAU,0EAA0E;QAC9KjF,UAAU0b,qBAAqB,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGX,oBAAoBjZ,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAAqDJ,UAAU;gBACvK,aAAa,GAAI,CAAA,GAAG+a,oBAAoBrZ,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAuEJ,UAAUod;gBAAc;gBAChK,aAAa,GAAI,CAAA,GAAGrC,oBAAoBrZ,GAAE,AAAC,EAAE,OAAO;oBAAE1B,UAAUmB;gBAAQ;aACzE;QAAC,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG4Z,oBAAoBjZ,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAAqDJ,UAAU;gBACtI,aAAa,GAAI,CAAA,GAAG+a,oBAAoBrZ,GAAE,AAAC,EAAE,OAAO;oBAAE1B,UAAUmB;gBAAQ;gBACxE,aAAa,GAAI,CAAA,GAAG4Z,oBAAoBrZ,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAuEJ,UAAUod;gBAAc;aACjK;QAAC;IACJ;AAEJ;AACAte,gBAAgBqD,WAAW,GAAG;AAE9B,8BAA8B;AAC9B,IAAI4b,gBAAgBne,QAAQ;AAC5B,IAAIoe,uBAAuBpe,QAAQ;AACnC,IAAIzC,WAAW;QACb4c,gBAAAA,SACAnf,cAAAA,OACAqjB,iBAAAA,iCACAhZ,SAAAA,sCAAU,mDACV7E,WAAAA,0CAAY,kDACZuP,aAAAA,8CAAc,iEACd5N,UAAAA,wCAAW,yBACX4D,eAAAA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGoY,cAAcjd,QAAO,AAAC,EAAE,YAA7C+F,OAAiB,SAAXC,UAAW;IACxB,IAAgD,yBAAA,AAAC,CAAA,GAAGiX,cAAcjd,QAAO,AAAC,EAAE,WAArEod,mBAAyC,UAAvBC,sBAAuB;IAChD,IAAMlE,cAAc,AAAC,CAAA,GAAG8D,cAAcpL,MAAK,AAAC,EAAE;IAC9C,IAAMyL,iBAAiBxjB,UAAU,KAAK,IAAImf,QAAQM,IAAI,CAAC,SAACR;eAAQA,IAAIjf,KAAK,KAAKA;SAASsjB;IACtF,CAAA,GAAGH,cAAc/U,SAAQ,AAAC,EAAE;YAClBiL,qBAAT,SAASA,mBAAmBC,KAAK;YAC/B,IAAI+F,YAAY5G,OAAO,IAAI,CAAC4G,YAAY5G,OAAO,CAACc,QAAQ,CAACD,MAAMra,MAAM,GAAG;gBACtEiN,QAAQ;YACV;QACF;QACA,IAAID,MAAM;YACRqC,SAASC,gBAAgB,CAAC,aAAa8K;QACzC;QACA,OAAO;YACL/K,SAASE,mBAAmB,CAAC,aAAa6K;QAC5C;IACF,GAAG;QAACpN;KAAK;IACT,IAAMwX,eAAe,sBAACC;QACpB,IAAIvc,UAAU;QACd,IAAInH,UAAU,KAAK,GAAGujB,oBAAoBG;QAC1CL,SAASK,OAAO1jB,KAAK;QACrBkM,QAAQ;IACV;IACA,IAAMyX,oBAAoB;QACxB,IAAI,CAACxc,UAAU;YACb+E,QAAQ,CAACD;QACX;IACF;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGmX,qBAAqBlc,IAAG,AAAC,EAClD,OACA;QACEoC,KAAK+V;QACL7Z,WAAW,AAAC,oDAAmE,OAAhBA,aAAa;QAC5E,eAAeuF;QACf3F,UAAU;YACR,aAAa,GAAI,CAAA,GAAGge,qBAAqBtc,GAAE,AAAC,EAC1C,UACA;gBACEM,SAASuc;gBACTxc,UAAAA;gBACA6F,MAAM;gBACNxH,WAAW,AAAC,qJAKhB,OAFA2B,WAAW,8DAA8D,IAAG,cAW7D,OATf,CAACA,YAAY,CAAA;oBACPyc,OAAO;oBACPja,SAAS;oBACTI,MAAM;oBACN8Z,MAAM;oBACNC,WAAW;oBACXC,QAAQ;oBACRC,OAAO;oBACPC,UAAU;gBACZ,CAAA,CAAC,CAAC5Z,QAAQ,EAAC;gBAEXjF,UAAUoe,CAAAA,2BAAAA,qCAAAA,eAAgB7jB,GAAG,KAAIoV;YACnC;YAEF9I,QAAQ,CAAC9E,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAGic,qBAAqBtc,GAAE,AAAC,EAC/D,OACA;gBACEtB,WAAW,AAAC,mRAIsG,OAApH6E,YAAY,UAAU,mFAAmF,YAAW;gBAElHjF,UAAU+Z,QAAQpY,GAAG,CAAC,SAACkY,KAAKxY;2BAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2c,qBAAqBtc,GAAE,AAAC,EAChF,OACA;wBACEM,SAAS,SAATA;mCAAeqc,aAAaxE;;wBAC5BzZ,WAAW,AAAC,kHAIdiB,OADA4D,YAAY,UAAU,oCAAoC,sBAAqB,kBAE/E5D,OADAA,UAAU,IAAI,yBAAyB,IAAG,kBACiB,OAA3DA,UAAU0Y,QAAQ7Y,MAAM,GAAG,IAAI,yBAAyB,IAAG;wBAEzDlB,UAAU6Z,IAAItf,GAAG;oBACnB,GACAsf,IAAIjf,KAAK;;YAEb;SAEH;IACH;AAEJ;AACAuC,SAASgF,WAAW,GAAG;AAEvB,kCAAkC;AAClC,IAAI2c,gBAAgBrkB,QAAQmF,QAAQ;AACpC,IAAImf,iBAAiBnf,QAAQ;AAC7B,IAAIof,uBAAuBpf,QAAQ;AACnC,IAAIqf,iBAAiB,wBAAChE;IACpB,IAAI,CAACA,MACH,OAAO;IACT,IAAMC,QAAQD,KAAKrX,WAAW,GAAGuX,IAAI;IACrC,IAAID,UAAU,UAAUA,UAAU,cAChC,OAAO;IACT,IAAIA,UAAU,SAAS,OAAO;IAC9B,IAAIA,UAAU,UAAUA,UAAU,aAChC,OAAO;IACT,IAAIA,UAAU,WAAW,OAAO;IAChC,OAAO,AAAC,IAAQ,OAALD,MAAK;AAClB;AACA,SAASiE,gBAAgBtkB,KAAK;IAC5B,IAAIkkB,cAAchb,OAAO,CAACqb,cAAc,CAACvkB,QAAQ,OAAOA;IACxD,IAAIA,UAAU,QAAQA,UAAU,KAAK,GAAG;QACtC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGokB,qBAAqBtd,GAAE,AAAC,EAAE,QAAQ;YAAEtB,WAAW;YAAkBJ,UAAU;QAAI;IAC5G;IACA,IAAIgX,MAAMoI,OAAO,CAACxkB,QAAQ;QACxB,IAAIA,MAAMykB,IAAI,CAAC,SAACC;mBAAMR,cAAchb,OAAO,CAACqb,cAAc,CAACG;YAAK,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGN,qBAAqBtd,GAAE,AAAC,EAAEsd,qBAAqBzV,QAAQ,EAAE;YAAEvJ,UAAUpF;QAAM;QACtK,OAAOA,MAAM2kB,IAAI,CAAC;IACpB;IACA,IAAI3kB,AAAK,YAALA,OAAiByR,OAAM,OAAOzR,MAAM4kB,cAAc;IACtD,IAAI,OAAO5kB,UAAU,WAAW,OAAOA,QAAQ,QAAQ;IACvD,IAAI,OAAOA,UAAU,UAAU,OAAOA,MAAM6kB,QAAQ;IACpD,IAAI,CAAA,OAAO7kB,sCAAP,SAAOA,MAAI,MAAM,UAAU,OAAO8kB,KAAKC,SAAS,CAAC/kB;IACrD,OAAOmQ,OAAOnQ;AAChB;AACA,SAASglB,kBAAkB,KAG1B;QAFCC,UADyB,MACzBA,SACAC,MAFyB,MAEzBA;IAEA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGd,qBAAqBtd,GAAE,AAAC,EAAE,OAAO;QAAEtB,WAAW;QAAuBJ,UAAU6f,QAAQle,GAAG,CAAC,SAACoe;mBAAM,AAAgB,aAAH,GAAI,CAAA,GAAGf,qBAAqBld,IAAG,AAAC,EACxK,OACA;gBACE1B,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAA+EJ,UAAU+f,EAAEpW,KAAK;oBAAC;oBACpK,aAAa,GAAI,CAAA,GAAGqV,qBAAqBtd,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAqCJ,UAAUkf,gBAAgBY,GAAG,CAACC,EAAExlB,GAAG,CAAC;oBAAE;iBAC/I;YACH,GACAwlB,EAAExlB,GAAG;;IACJ;AACL;AACA,SAAS2E,aAAa,KAarB;QAZC8gB,aADoB,MACpBA,YACAC,WAFoB,MAEpBA,6BAFoB,MAGpBC,WAAAA,0CAAY,0BACZC,WAJoB,MAIpBA,UACAC,mBALoB,MAKpBA,kBACAC,iBANoB,MAMpBA,gBACAtgB,QAPoB,MAOpBA,OACAugB,cARoB,MAQpBA,aACAC,cAToB,MASpBA,aACAtE,mBAVoB,MAUpBA,kBACAC,yBAXoB,MAWpBA,wBACAvW,SAZoB,MAYpBA;;QAIsCka;IAFtC,IAAQA,UAAkBG,WAAlBH,SAASW,OAASR,WAATQ;IACjB,IAAwB,yBAAA,AAAC,CAAA,GAAG1B,cAAche,QAAO,AAAC,EAAE,EAAE,OAA/Csa,OAAiB,UAAXqF,UAAW;IACxB,IAAMC,iBAAiBH,wBAAAA,yBAAAA,eAAeV,YAAAA,OAAO,CAAC,EAAE,cAAVA,gCAAAA,UAAYtlB,GAAG;IACrD,IAAMomB,yBAAyB1B,eAAehD;IAC9C,IAAM2E,+BAA+B3B,eAAe/C;IACnD,CAAA,GAAG4C,cAAc9V,SAAQ,AAAC,EAAE;QAC3B,IAAI,CAACoS,KAAKla,MAAM,EAAE;QAClBuf,QACE,SAACpH;mBAASA,KAAK1X,GAAG,CAAC,SAACkf;gBAClB,IAAMf,MAAMe,EAAEf,GAAG;gBACjB,IAAMgB,WAAWJ,kBAAkBZ,GAAG,CAACY,eAAe,KAAK,KAAK,IAAIZ,GAAG,CAACY,eAAe,GAAGG,EAAE7Y,EAAE;gBAC9F,IAAM2B,QAAQ,OAAOmX,aAAa,YAAY,OAAOA,aAAa,WAAW/V,OAAO+V,YAAY,AAAC,OAAqB,OAAfD,EAAEE,QAAQ,GAAG;gBACpH,OAAO,wCAAKF;oBAAGlX,OAAAA;;YACjB;;IAEJ,GAAG;QAAC4W;QAAaV;KAAQ;IACzB,IAAMmB,iBAAiB,wBAAClB,KAAKze;QAC3B,IAAM2G,KAAKmY,WAAWA,SAASL,KAAKze,SAASA;QAC7Cof,QAAQ,SAACpH;YACP,IAAM4H,cAAc5H,KAAK6H,SAAS,CAAC,SAACL;uBAAMA,EAAE7Y,EAAE,KAAKA;;YACnD,IAAIiZ,gBAAgB,CAAC,GAAG;gBACtB,IAAME,QAAS,qBAAG9H;gBAClB8H,MAAMC,MAAM,CAACH,aAAa;gBAC1B,OAAOE;YACT;YACA,IAAML,WAAWJ,kBAAkBZ,GAAG,CAACY,eAAe,KAAK,KAAK,IAAIZ,GAAG,CAACY,eAAe,GAAG1Y;YAC1F,IAAM2B,QAAQ,OAAOmX,aAAa,YAAY,OAAOA,aAAa,WAAW/V,OAAO+V,YAAY,AAAC,OAAgB,OAAVzf,QAAQ;YAC/G,IAAMggB,OAAO,AAAC,qBAAGhI,aAAJ;gBAAU;oBAAErR,IAAAA;oBAAI2B,OAAAA;oBAAOmW,KAAAA;oBAAKiB,UAAU1f;gBAAM;aAAE;YAC3Dgf,2BAAAA,qCAAAA,eAAiBP;YACjB,OAAOuB;QACT;IACF;IACA,IAAMC,iBAAiB,wBAACtZ;QACtByY,QAAQ,SAACpH;mBAASA,KAAK7X,MAAM,CAAC,SAACqf;uBAAMA,EAAE7Y,EAAE,KAAKA;;;IAChD;IACA,IAAMuZ,gBAAgB,uBAACzB,KAAKze;QAC1B,IAAM2G,KAAKmY,WAAWA,SAASL,KAAKze,SAASA;QAC7C,OAAO+Z,KAAKiE,IAAI,CAAC,SAACwB;mBAAMA,EAAE7Y,EAAE,KAAKA;;IACnC;IACA,IAAMwZ,oBAAoB,2BAACzE,WAAWC;QACpCyD,QAAQ,SAACpH;YACP,IAAMgI,OAAQ,qBAAGhI;YACjB,IAAgBgI,gCAAAA,KAAKD,MAAM,CAACrE,WAAW,QAAhC0E,QAASJ;YAChBA,KAAKD,MAAM,CAACpE,SAAS,GAAGyE;YACxB,OAAOJ;QACT;IACF;IACA,IAAMK,sBAAsBtG,KAAKzZ,GAAG,CAAC,SAACkf;eAAO;YAC3ClX,OAAOkX,EAAElX,KAAK;YACdxI,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG6d,qBAAqBld,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAuBJ,UAAU;oBAC3G,aAAa,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAoBJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgf,qBAAqBld,IAAG,AAAC,EAC3I,UACA;4BACE8F,MAAM;4BACN5F,SAAS,SAATA;uCAAesf,eAAeT,EAAE7Y,EAAE;;4BAClC5H,WAAW;4BACXJ,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAEqd,eAAe4C,SAAS,EAAE;oCAAEvhB,WAAW;gCAAU;gCAC/F,aAAa,GAAI,CAAA,GAAG4e,qBAAqBtd,GAAE,AAAC,EAAE,QAAQ;oCAAE1B,UAAU;gCAAY;6BAC/E;wBACH;oBACA;oBACFogB,mBAAmBA,iBAAiBS,EAAEf,GAAG,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAGd,qBAAqBtd,GAAE,AAAC,EAAEke,mBAAmB;wBAAEC,SAAAA;wBAASC,KAAKe,EAAEf,GAAG;oBAAC;iBACrI;YAAC;QACJ;;IACA,IAAM8B,mCAA2B3B,qBAAAA,+BAAAA,SAAUtE,wBAAwB,uCAAI;IACvE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqD,qBAAqBld,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACfvF,WAAW;QACXJ,UAAU;YACPD,CAAAA,SAASugB,WAAU,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGtB,qBAAqBld,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAQJ,UAAU;oBAC7GD,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGif,qBAAqBtd,GAAE,AAAC,EACnD,MACA;wBACEtB,WAAW;wBACXgE,OAAO;4BAAE0Z,YAAY6C;wBAAuB;wBAC5C3gB,UAAUD;oBACZ;oBAEFugB,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGtB,qBAAqBtd,GAAE,AAAC,EACzD,KACA;wBACEtB,WAAW;wBACXgE,OAAO;4BAAE0Z,YAAY8C;wBAA6B;wBAClD5gB,UAAUsgB;oBACZ;iBAEH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGtB,qBAAqBtd,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA6DJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAiBJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgf,qBAAqBld,IAAG,AAAC,EAAE,SAAS;wBAAE1B,WAAW;wBAAsCJ,UAAU;4BACzV,aAAa,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAE,SAAS;gCAAEtB,WAAW;gCAAgDJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAAE,MAAM;oCAAE1B,UAAU6f,QAAQle,GAAG,CAAC,SAACkgB;+CAAW,AAAgB,aAAH,GAAI,CAAA,GAAG7C,qBAAqBtd,GAAE,AAAC,EAChQ,MACA;4CACEtB,WAAW;4CACXJ,UAAU6hB,OAAOlY,KAAK;wCACxB,GACAkY,OAAOtnB,GAAG;;gCACT;4BAAG;4BACN,aAAa,GAAI,CAAA,GAAGykB,qBAAqBld,IAAG,AAAC,EAAE,SAAS;gCAAE1B,WAAW;gCAAYJ,UAAU;oCACzFwgB,KAAKtf,MAAM,KAAK,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG8d,qBAAqBtd,GAAE,AAAC,EAAE,MAAM;wCAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAC/H,MACA;4CACEogB,SAASjC,QAAQ3e,MAAM;4CACvBd,WAAW;4CACXJ,UAAU;wCACZ;oCACA;oCACFwgB,KAAK7e,GAAG,CAAC,SAACme,KAAKze;wCACb,IAAM0gB,WAAWR,cAAczB,KAAKze;wCACpC,IAAM2gB,QAAQ7B,WAAWA,SAASL,KAAKze,SAASA;wCAChD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG2d,qBAAqBtd,GAAE,AAAC,EACjD,MACA;4CACEM,SAAS,SAATA;uDAAegf,eAAelB,KAAKze;;4CACnCjB,WAAW,AAAC,yEAAyG,OAAjC2hB,WAAW,mBAAmB;4CAClH/hB,UAAU6f,QAAQle,GAAG,CAAC,SAACkgB;uDAAW,AAAgB,aAAH,GAAI,CAAA,GAAG7C,qBAAqBtd,GAAE,AAAC,EAC5E,MACA;oDACEtB,WAAW;oDACXJ,UAAUkf,gBACRY,GAAG,CAAC+B,OAAOtnB,GAAG,CAAC;gDAEnB,GACAsnB,OAAOtnB,GAAG;;wCAEd,GACAwQ,OAAOiX;oCAEX;iCACD;4BAAC;yBACH;oBAAC;gBAAG;YAAG;YACR5G,KAAKla,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG8d,qBAAqBld,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAQJ,UAAU;oBACtG,aAAa,GAAI,CAAA,GAAGgf,qBAAqBld,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA0CJ,UAAU;4BACrH,aAAa,GAAI,CAAA,GAAGgf,qBAAqBld,IAAG,AAAC,EAAE,MAAM;gCAAE1B,WAAW;gCAAgEJ,UAAU;oCAC1I;oCACAob,KAAKla,MAAM;oCACX;iCACD;4BAAC;4BACFgf,aAAa,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBtd,GAAE,AAAC,EAAE,KAAK;gCAAEtB,WAAW;gCAA0BJ,UAAU;4BAA8C;yBAChK;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGgf,qBAAqBtd,GAAE,AAAC,EAC1C5C,iBACA,wCACKmhB;wBACH7E,MAAMsG;wBACNnG,eAAe2E;wBACf1E,eAAe0E,YAAYsB,oBAAoB,KAAK;wBACpD7F,0BAA0BiG;wBAC1B9F,YAAY,SAAZA,WAAaza;4BACX,IAAMxH,SAASuhB,IAAI,CAAC/Z,MAAM;4BAC1B,IAAI,CAACxH,QAAQ;4BACbynB,eAAeznB,OAAOmO,EAAE;wBAC1B;;iBAGL;YAAC;SACH;IACH;AAEJ;AACA9I,aAAaiD,WAAW,GAAG;AAE3B,2BAA2B;AAC3B,IAAI8f,iBAAiBxnB,QAAQmF,QAAQ;AACrC,IAAIsiB,kBAAkBtiB,QAAQ;AAC9B,IAAIuiB,uBAAuBviB,QAAQ;AACnC,IAAIZ,QAAQ;QACV6gB,gBAAAA,SACAW,aAAAA,MACA4B,aAAAA,MACAC,gBAAAA,SACAC,cAAAA,OACAC,iBAAAA,UACAC,mBAAAA,YACAC,0BAAAA,mBACAC,gBAAAA,SACAC,2BAAAA,sDACAC,oBAAAA,4DAAqB,6CACrBC,sBAAAA,eACAC,wBAAAA,2CACAC,YAAAA,4CAAa,qDACbC,YAAAA,4CAAa,wBACbC,sBAAAA,eACAC,iBAAAA,2CACAC,mBAAAA,0DAAoB;QAAC;QAAY;KAAa,6BAC9CC,gBAAAA,mCACAC,YAAAA,4CAAa,gEACbC,mBAAAA,0DAAoB,gEACpBC,eAAAA,kDAAgB,8BAChBC,yBAAAA,wDACAC,wBAAAA,oEAAyB,qCACzBC,wBAAAA,kDACAC,mBAAAA,0DAAoB,gCACpBC,iCAAAA,0BACAC,oBAAAA;IAEA,IAAoC,wBAAA,AAAC,CAAA,GAAG5B,eAAenhB,QAAO,AAAC,EAC7DqiB,iBAAiB,CAAC,EAAE,OADfW,aAA6B,SAAjBC,gBAAiB;IAGpC,IAAgD,yBAAA,AAAC,CAAA,GAAG9B,eAAenhB,QAAO,AAAC,EAAE,WAAtEkjB,mBAAyC,UAAvBC,sBAAuB;IAChD,IAAoD,yBAAA,AAAC,CAAA,GAAGhC,eAAenhB,QAAO,AAAC,EAC7E,aAAa,GAAG,IAAIojB,YADfC,qBAA6C,UAAzBC,wBAAyB;IAGpD,IAAMC,cAAc1B;IACpB,IAAMxY,eAAe,sBAACtC;QACpBqb,qBAAAA,+BAAAA,SAAWrb,EAAEhO,MAAM,CAACe,KAAK,EAAEkpB;IAC7B;IACA,IAAMQ,aAAaD,cAAcnR,KAAKqR,GAAG,CAAC,GAAGrR,KAAKsR,IAAI,CAAC,AAAChC,CAAAA,cAAc,CAAA,IAAMF,CAAAA,SAAS,CAAA,MAAO;IAC5F,IAAMmC,cAAcJ,cAAc,OAAOjC,SAAS,YAAYA,OAAO,IAAIA,OAAO,IAAI;IACpF,IAAMsC,WAAW,kBAAC3c;QAChB,IAAI,CAACsc,aAAa;QAClB,IAAMM,UAAUzR,KAAKqR,GAAG,CAAC,GAAGrR,KAAK0R,GAAG,CAACN,YAAYvc;QACjDsa,oBAAAA,8BAAAA,QAAUsC;IACZ;IACA,IAAME,oBAAoB;;YAoBtBC,MAAMpO,IAAI,CACR,AAAgB,aAAH,GAAI,CAAA,GAAGyL,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;gBACEM,SAAS,SAATA;2BAAe0iB,SAASjjB;;gBACxBM,UAAU0iB,gBAAgBhjB;gBAC1BrB,WAAW,AAAC,oDAAyJ,OAAtGqkB,gBAAgBhjB,IAAI,mCAAmC;gBACtHzB,UAAUyB;YACZ,GACAA;QAGN;QA/BA,IAAI,CAAC4iB,eAAeC,cAAc,GAAG,OAAO;QAC5C,IAAMQ,QAAQ,EAAE;QAChB,IAAMC,WAAW;QACjBD,MAAMpO,IAAI,CACR,AAAgB,aAAH,GAAI,CAAA,GAAGyL,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;YACEM,SAAS,SAATA;uBAAe0iB,SAAS;;YACxB3iB,UAAU0iB,gBAAgB;YAC1BrkB,WAAW,AAAC,oDAAyJ,OAAtGqkB,gBAAgB,IAAI,mCAAmC;YACtHzkB,UAAU;QACZ,GACA;QAGJ,IAAMiN,QAAQiG,KAAKqR,GAAG,CAAC,GAAGE,cAAcM;QACxC,IAAM/T,MAAMkC,KAAK0R,GAAG,CAACN,aAAa,GAAGG,cAAcM;QACnD,IAAI9X,QAAQ,GAAG6X,MAAMpO,IAAI,CAAC,AAAgB,aAAH,GAAI,CAAA,GAAGyL,qBAAqBzgB,GAAE,AAAC,EAAE,QAAQ;YAAE1B,UAAU;QAAM,GAAG;QACrG,IAAK,IAAIyB,IAAIwL,OAAOxL,KAAKuP,KAAKvP;QAc9B,IAAIuP,MAAMsT,aAAa,GAAGQ,MAAMpO,IAAI,CAAC,AAAgB,aAAH,GAAI,CAAA,GAAGyL,qBAAqBzgB,GAAE,AAAC,EAAE,QAAQ;YAAE1B,UAAU;QAAM,GAAG;QAChH,IAAIskB,aAAa,GAAG;YAClBQ,MAAMpO,IAAI,CACR,AAAgB,aAAH,GAAI,CAAA,GAAGyL,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;gBACEM,SAAS,SAATA;2BAAe0iB,SAASJ;;gBACxBviB,UAAU0iB,gBAAgBH;gBAC1BlkB,WAAW,AAAC,oDAAkK,OAA/GqkB,gBAAgBH,aAAa,mCAAmC;gBAC/HtkB,UAAUskB;YACZ,GACAA;QAGN;QACA,OAAOQ;IACT;IACA,IAAME,qBAAqBxB,oBAAoBH;IAC/C,IAAM4B,aAAa,oBAACrqB,OAAOL;QACzB,IAAIK,SAAS,MAAM,OAAO;QAC1B,IAAIqnB,eAAene,OAAO,CAACqb,cAAc,CAACvkB,QAAQ,OAAOA;QACzD,IAAI,OAAOA,UAAU,WAAW,OAAOA,QAAQ,QAAQ;QACvD,IAAIA,AAAK,YAALA,OAAiByR,OAAM,OAAOzR,MAAM4kB,cAAc;QACtD,IAAIxI,MAAMoI,OAAO,CAACxkB,QAAQ;YACxB,IAAIA,MAAMykB,IAAI,CAAC,SAACzd;uBAASqgB,eAAene,OAAO,CAACqb,cAAc,CAACvd;gBAAQ,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGugB,qBAAqBzgB,GAAE,AAAC,EAAEygB,qBAAqB5Y,QAAQ,EAAE;gBAAEvJ,UAAUpF;YAAM;YAC7K,OAAOA,MAAM2kB,IAAI,CAAC;QACpB;QACA,IAAI,CAAA,OAAO3kB,sCAAP,SAAOA,MAAI,MAAM,UAAU,OAAO8kB,KAAKC,SAAS,CAAC/kB;QACrD,IAAI,OAAOA,UAAU,UAAU;YAC7B,IAAI8oB,4BAAAA,sCAAAA,gBAAiBniB,QAAQ,CAAChH,MAAM;oBACtBqpB;gBAAZ,IAAMW,OAAMX,gBAAAA,qCAAAA,+CAAAA,wBAA0B,CAACrpB,IAAI,yCAAIopB,+BAAnCC,kBAAAA,OAAwD;gBACpE,IAAMsB,YAAYtqB,MAAMsG,MAAM,IAAIqjB,MAAM3pB,QAAQA,MAAMuqB,SAAS,CAAC,GAAGZ,OAAO;gBAC1E,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGpC,qBAAqBzgB,GAAE,AAAC,EACjD,OACA;oBACEtB,WAAW;oBACXL,OAAOnF;oBACPoF,UAAUklB;gBACZ;YAEJ;QACF;QACA,OAAOna,OAAOnQ;IAChB;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGunB,qBAAqBrgB,IAAG,AAAC,EAAEqgB,qBAAqB5Y,QAAQ,EAAE;QAAEvJ,UAAU;YAC9F+iB,CAAAA,cAAcD,mBAAmBD,aAAY,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGV,qBAAqBrgB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA6CJ,UAAU;oBAC5K+iB,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGZ,qBAAqBrgB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA2BJ,UAAU;4BACpH,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBrgB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAYJ,UAAU;oCACvF,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAC1C,SACA;wCACE9G,OAAOooB;wCACP9Y,UAAUC;wCACVwF,aAAa;wCACbvP,WAAW;oCACb;oCAEF4iB,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGb,qBAAqBzgB,GAAE,AAAC,EACxD,UACA;wCACEM,SAASihB;wCACT7iB,WAAW;wCACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAAEwgB,gBAAgBP,SAAS,EAAE;4CAAEvhB,WAAW;wCAAU;oCAC5G;iCAEH;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAG+hB,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;gCACE9G,OAAOkpB;gCACP5Z,UAAU,SAAVA,SAAWrC;2CAAMkc,cAAclc,EAAEhO,MAAM,CAACe,KAAK;;gCAC7CwF,WAAW;gCACXJ,UAAUmjB,kBAAkBxhB,GAAG,CAAC,SAACyjB;2CAAS,AAAgB,aAAH,GAAI,CAAA,GAAGjD,qBAAqBzgB,GAAE,AAAC,EAAE,UAAU;wCAAE9G,OAAOwqB;wCAAMplB,UAAUolB,SAAS,eAAe,gBAAgB;oCAAW,GAAGA;;4BACnL;yBAEH;oBAAC;oBACDvC,CAAAA,iBAAiBC,eAAc,KAAM,AAAgB,aAAH,GAAI,CAAA,GAAGX,qBAAqBrgB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAcJ,UAAU;4BAC/H6iB,iBAAiB,AAAgB,aAAH,GAAI,CAAA,GAAGV,qBAAqBzgB,GAAE,AAAC,EAC3D,UACA;gCACEM,SAAS,SAATA;2CAAe6gB,cAAcrC,MAAMX;;gCACnCzf,WAAW;gCACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAAEwgB,gBAAgBmD,qBAAqB,EAAE;oCAAEjlB,WAAW;gCAAU;4BACxH;4BAEF0iB,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAGX,qBAAqBzgB,GAAE,AAAC,EAC7D,UACA;gCACEM,SAAS,SAATA;2CAAe8gB,gBAAgBtC,MAAMX;;gCACrCzf,WAAW;gCACXJ,UAAU;4BACZ;yBAEH;oBAAC;iBACH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACX,eAAeyjB;gBACf7jB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBrgB,IAAG,AAAC,EAAE,SAAS;oBAAE1B,WAAW;oBAAoCJ,UAAU;wBAC3H,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAAE,SAAS;4BAAEtB,WAAW;4BAAgDJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBrgB,IAAG,AAAC,EAAE,MAAM;gCAAE9B,UAAU;oCAC7L6f,QAAQle,GAAG,CAAC,SAACkgB,QAAQyD;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGnD,qBAAqBzgB,GAAE,AAAC,EACvE,MACA;4CACEtB,WAAW;4CACXJ,UAAU6hB,OAAOlY,KAAK;wCACxB,GACA2b;;oCAEF5C,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGP,qBAAqBzgB,GAAE,AAAC,EAAE,MAAM;wCAAEtB,WAAW;wCAAkCJ,UAAU;oCAAU;iCACnI;4BAAC;wBAAG;wBACL,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAAE,SAAS;4BAAE1B,UAAUwgB,KAAKtf,MAAM,GAAG,IAAIsf,KAAK7e,GAAG,CAAC,SAACme,KAAKiB;gCAClG,IAAMwE,aAAanC,YAAY,WAAWY,qBAAqBjD,WAAWoD,mBAAmBqB,GAAG,CAACzE;gCACjG,IAAM0E,YAAY;oCAChB,IAAI,CAACrC,SAAS;oCACd,IAAIA,YAAY,UAAU;wCACxBa,oBAAoB,SAAC5K;mDAASA,SAAS0H,WAAW,OAAOA;;oCAC3D,OAAO;wCACLqD,sBAAsB,SAAC/K;4CACrB,IAAMgI,OAAO,IAAI6C,IAAI7K;4CACrBgI,KAAKmE,GAAG,CAACzE,YAAYM,KAAKqE,MAAM,CAAC3E,YAAYM,KAAKsE,GAAG,CAAC5E;4CACtD,OAAOM;wCACT;oCACF;gCACF;gCACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGc,qBAAqBrgB,IAAG,AAAC,EAAEmgB,eAAene,OAAO,CAACyF,QAAQ,EAAE;oCAAEvJ,UAAU;wCACjG,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBrgB,IAAG,AAAC,EAC3C,MACA;4CACEE,SAASyjB;4CACTrlB,WAAW;4CACXgE,OAAOqe,oBAAoB;gDAAE9b,iBAAiB8b;4CAAkB,IAAI,KAAK;4CACzEziB,UAAU;gDACR6f,QAAQle,GAAG,CAAC,SAACkgB,QAAQpgB;2DAAM,AAAgB,aAAH,GAAI,CAAA,GAAG0gB,qBAAqBzgB,GAAE,AAAC,EAAE,MAAM;wDAAEtB,WAAW;wDAA6FJ,UAAUilB,WAAWnF,GAAG,CAAC+B,OAAOtnB,GAAG,CAAC,EAAEsnB,OAAOtnB,GAAG;oDAAE,GAAGkH;;gDAC9OihB,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGP,qBAAqBzgB,GAAE,AAAC,EAAE,MAAM;oDAAEtB,WAAW;oDAAyBJ,UAAU0iB,QAAQ5C;gDAAK;6CAC7H;wCACH;wCAEFsD,WAAWmC,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGpD,qBAAqBzgB,GAAE,AAAC,EAAE,MAAM;4CAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EACnI,MACA;gDACEogB,SAASjC,QAAQ3e,MAAM,GAAIwhB,CAAAA,UAAU,IAAI,CAAA;gDACzCtiB,WAAW;gDACXJ,UAAU8f,GAAG,CAACuD,WAAW;4CAC3B;wCACA;qCACH;gCAAC,GAAGtC;4BACP,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGoB,qBAAqBzgB,GAAE,AAAC,EAAE,MAAM;gCAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAC/G,MACA;oCACEogB,SAASjC,QAAQ3e,MAAM,GAAIwhB,CAAAA,UAAU,IAAI,CAAA;oCACzCtiB,WAAW;oCACXJ,UAAU;gCACZ;4BACA;wBAAG;qBACN;gBAAC;YACJ;YAEF2iB,sBAAsB2B,aAAa,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGnC,qBAAqBrgB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA+CJ,UAAU;oBAClK,aAAa,GAAI,CAAA,GAAGmiB,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;wBACEM,SAAS,SAATA;mCAAe0iB,SAASD,cAAc;;wBACtC1iB,UAAU0iB,gBAAgB;wBAC1BrkB,WAAW;wBACXJ,UAAU;oBACZ;oBAEF6kB;oBACA,aAAa,GAAI,CAAA,GAAG1C,qBAAqBzgB,GAAE,AAAC,EAC1C,UACA;wBACEM,SAAS,SAATA;mCAAe0iB,SAASD,cAAc;;wBACtC1iB,UAAU0iB,gBAAgBH;wBAC1BlkB,WAAW;wBACXJ,UAAU;oBACZ;iBAEH;YAAC;SACH;IAAC;AACJ;AAEA,gDAAgD;AAChD,IAAI4lB,iBAAiBhmB,QAAQ;AAE7B,mCAAmC;AACnC,IAAIimB,iBAAiBjmB,QAAQ;AAC7B,IAAIkmB,uBAAuBlmB,QAAQ;AACnC,IAAImmB,WAAW,kBAAC3Y;IACd,IAAI,OAAOA,MAAM,UAAU,OAAOA;IAClC,IAAM4Y,OAAO5Y;IACb,IAAI,QAAO4Y,iBAAAA,2BAAAA,KAAMC,GAAG,MAAK,UAAU,OAAOD,KAAKC,GAAG;IAClD,IAAM5Y,IAAI2Y,iBAAAA,2BAAAA,KAAMliB,OAAO;IACvB,IAAI,OAAOuJ,MAAM,UAAU,OAAOA;IAClC,IAAI,QAAOA,cAAAA,wBAAAA,EAAG4Y,GAAG,MAAK,UAAU,OAAO5Y,EAAE4Y,GAAG;IAC5C,OAAO;AACT;AACA,IAAIC,gBAAgBprB;AACpB,IAAIqrB,oBAAoB,2BAAClhB;IACvB,IAAMmhB,OAAO;IACb,OAAQnhB;QACN,KAAK;YACH,OAAO,AAAC,GAAO,OAALmhB,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB,KAAK;YACH,OAAO,AAAC,GAAO,OAALA,MAAK;QACjB;YACE,OAAO,AAAC,GAAO,OAALA,MAAK;IACnB;AACF;AACA,IAAIC,iBAAiB,wBAACphB;IACpB,IAAMmhB,OAAO;IACb,IAAInhB,YAAY,gBAAgB;QAC9B,OAAO,AAAC,GAAO,OAALmhB,MAAK;IACjB;IACA,OAAO,AAAC,GAAO,OAALA,MAAK;AACjB;AACA,IAAIE,mBAAmB,0BAACrhB,SAASoR;IAC/B,IAAM+P,OAAO;IACb,IAAInhB,YAAY,gBAAgB;QAC9B,OAAO,AAAC,GAAuFoR,OAArF+P,MAAK,kFAAqI,OAArD/P,aAAa,6BAA6B,YAAW;IACtJ;IACA,OAAO,AAAC,GAAoDA,OAAlD+P,MAAK,+CAAkG,OAArD/P,aAAa,6BAA6B,YAAW;AACnH;AACA,IAAIkQ,gBAAgB;QAClBxM,gBAAAA,SACAnf,cAAAA,OACAqjB,iBAAAA,UACAtU,cAAAA,8BACA1E,SAAAA,sCAAU,0BACV7E,kBAAAA,WACAuF,eAAAA;IAEA,IAA4B,wBAAA,AAAC,CAAA,GAAGkgB,eAAe/kB,QAAO,AAAC,EAAE,YAAlDe,SAAqB,SAAbsP,YAAa;IAC5B,IAA0C,yBAAA,AAAC,CAAA,GAAG0U,eAAe/kB,QAAO,AAAC,EAAElG,YAAhE4rB,gBAAmC,UAApBC,mBAAoB;IAC1C,IAAMxM,cAAc,AAAC,CAAA,GAAG4L,eAAelT,MAAK,AAAC,EAAE;IAC9C,CAAA,GAAGkT,eAAe7c,SAAQ,AAAC,EAAE;QAC5B,IAAIpO,UAAU,KAAK,GAAG6rB,iBAAiB7rB;IACzC,GAAG;QAACA;KAAM;IACV,IAAM8rB,eAAe9rB,UAAU,KAAK,IAAIA,QAAQ4rB;IAChD,IAAMpI,iBAAiB,AAAC,CAAA,GAAGyH,eAAec,OAAM,AAAC,EAC/C;eAAM5M,QAAQM,IAAI,CAAC,SAACR;mBAAQA,IAAIjf,KAAK,KAAK8rB;;OAC1C;QAAC3M;QAAS2M;KAAa;IAExB,CAAA,GAAGb,eAAe7c,SAAQ,AAAC,EAAE;QAC5B,IAAMiL,qBAAqB,4BAACC;YAC1B,IAAI+F,YAAY5G,OAAO,IAAI,CAAC4G,YAAY5G,OAAO,CAACc,QAAQ,CAACD,MAAMra,MAAM,GAAG;gBACtEsX,UAAU;YACZ;QACF;QACAjI,SAASC,gBAAgB,CAAC,aAAa8K;QACvC,OAAO;mBAAM/K,SAASE,mBAAmB,CAAC,aAAa6K;;IACzD,GAAG,EAAE;IACL,IAAMoK,eAAe,sBAACuI;QACpB3I,SAAS2I;QACT,IAAIhsB,UAAU,KAAK,GAAG;YACpB6rB,iBAAiBG;QACnB;QACAzV,UAAU;IACZ;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG2U,qBAAqBhkB,IAAG,AAAC,EAClD,OACA;QACEoC,KAAK+V;QACL7Z,WAAW,AAAC,yBAAwC,OAAhBA,aAAa;QACjD,eAAeuF;QACf3F,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGmc,qBAAqBpkB,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAA0DJ,UAAU2J;YAAM;YACvJ,aAAa,GAAI,CAAA,GAAGmc,qBAAqBhkB,IAAG,AAAC,EAC3C,UACA;gBACE8F,MAAM;gBACNxH,WAAW+lB,kBAAkBlhB;gBAC7BjD,SAAS,SAATA;2BAAemP,UAAU,CAACtP;;gBAC1BglB,WAAW,SAAXA,UAAYhf;oBACV,IAAIA,EAAEtN,GAAG,KAAK,WAAWsN,EAAEtN,GAAG,KAAK,KAAK;wBACtCsN,EAAEgV,cAAc;wBAChB1L,UAAU,CAACtP;oBACb;gBACF;gBACA,iBAAiB;gBACjB,iBAAiBA;gBACjB7B,UAAU;oBACR,aAAa,GAAI,CAAA,GAAG8lB,qBAAqBpkB,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAmDJ,UAAUoe,CAAAA,2BAAAA,qCAAAA,eAAgB7jB,GAAG,KAAI;oBAAY;oBACnK,aAAa,GAAI,CAAA,GAAGurB,qBAAqBpkB,GAAE,AAAC,EAC1C,OACA;wBACEukB,KAAKF,SAASG;wBACdY,KAAK;wBACL1mB,WAAW;oBACb;iBAEH;YACH;YAEFyB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGikB,qBAAqBpkB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAWimB,eAAephB;gBAAUuE,MAAM;gBAAWxJ,UAAU+Z,QAAQpY,GAAG,CAAC,SAAC2c;2BAAW,AAAgB,aAAH,GAAI,CAAA,GAAGwH,qBAAqBpkB,GAAE,AAAC,EAClM,UACA;wBACEkG,MAAM;wBACNxH,WAAWkmB,iBAAiBrhB,SAASqZ,OAAO1jB,KAAK,KAAK8rB;wBACtD1kB,SAAS,SAATA;mCAAeqc,aAAaC,OAAO1jB,KAAK;;wBACxC4O,MAAM;wBACN,iBAAiB8U,OAAO1jB,KAAK,KAAK8rB;wBAClC1mB,UAAUse,OAAO/jB,GAAG;oBACtB,GACA+jB,OAAO/jB,GAAG;;YACT;SACJ;IACH;AAEJ;AACAgsB,cAAcpkB,WAAW,GAAG;AAE5B,qCAAqC;AACrC,IAAI4kB,iBAAiBtsB,QAAQmF,QAAQ;AACrC,IAAIonB,eAAepnB,QAAQ;AAC3B,IAAIqnB,yBAAyBrnB,QAAQ;AACrC,IAAIsnB,uBAAuBtnB,QAAQ;AACnConB,aAAaG,KAAK,CAACC,QAAQ,CACzBJ,aAAaK,UAAU,EACvBL,aAAaM,OAAO,EACpBN,aAAaO,MAAM,EACnBP,aAAaQ,aAAa,EAC1BR,aAAaS,WAAW,EACxBT,aAAaU,YAAY,EACzBV,aAAaW,WAAW,EACxBX,aAAaY,UAAU,EACvBZ,aAAaa,MAAM;AAErB,IAAIC,uBAAuB,8BAACtH;IAC1B,IAAMuH,WAAW/Q,MAAMoI,OAAO,CAACoB,KAAKuH,QAAQ,IAAIvH,KAAKuH,QAAQ,GAAG,EAAE;IAClE,OAAO,wCACFvH;QACHuH,UAAUA,SAASpmB,GAAG,CAAC,SAACqmB;mBAAQ,wCAC3BA;gBACHC,SAAS;gBACTC,wBAAwB;;;;AAG9B;AACA,IAAIC,kBAAkB;QACpBC,kBAAAA,WACA5H,aAAAA,MACAzG,gBAAAA;IAEA,IAAMsO,iBAAiBtB,eAAejjB,OAAO,CAAC6iB,OAAO,CAAC;QACpD,IAAM2B,eAAeF,cAAc,UAAUA,cAAc;QAC3D,IAAIE,cAAc;YAChB,OAAO;gBACLC,YAAY;gBACZC,qBAAqB;gBACrBC,UAAU;oBAAEC,MAAM;wBAAET,SAAS;oBAAE;gBAAE;gBACjCU,SAAS;oBACPC,QAAQ;wBAAEC,SAAS;oBAAM;oBACzBC,SAAS;wBACP1D,MAAM;wBACN2D,WAAW;wBACXpiB,iBAAiB;wBACjBqiB,YAAY;wBACZC,WAAW;wBACXC,aAAa;wBACbC,aAAa;wBACb7Q,SAAS;wBACT8Q,eAAe;oBACjB;gBACF;gBACAC,QAAQ;oBACNC,GAAG;wBACDC,MAAM;4BAAEV,SAAS;4BAAMjjB,OAAO;4BAAuB4jB,YAAY;wBAAM;wBACvEC,OAAO;4BAAE7jB,OAAO;4BAAuBqV,MAAM;gCAAE/V,MAAM;4BAAG;wBAAE;oBAC5D;oBACAiI,GAAG;wBACDoc,MAAM;4BAAEV,SAAS;4BAAMjjB,OAAO;4BAAuB4jB,YAAY;wBAAM;wBACvEC,OAAO;4BAAE7jB,OAAO;4BAAuBqV,MAAM;gCAAE/V,MAAM;4BAAG;wBAAE;wBAC1D0f,KAAK;wBACLL,KAAK;oBACP;gBACF;gBACAmF,aAAa;oBAAEtE,MAAM;oBAAWuE,MAAM;oBAAKZ,WAAW;gBAAM;YAC9D;QACF;QACA,OAAO;YACLR,YAAY;YACZC,qBAAqB;YACrBoB,QAAQxB,cAAc,SAASA,cAAc,aAAa,QAAQ,KAAK;YACvEO,SAAS;gBAAEC,QAAQ;oBAAEC,SAAS;gBAAM;YAAE;QACxC;IACF,GAAG;QAACT;KAAU;IACd,IAAMyB,eAAe9P,WAAWsO;IAChC,IAAMyB,cAAc;QAClB,OAAQ1B;YACN,KAAK;YACL,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBxlB,GAAE,AAAC,EAAEulB,uBAAuB8C,IAAI,EAAE;oBAAEvJ,MAAAA;oBAAMzG,SAAS8P;gBAAa,GAAGzB;YACrH,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBxlB,GAAE,AAAC,EAAEulB,uBAAuB+C,GAAG,EAAE;oBAAExJ,MAAAA;oBAAMzG,SAAS8P;gBAAa,GAAGzB;YACpH,KAAK;YACL,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBxlB,GAAE,AAAC,EAAEulB,uBAAuBgD,QAAQ,EAAE;oBAAEzJ,MAAAA;oBAAMzG,SAAS8P;gBAAa,GAAGzB;YACzH;gBACE,OAAO;QACX;IACF;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBxlB,GAAE,AAAC,EAAE,OAAO;QAAEtB,WAAW;QAA2DJ,UAAU8pB;IAAc;AAC9J;AACA3B,gBAAgBhmB,WAAW,GAAG;AAE9B,iCAAiC;AACjC,IAAI+nB,uBAAuBtqB,QAAQ;AACnC,IAAIuqB,cAAc;QAAGpqB,cAAAA,OAAOqqB,gBAAAA,SAASzkB,eAAAA;IACnC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGukB,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+B,eAAeuF;QAAQ3F,UAAU;YACxI,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAwGJ,UAAUD;YAAM;YAC1L,aAAa,GAAI,CAAA,GAAGmqB,qBAAqBxoB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA+CJ,UAAUoqB,QAAQzoB,GAAG,CAAC,SAACoL;oBACtI,IAAMsd,qBAAqBnX,KAAKC,KAAK,CAACpG,EAAEud,QAAQ,GAAGvd,EAAElT,MAAM,GAAG;oBAC9D,IAAM0wB,gBAAgBrX,KAAK0R,GAAG,CAAC7X,EAAEud,QAAQ,GAAGvd,EAAElT,MAAM,GAAG,KAAK;oBAC5D,IAAM2wB,iBAAiBtX,KAAK0R,GAAG,CAAC7X,EAAE0d,MAAM,GAAG1d,EAAElT,MAAM,GAAG,KAAK;oBAC3D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqwB,qBAAqBpoB,IAAG,AAAC,EAClD,OACA;wBACE1B,WAAW;wBACX,eAAeuF,SAAS,AAAC,GAAiBoH,OAAfpH,QAAO,UAAe,OAAPoH,EAAEhT,IAAI,IAAK,KAAK;wBAC1DiG,UAAU;4BACR,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAsGJ,UAAU+M,EAAEhT,IAAI;4BAAC;4BACzL,aAAa,GAAI,CAAA,GAAGmwB,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA4DJ,UAAU;oCACvI,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAgCJ,UAAU;4CAC3G,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAuIJ,UAAU;oDAClN;oDACA+M,EAAEud,QAAQ,CAAC9K,cAAc;oDACzB;oDACAzS,EAAElT,MAAM,CAAC2lB,cAAc;iDACxB;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAG0K,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAiFJ,UAAU;oDAC5J,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAC1C,OACA;wDACEtB,WAAW;wDACXgE,OAAO;4DAAE0B,OAAO,AAAC,GAAgB,OAAdykB,eAAc;wDAAG;wDACpC,eAAe5kB,SAAS,AAAC,GAAgBoH,OAAdpH,QAAO,SAAc,OAAPoH,EAAEhT,IAAI,IAAK,KAAK;oDAC3D;oDAEF,aAAa,GAAI,CAAA,GAAGmwB,qBAAqBxoB,GAAE,AAAC,EAC1C,OACA;wDACEtB,WAAW;wDACXgE,OAAO;4DAAEsW,MAAM,AAAC,GAAiB,OAAf8P,gBAAe;4DAAInT,WAAW;wDAAmB;wDACnE,eAAe1R,SAAS,AAAC,GAAmBoH,OAAjBpH,QAAO,YAAiB,OAAPoH,EAAEhT,IAAI,IAAK,KAAK;oDAC9D;iDAEH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGmwB,qBAAqBxoB,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAqCJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGkqB,qBAAqBpoB,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAAoCJ,UAAU;wDAChO,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGJ,UAAU;wDAAI;wDACxL,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGgE,OAAO;gEAAEmU,YAAY;4DAAO;4DAAGvY,UAAU;wDAAK;wDACxN,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGgE,OAAO;gEAAEmU,YAAY;4DAAO;4DAAGvY,UAAU;wDAAK;wDACxN,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGgE,OAAO;gEAAEmU,YAAY;4DAAO;4DAAGvY,UAAU;wDAAK;wDACxN,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGgE,OAAO;gEAAEmU,YAAY;4DAAO;4DAAGvY,UAAU;wDAAK;wDACxN,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBxoB,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAuGgE,OAAO;gEAAEmU,YAAY;4DAAO;4DAAGvY,UAAU;wDAAM;qDAC1N;gDAAC;4CAAG;yCACN;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGkqB,qBAAqBpoB,IAAG,AAAC,EAC3C,OACA;wCACE1B,WAAW;wCACX,eAAeuF,SAAS,AAAC,GAAuBoH,OAArBpH,QAAO,gBAAqB,OAAPoH,EAAEhT,IAAI,IAAK,KAAK;wCAChEiG,UAAU;4CACRqqB;4CACA;yCACD;oCACH;iCAEH;4BAAC;yBACH;oBACH,GACAtd,EAAEhT,IAAI;gBAEV;YAAG;SACJ;IAAC;AACJ;AACAowB,YAAYhoB,WAAW,GAAG;AAE1B,gCAAgC;AAChC,IAAIuoB,uBAAuB9qB,QAAQ;AACnC,IAAI+qB,aAAa;QAAG5qB,cAAAA,OAAO6qB,eAAAA,QAAQjlB,eAAAA;IACjC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG+kB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+B,eAAeuF;QAAQ3F,UAAU;YACxI,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBACLwB,OAAO;oBACPkY,YAAY;oBACZnH,UAAU;oBACVkU,YAAY;gBACd;gBACA7qB,UAAUD;YACZ;YAEF,aAAa,GAAI,CAAA,GAAG2qB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAwBJ,UAAU4qB,OAAOjpB,GAAG,CAAC,SAACmpB,OAAOzpB;oBACrH,IAAM0pB,aAAa7X,KAAK0R,GAAG,CAACkG,MAAMlwB,KAAK,GAAGkwB,MAAMvG,GAAG,GAAG,KAAK;oBAC3D,IAAMyG,QAAQD,aAAa,MAAM,MAAM;oBACvC,IAAME,YAAYH,MAAMvG,GAAG,GAAGuG,MAAMlwB,KAAK;oBACzC,IAAMswB,WAAWhY,KAAKC,KAAK,CAAC2X,MAAMlwB,KAAK,GAAG;oBAC1C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAUJ,UAAU;4BAC5F,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA4CJ,UAAU;oCACvH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAC3C,OACA;wCACE1B,WAAW;wCACXgE,OAAO;4CAAEyB,QAAQ;wCAAQ;wCACzB7F,UAAU;4CACR,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAiB+qB,SAAS;gDAAenrB,UAAU;oDACpH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;wDAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,kBAAkB;4DAAEkG,IAAI,AAAC,gBAAqB,OAAN3G;4DAAS+pB,IAAI;4DAAMC,IAAI;4DAAMC,IAAI;4DAAQC,IAAI;4DAAMvrB,UAAU;gEACpN,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;oEAAE8pB,QAAQ;oEAAMC,WAAW;gEAAoB;gEACrG,aAAa,GAAI,CAAA,GAAGf,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;oEAAE8pB,QAAQ;oEAAQC,WAAW;gEAAqB;6DACzG;wDAAC;oDAAG;oDACL,aAAa,GAAI,CAAA,GAAGf,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;wDACE2L,GAAG;wDACHqe,MAAM;wDACNC,QAAQ;wDACRjiB,aAAa;wDACbkiB,eAAe;oDACjB;oDAEF,aAAa,GAAI,CAAA,GAAGlB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;wDACE2L,GAAG;wDACHqe,MAAM;wDACNC,QAAQ,AAAC,qBAA0B,OAANtqB,OAAM;wDACnCqI,aAAa;wDACbkiB,eAAe;wDACfxnB,OAAO;4DAAEynB,YAAY;wDAAuB;wDAC5CC,iBAAiB,AAAC,GAA2B,OAAzBf,aAAa,MAAM,OAAM;oDAC/C;oDAEF;wDACE;4DAAEzB,GAAG;4DAAInc,GAAG;4DAAK0T,GAAG;wDAAI;wDACxB;4DAAEyI,GAAG;4DAAInc,GAAG;4DAAI0T,GAAG;wDAAK;wDACxB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAI0T,GAAG;wDAAK;wDACzB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAI0T,GAAG;wDAAK;wDACzB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAK0T,GAAG;wDAAM;qDAC5B,CAAClf,GAAG,CAAC;4DAAG2nB,UAAAA,GAAGnc,UAAAA,GAAG0T,UAAAA;+DAAQ,AAAgB,aAAH,GAAI,CAAA,GAAG6J,qBAAqBhpB,GAAE,AAAC,EACjE,QACA;4DACE4nB,GAAAA;4DACAnc,GAAAA;4DACA/I,OAAO;gEACL0Z,YAAY;gEACZnH,UAAU;gEACVkU,YAAY;gEACZa,MAAM;4DACR;4DACA1rB,UAAU6gB;wDACZ,GACAA;;oDAEF,aAAa,GAAI,CAAA,GAAG6J,qBAAqB5oB,IAAG,AAAC,EAAE,KAAK;wDAAEuV,WAAW;wDAAsBrX,UAAU;4DAC/F,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAC7G,kBACA;oEACEkG,IAAI,AAAC,iBAAsB,OAAN3G;oEACrB+pB,IAAI;oEACJC,IAAI;oEACJC,IAAI;oEACJC,IAAI;oEACJQ,eAAe;oEACf/rB,UAAU;wEACR,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;4EAAE8pB,QAAQ;4EAAMC,WAAW;4EAAqBO,aAAa;wEAAM;wEACzH,aAAa,GAAI,CAAA,GAAGtB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;4EAAE8pB,QAAQ;4EAAQC,WAAW;4EAAsBO,aAAa;wEAAM;qEAC7H;gEACH;4DACA;4DACF,aAAa,GAAI,CAAA,GAAGtB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;gEACE2L,GAAG;gEACHqe,MAAM,AAAC,sBAA2B,OAANrqB,OAAM;4DACpC;yDAEH;oDAAC;oDACF,aAAa,GAAI,CAAA,GAAGqpB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;wDACE4nB,GAAG;wDACHnc,GAAG;wDACH8e,YAAY;wDACZ7nB,OAAO;4DAAE0Z,YAAY;4DAAuBnH,UAAU;4DAAQkU,YAAY;4DAAKa,MAAM;wDAAsB;wDAC3G1rB,UAAU;oDACZ;oDAEF,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAC3C,QACA;wDACEwnB,GAAG;wDACHnc,GAAG;wDACH8e,YAAY;wDACZ7nB,OAAO;4DAAE0Z,YAAY;4DAAuBnH,UAAU;4DAAQkU,YAAY;4DAAKa,MAAM;wDAAgB;wDACrG1rB,UAAU;4DACRkT,KAAKC,KAAK,CAAC4X;4DACX;yDACD;oDACH;oDAEF,aAAa,GAAI,CAAA,GAAGL,qBAAqBhpB,GAAE,AAAC,EAAE,KAAK;wDAAE2V,WAAW;wDAAuBrX,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAC3I,KACA;4DACE0C,OAAO;gEACLynB,YAAY;gEACZxU,WAAW,AAAC,UAAe,OAAN2T,OAAM;gEAC3BkB,iBAAiB;4DACnB;4DACAlsB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE2L,GAAG;gEAAmCqe,MAAM;4DAAmB;wDACnI;oDACA;iDACH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGhB,qBAAqB5oB,IAAG,AAAC,EAC3C,OACA;gDACE1B,WAAW;gDACXgE,OAAO;oDACLwB,OAAO;oDACPkY,YAAY;oDACZnH,UAAU;oDACVkU,YAAY;gDACd;gDACA7qB,UAAU;oDACR;oDACAkT,KAAKC,KAAK,CAAC4X;oDACX;iDACD;4CACH;yCAEH;oCACH;oCAEF,aAAa,GAAI,CAAA,GAAGL,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAsCJ,UAAU;4CACjH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAyBJ,UAAU;oDACnG;wDAAE2J,OAAO;wDAAU/O,OAAOkwB,MAAMvG,GAAG,CAAC/E,cAAc;oDAAG;oDACrD;wDAAE7V,OAAO;wDAAY/O,OAAOkwB,MAAMlwB,KAAK,CAAC4kB,cAAc;oDAAG;iDAC1D,CAAC7d,GAAG,CAAC;wDAAGgI,cAAAA,OAAO/O,cAAAA;2DAAY,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAiBJ,UAAU;4DACxH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAuBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;oEAAKzT,cAAc;gEAAM;gEAAGpX,UAAU2J;4DAAM;4DAC5M,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAiBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;gEAAI;gEAAG7qB,UAAUpF;4DAAM;yDAClL;oDAAC,GAAG+O;;4CAAQ;4CACb,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAeJ,UAAU;oDACzF;wDAAE2J,OAAO;wDAAa/O,OAAOqwB,UAAUzL,cAAc;oDAAG;oDACxD;wDAAE7V,OAAO;wDAAoB/O,OAAO,AAAC,GAA4B,OAA1BswB,SAAS1L,cAAc,IAAG;oDAAQ;iDAC1E,CAAC7d,GAAG,CAAC;wDAAGgI,cAAAA,OAAO/O,cAAAA;2DAAY,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAiBJ,UAAU;4DACxH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAuBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;oEAAKzT,cAAc;gEAAM;gEAAGpX,UAAU2J;4DAAM;4DAC5M,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAiBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;gEAAI;gEAAG7qB,UAAUpF;4DAAM;yDAClL;oDAAC,GAAG+O;;4CAAQ;yCACd;oCAAC;iCACH;4BAAC;4BACFtI,QAAQupB,OAAO1pB,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGwpB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAcgE,OAAO;oCAAE8B,YAAY;gCAAsB;4BAAE;yBAC3J;oBAAC,GAAG7E;gBACP;YAAG;SACJ;IAAC;AACJ;AACAspB,WAAWxoB,WAAW,GAAG;AACzB,IAAIgqB,qBAAqB;IACvB;QAAExiB,OAAO;QAAiB/D,OAAO;QAAWwmB,YAAY;QAAGC,UAAU;IAAG;IACxE;QAAE1iB,OAAO;QAAa/D,OAAO;QAAWwmB,YAAY;QAAIC,UAAU;IAAG;IACrE;QAAE1iB,OAAO;QAAU/D,OAAO;QAAWwmB,YAAY;QAAIC,UAAU;IAAG;IAClE;QAAE1iB,OAAO;QAAU/D,OAAO;QAAWwmB,YAAY;QAAIC,UAAU;IAAG;IAClE;QAAE1iB,OAAO;QAAiB/D,OAAO;QAAWwmB,YAAY;QAAIC,UAAU;IAAI;CAC3E;AACD,IAAIC,oBAAoB,2BAACC,SAASC,SAASC,QAAQC,YAAYC;IAC7D,IAAMC,WAAW,AAACF,CAAAA,aAAa,GAAE,IAAKxZ,KAAK2Z,EAAE,GAAG;IAChD,IAAMC,SAAS,AAACH,CAAAA,WAAW,GAAE,IAAKzZ,KAAK2Z,EAAE,GAAG;IAC5C,IAAMzB,KAAKmB,UAAUE,SAASvZ,KAAK6Z,GAAG,CAACH;IACvC,IAAMvB,KAAKmB,UAAUC,SAASvZ,KAAK8Z,GAAG,CAACJ;IACvC,IAAMtB,KAAKiB,UAAUE,SAASvZ,KAAK6Z,GAAG,CAACD;IACvC,IAAMvB,KAAKiB,UAAUC,SAASvZ,KAAK8Z,GAAG,CAACF;IACvC,IAAMG,eAAeN,WAAWD,aAAa,MAAM,IAAI;IACvD,OAAO,AAAC,KAAUrB,OAAND,IAAG,KAAWqB,OAARpB,IAAG,OAAeoB,OAAVA,QAAO,KAAeQ,OAAZR,QAAO,OAAuBnB,OAAlB2B,cAAa,OAAW1B,OAAND,IAAG,KAAM,OAAHC;AAC1E;AACA,IAAI2B,eAAe,sBAACC,OAAOC;QACpB,kCAAA,2BAAA;;QAAL,QAAK,YAAcA,0BAAd,SAAA,6BAAA,QAAA,yBAAA,iCAAqB;YAArB,IAAMC,OAAN;YACH,IAAIF,SAASE,KAAKjB,UAAU,IAAIe,SAASE,KAAKhB,QAAQ,EAAE,OAAOgB,KAAK1jB,KAAK;QAC3E;;QAFK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAGL,OAAOyjB,KAAK,CAAC,EAAE,CAACzjB,KAAK;AACvB;AACA,IAAI2jB,iBAAiB;QAAGvtB,cAAAA,OAAO6qB,eAAAA;IAC7B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGF,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+BJ,UAAU;YACjH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBAAEwB,OAAO;oBAAqBkY,YAAY;oBAAuBnH,UAAU;oBAAQkU,YAAY;gBAAI;gBAC1G7qB,UAAUD;YACZ;YAEF,aAAa,GAAI,CAAA,GAAG2qB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAwBJ,UAAU4qB,OAAOjpB,GAAG,CAAC,SAACmpB,OAAOzpB;oBACrH,IAAM+rB,QAAQtC,MAAMsC,KAAK,IAAIjB;oBAC7B,IAAMoB,WAAWzC,MAAMvG,GAAG,IAAI;oBAC9B,IAAMwG,aAAa7X,KAAK0R,GAAG,CAACkG,MAAMqC,KAAK,GAAGI,WAAW,KAAK;oBAC1D,IAAMvC,QAAQD,aAAa,MAAM,MAAM;oBACvC,IAAMyC,eAAeN,aAAanC,YAAYqC;oBAC9C,IAAMnC,YAAYsC,WAAWzC,MAAMqC,KAAK;oBACxC,IAAMjC,WAAWhY,KAAKC,KAAK,CAAC2X,MAAMqC,KAAK,GAAG;oBAC1C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGzC,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAUJ,UAAU;4BAC5F,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA4CJ,UAAU;oCACvH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA8CgE,OAAO;4CAAEyB,QAAQ;wCAAQ;wCAAG7F,UAAU;4CACrJ,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAiB+qB,SAAS;gDAAenrB,UAAU;oDACpHotB,MAAMzrB,GAAG,CAAC,SAAC0rB,MAAMI;wDACf,IAAMf,aAAaW,KAAKjB,UAAU,GAAG,MAAM;wDAC3C,IAAMO,WAAWU,KAAKhB,QAAQ,GAAG,MAAM;wDACvC,IAAMqB,UAAUpB,kBAAkB,KAAK,KAAK,KAAKI,YAAYC;wDAC7D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGjC,qBAAqBhpB,GAAE,AAAC,EACjD,QACA;4DACE2L,GAAGqgB;4DACHhC,MAAM;4DACNC,QAAQ0B,KAAKznB,KAAK;4DAClB8D,aAAa;4DACbkiB,eAAe;4DACfxnB,OAAO;gEAAEynB,YAAY;4DAAuB;wDAC9C,GACA4B;oDAEJ;oDACA;wDACE;4DAAEnE,GAAG;4DAAInc,GAAG;4DAAK0T,GAAG;wDAAI;wDACxB;4DAAEyI,GAAG;4DAAInc,GAAG;4DAAI0T,GAAG;wDAAK;wDACxB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAI0T,GAAG;wDAAK;wDACzB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAI0T,GAAG;wDAAK;wDACzB;4DAAEyI,GAAG;4DAAKnc,GAAG;4DAAK0T,GAAG;wDAAM;qDAC5B,CAAClf,GAAG,CAAC;4DAAG2nB,UAAAA,GAAGnc,UAAAA,GAAG0T,UAAAA;+DAAQ,AAAgB,aAAH,GAAI,CAAA,GAAG6J,qBAAqBhpB,GAAE,AAAC,EACjE,QACA;4DACE4nB,GAAAA;4DACAnc,GAAAA;4DACA/I,OAAO;gEAAE0Z,YAAY;gEAAuBnH,UAAU;gEAAQkU,YAAY;gEAAKa,MAAM;4DAAmB;4DACxG1rB,UAAU6gB;wDACZ,GACAA;;oDAEF,aAAa,GAAI,CAAA,GAAG6J,qBAAqB5oB,IAAG,AAAC,EAAE,KAAK;wDAAEuV,WAAW;wDAAsBrX,UAAU;4DAC/F,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAC7G,kBACA;oEACEkG,IAAI,AAAC,qBAA0B,OAAN3G;oEACzB+pB,IAAI;oEACJC,IAAI;oEACJC,IAAI;oEACJC,IAAI;oEACJQ,eAAe;oEACf/rB,UAAU;wEACR,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;4EAAE8pB,QAAQ;4EAAMC,WAAW;4EAAuBO,aAAa;wEAAM;wEAC3H,aAAa,GAAI,CAAA,GAAGtB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;4EAAE8pB,QAAQ;4EAAQC,WAAW;4EAAqBO,aAAa;wEAAO;qEAC7H;gEACH;4DACA;4DACF,aAAa,GAAI,CAAA,GAAGtB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;gEACE2L,GAAG;gEACHqe,MAAM,AAAC,0BAA+B,OAANrqB,OAAM;4DACxC;yDAEH;oDAAC;oDACF,aAAa,GAAI,CAAA,GAAGqpB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;wDACE4nB,GAAG;wDACHnc,GAAG;wDACH8e,YAAY;wDACZ7nB,OAAO;4DAAE0Z,YAAY;4DAAuBnH,UAAU;4DAAQkU,YAAY;4DAAKa,MAAM;wDAAsB;wDAC3G1rB,UAAU;oDACZ;oDAEF,aAAa,GAAI,CAAA,GAAG0qB,qBAAqB5oB,IAAG,AAAC,EAC3C,QACA;wDACEwnB,GAAG;wDACHnc,GAAG;wDACH8e,YAAY;wDACZ7nB,OAAO;4DAAE0Z,YAAY;4DAAuBnH,UAAU;4DAAQkU,YAAY;4DAAKa,MAAM;wDAAgB;wDACrG1rB,UAAU;4DACRkT,KAAKC,KAAK,CAAC4X;4DACX;yDACD;oDACH;oDAEF,aAAa,GAAI,CAAA,GAAGL,qBAAqBhpB,GAAE,AAAC,EAAE,KAAK;wDAAE2V,WAAW;wDAAuBrX,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,KAAK;4DAAE0C,OAAO;gEAAEynB,YAAY;gEAAwBxU,WAAW,AAAC,UAAe,OAAN2T,OAAM;gEAAOkB,iBAAiB;4DAAM;4DAAGlsB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE2L,GAAG;gEAAmCqe,MAAM;4DAAmB;wDAAG;oDAAG;iDACvY;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGhB,qBAAqB5oB,IAAG,AAAC,EAC3C,OACA;gDACE1B,WAAW;gDACXgE,OAAO;oDAAEwB,OAAO;oDAAuBkY,YAAY;oDAAuBnH,UAAU;oDAAQkU,YAAY;gDAAI;gDAC5G7qB,UAAU;oDACR;oDACAwtB;iDACD;4CACH;yCAEH;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAG9C,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAsCJ,UAAU;4CACjH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAyBJ,UAAU;oDACnG;wDAAE2J,OAAO;wDAAW/O,OAAO2yB,SAAS/N,cAAc;oDAAG;oDACrD;wDAAE7V,OAAO;wDAAiB/O,OAAOkwB,MAAMqC,KAAK,CAAC3N,cAAc;oDAAG;iDAC/D,CAAC7d,GAAG,CAAC;wDAAGgI,cAAAA,OAAO/O,cAAAA;2DAAY,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAiBJ,UAAU;4DACxH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAuBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;oEAAKzT,cAAc;gEAAM;gEAAGpX,UAAU2J;4DAAM;4DAC5M,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAiBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;gEAAI;gEAAG7qB,UAAUpF;4DAAM;yDAClL;oDAAC,GAAG+O;;4CAAQ;4CACb,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAeJ,UAAU;oDACzF;wDAAE2J,OAAO;wDAAc/O,OAAOqwB,UAAUzL,cAAc;oDAAG;oDACzD;wDAAE7V,OAAO;wDAAiB/O,OAAO,AAAC,GAA4B,OAA1BswB,SAAS1L,cAAc,IAAG;oDAAQ;iDACvE,CAAC7d,GAAG,CAAC;wDAAGgI,cAAAA,OAAO/O,cAAAA;2DAAY,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAiBJ,UAAU;4DACxH,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAuBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;oEAAKzT,cAAc;gEAAM;gEAAGpX,UAAU2J;4DAAM;4DAC5M,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,QAAQ;gEAAE0C,OAAO;oEAAEwB,OAAO;oEAAiBkY,YAAY;oEAAuBnH,UAAU;oEAAQkU,YAAY;gEAAI;gEAAG7qB,UAAUpF;4DAAM;yDAClL;oDAAC,GAAG+O;;4CAAQ;yCACd;oCAAC;iCACH;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAG+gB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAsDJ,UAAUotB,MAAMzrB,GAAG,CAAC,SAAC0rB,MAAMM;2CAAY,AAAgB,aAAH,GAAI,CAAA,GAAGjD,qBAAqB5oB,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA2BJ,UAAU;4CACrQ,aAAa,GAAI,CAAA,GAAG0qB,qBAAqBhpB,GAAE,AAAC,EAC1C,OACA;gDACEtB,WAAW;gDACXgE,OAAO;oDAAEuC,iBAAiB0mB,KAAKznB,KAAK;gDAAC;4CACvC;4CAEF,aAAa,GAAI,CAAA,GAAG8kB,qBAAqBhpB,GAAE,AAAC,EAC1C,QACA;gDACE0C,OAAO;oDACL0Z,YAAY;oDACZnH,UAAU;oDACV/Q,OAAO;oDACPilB,YAAY;gDACd;gDACA7qB,UAAUqtB,KAAK1jB,KAAK;4CACtB;yCAEH;oCAAC,GAAGgkB;;4BAAU;4BACftsB,QAAQupB,OAAO1pB,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGwpB,qBAAqBhpB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAcgE,OAAO;oCAAE8B,YAAY;gCAAsB;4BAAE;yBAC3J;oBAAC,GAAG7E;gBACP;YAAG;SACJ;IAAC;AACJ;AACAisB,eAAenrB,WAAW,GAAG;AAE7B,wCAAwC;AACxC,IAAIyrB,uBAAuBhuB,QAAQ;AACnC,IAAIiuB,qBAAqB;QACvB9tB,cAAAA,OACA+tB,aAAAA,MACAC,oBAAAA,aACAC,qBAAAA,cACAroB,eAAAA;IAEA,IAAMsoB,WAAWH,QAAQ,EAAE;IAC3B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGF,qBAAqB9rB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+B,eAAeuF;QAAQ3F,UAAU;YACxI,aAAa,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA0CJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAChK,UACA;oBACEtB,WAAW;oBACX,eAAeuF,SAAS,AAAC,GAAS,OAAPA,QAAO,kBAAgB,KAAK;oBACvD3F,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA2BJ,UAAU;4BAAC;4BAAG;4BAAG;yBAAE,CAAC2B,GAAG,CAAC,SAACF;mCAAM,AAAgB,aAAH,GAAI,CAAA,GAAGmsB,qBAAqBlsB,GAAE,AAAC,EAAE,QAAQ;gCAAEtB,WAAW;gCAA8CgE,OAAO;oCAAEuC,iBAAiB;gCAAsB;4BAAE,GAAGlF;;oBAAI;gBAClT;YACA;YACF,aAAa,GAAI,CAAA,GAAGmsB,qBAAqBlsB,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBAAEwB,OAAO;oBAAqBkY,YAAY;oBAAuBnH,UAAU;oBAAQkU,YAAY;gBAAI;gBAC1G,eAAellB,SAAS,AAAC,GAAS,OAAPA,QAAO,YAAU,KAAK;gBACjD3F,UAAUD;YACZ;YAEF,aAAa,GAAI,CAAA,GAAG6tB,qBAAqB9rB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0BJ,UAAU;oBACrG,aAAa,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAoCgE,OAAO;4BAAE2B,WAAW;wBAAQ;wBAAG/F,UAAUiuB,SAAStsB,GAAG,CAAC,SAACusB,KAAK7sB;mCAAU,AAAgB,aAAH,GAAI,CAAA,GAAGusB,qBAAqBlsB,GAAE,AAAC,EACtN,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCAAEyB,QAAQ;oCAAQuR,cAAc/V,QAAQ4sB,SAAS/sB,MAAM,GAAG,IAAI,SAAS;gCAAE;gCAChF,eAAeyE,SAAS,AAAC,GAAkBtE,OAAhBsE,QAAO,WAAe,OAANtE,SAAU,KAAK;gCAC1DrB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EACpD,QACA;oCACE0C,OAAO;wCACLwB,OAAO;wCACPkY,YAAY;wCACZnH,UAAU;wCACVkU,YAAY;wCACZsD,YAAY;oCACd;oCACA/tB,WAAW;oCACXJ,UAAUkuB,IAAIn0B,IAAI;gCACpB;4BAEJ,GACAm0B,IAAIn0B,IAAI;;oBACP;oBACH,aAAa,GAAI,CAAA,GAAG6zB,qBAAqB9rB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAmBJ,UAAU;4BAC9F,aAAa,GAAI,CAAA,GAAG4tB,qBAAqB9rB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwCgE,OAAO;oCAAEyB,QAAQ;gCAAQ;gCAAG7F,UAAU;oCAC/I+tB,eAAeA,YAAYK,MAAM,CAACzsB,GAAG,CAAC,SAACgI,OAAO2b;wCAC5C,IAAM+I,cAAcN,YAAYK,MAAM,CAACltB,MAAM;wCAC7C,IAAMqH,WAAW+c,MAAO+I,CAAAA,cAAc,CAAA,IAAK;wCAC3C,IAAMC,kBAAkB;wCACxB,IAAMC,eAAexjB,OAAOpB,OAAOzI,MAAM,GAAGotB,kBAAkB;wCAC9D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGV,qBAAqBlsB,GAAE,AAAC,EACjD,OACA;4CACEtB,WAAW;4CACXgE,OAAO;gDACLsW,MAAM,AAAC,QAAsB6T,OAAfhmB,UAAS,QAAmB,OAAbgmB,cAAa;gDAC1C1oB,QAAQ;gDACRc,iBAAiB;4CACnB;wCACF,GACA2e;oCAEJ;oCACA,aAAa,GAAI,CAAA,GAAGsI,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAuCgE,OAAO;4CAAEyB,QAAQ;4CAASc,iBAAiB;wCAAsB;oCAAE;oCAC5K,aAAa,GAAI,CAAA,GAAGinB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAyCgE,OAAO;4CAAEyP,QAAQ;4CAAQlN,iBAAiB;wCAAsB;oCAAE;iCAC9K;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGinB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAoCgE,OAAO;oCAAE2B,WAAW;gCAAQ;gCAAG/F,UAAUiuB,SAAStsB,GAAG,CAAC,SAACusB,KAAK7sB;oCAChK,IAAMmtB,SAAST,CAAAA,wBAAAA,kCAAAA,YAAaxJ,GAAG,KAAI;oCACnC,IAAMkK,sBAAsBP,IAAItzB,KAAK,GAAG4zB,SAAS;oCACjD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGZ,qBAAqBlsB,GAAE,AAAC,EACjD,OACA;wCACEtB,WAAW;wCACXgE,OAAO;4CAAEyB,QAAQ;4CAAQuR,cAAc/V,QAAQ4sB,SAAS/sB,MAAM,GAAG,IAAI,SAAS;wCAAE;wCAChF,eAAeyE,SAAS,AAAC,GAAgBtE,OAAdsE,QAAO,SAAa,OAANtE,SAAU,KAAK;wCACxDrB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAA4BJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG4tB,qBAAqBlsB,GAAE,AAAC,EAC5J,OACA;gDACEtB,WAAW;gDACXgE,OAAO;oDAAE0B,OAAO,AAAC,GAAsB,OAApB2oB,qBAAoB;oDAAIvoB,YAAYgoB,IAAItoB,KAAK;gDAAC;gDACjE,eAAeD,SAAS,AAAC,GAAgBtE,OAAdsE,QAAO,SAAa,OAANtE,SAAU,KAAK;4CAC1D;wCACA;oCACJ,GACA6sB,IAAIn0B,IAAI;gCAEZ;4BAAG;4BACH,aAAa,GAAI,CAAA,GAAG6zB,qBAAqBlsB,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAyDgE,OAAO;oCAAEuT,WAAW;gCAAO;gCAAG3X,UAAU+tB,eAAeA,YAAYK,MAAM,CAACzsB,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGsI,qBAAqBlsB,GAAE,AAAC,EACnQ,QACA;wCACE0C,OAAO;4CAAEwB,OAAO;4CAAoBkY,YAAY;4CAAuBnH,UAAU;4CAAQkU,YAAY;wCAAI;wCACzGzqB,WAAW;wCACXJ,UAAU2J;oCACZ,GACA2b;;4BACC;yBACJ;oBAAC;iBACH;YAAC;SACH;IAAC;AACJ;AACAuI,mBAAmB1rB,WAAW,GAAG;AAEjC,gCAAgC;AAChC,IAAIusB,iBAAiBj0B,QAAQmF,QAAQ;AACrC,IAAI+uB,uBAAuB/uB,QAAQ;AACnC,IAAIgvB,YAAY,mBAACxhB;IACf,IAAI,OAAOA,MAAM,UAAU,OAAOA;IAClC,IAAM4Y,OAAO5Y;IACb,IAAI,QAAO4Y,iBAAAA,2BAAAA,KAAMC,GAAG,MAAK,UAAU,OAAOD,KAAKC,GAAG;IAClD,IAAM5Y,IAAI2Y,iBAAAA,2BAAAA,KAAMliB,OAAO;IACvB,IAAI,OAAOuJ,MAAM,UAAU,OAAOA;IAClC,IAAI,QAAOA,cAAAA,wBAAAA,EAAG4Y,GAAG,MAAK,UAAU,OAAO5Y,EAAE4Y,GAAG;IAC5C,OAAO;AACT;AACA,IAAI4I,iBAAiB/zB;AACrB,IAAIg0B,eAAe;IACjBhsB,OAAO;IACPD,MAAM;IACNG,QAAQ;IACRD,KAAK;IACLE,QAAQ;IACRG,MAAM;IACND,MAAM;IACND,QAAQ;IACRG,QAAQ;IACR0rB,SAAS;AACX;AACA,IAAIC,aAAa;QACfxO,aAAAA,MACAyO,qBAAAA,cACAC,sBAAAA,eACAC,wBAAAA,iBACAC,wBAAAA,iBACAzpB,eAAAA;IAEA,IAA0D+oB,oDAAAA,eAAe5qB,OAAO,CAAChD,QAAQ,CAAC,YAAnFuuB,wBAAmDX,qCAA5BY,2BAA4BZ;IAC1D,IAAMa,WAAW;QAAC;QAAa;KAAY;IAC3C,IAAMC,cAAchP;IACpB,IAAMiP,gBAAgB,uBAACC;QACrB,IAAMC,WAAW;YACfC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;QACP;QACA,IAAyBb,yCAAAA,WAAWjhB,KAAK,CAAC,OAAO9M,GAAG,CAAC,SAACyL;mBAAMA,EAAE+N,IAAI;gBAA3DqV,SAAkBd,0BAAVe,SAAUf;QACzB,OAAO;YAACC,QAAQ,CAACa,OAAO;YAAEb,QAAQ,CAACc,OAAO;SAAC;IAC7C;IACA,IAAMC,iBAAiB,wBAAChB;QACtB,IAAMiB,iBAAiB;YACrBf,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;QACP;QACA,IAAyBb,yCAAAA,WAAWjhB,KAAK,CAAC,OAAO9M,GAAG,CAAC,SAACyL;mBAAMA,EAAE+N,IAAI;gBAA3DqV,SAAkBd,0BAAVe,SAAUf;QACzB,OAAO;YAACiB,cAAc,CAACH,OAAO;YAAEG,cAAc,CAACF,OAAO;SAAC;IACzD;IACA,IAAMG,mBAAmB;QACvB,IAAMngB,QAAQ,aAAa,GAAG,IAAIpE;QAClC,IAAMsE,cAAcF,MAAMC,WAAW;QACrC,IAAMI,eAAeL,MAAMI,QAAQ,KAAK;QACxC,IAAMggB,aAAapgB,MAAMnE,OAAO;QAChC,IAAyB4iB,4CAAAA,cAAczgB,KAAK,CAAC,OAAO9M,GAAG,CAAC,SAACyL;mBAAMA,EAAE+N,IAAI;gBAA9DqV,SAAkBtB,6BAAVuB,SAAUvB;QACzB,IAAM4B,gBAAgB;YACpBlB,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;QACP;QACA,IAAMQ,iBAAiBD,aAAa,CAACN,OAAO;QAC5C,IAAMQ,iBAAiBF,aAAa,CAACL,OAAO;QAC5C,IAAMQ,kBAAkBzuB,SAASysB;QACjC,IAAIte,gBAAgBsgB,iBAAiB,OAAO;QAC5C,IAAI7kB,aAAa,CAAC;QAClB,IAAI0E,iBAAiBigB,gBAAgB3kB,aAAa;aAC7C,IAAI0E,iBAAiBkgB,gBAAgB5kB,aAAa;aAClD,OAAO;QACZ,IAAMgI,cAAc;QACpB,IAAM8c,aAAa,AAACL,CAAAA,aAAa,CAAA,IAAKzc;QACtC,IAAM+c,kBAAkBD,aAAa;QACrC,IAAME,aAAahlB,eAAe,IAAI,MAAM+kB,kBAAkB,MAAMA;QACpE,IAAME,cAAcjlB,eAAe,IAAI,MAAM+kB,kBAAkB,MAAMA;QACrE,OAAO;YACLG,MAAM;YACNF,YAAYle,KAAKC,KAAK,CAACie,aAAa,OAAO;YAC3CC,aAAane,KAAKC,KAAK,CAACke,cAAc,OAAO;QAC/C;IACF;IACA,IAAME,gBAAgBX;IACtB,IAAMY,SAAS/B,cAAcP;IAC7B,IAAMuC,gBAAgBD,OAAO7vB,GAAG,CAAC,SAACyL;eAAM,AAAC,GAAO6hB,OAAL7hB,GAAE,KAAgB,OAAb6hB;;IAChD,IAA+ByB,mCAAAA,eAAexB,oBAAvCwC,YAAwBhB,oBAAbiB,YAAajB;IAC/B,IAAMkB,kBAAkB,yBAACjkB,WAAWkkB;QAClC,IAA+BlkB,wCAAAA,UAAUc,KAAK,CAAC,KAAK9M,GAAG,CAACiW,aAAjDka,WAAwBnkB,yBAAdokB,aAAcpkB;QAC/B,IAA2BkkB,sCAAAA,QAAQpjB,KAAK,CAAC,KAAK9M,GAAG,CAACiW,aAA3Coa,SAAoBH,uBAAZI,WAAYJ;QAC3B,IAAyB3C,4CAAAA,cAAczgB,KAAK,CAAC,OAAO9M,GAAG,CAAC,SAACyL;mBAAMA,EAAE+N,IAAI;gBAA9DqV,SAAkBtB,6BAAVuB,SAAUvB;QACzB,IAAM4B,gBAAgB;YACpBlB,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,KAAK;QACP;QACA,IAAM2B,oBAAoBpB,aAAa,CAACN,OAAO;QAC/C,IAAM2B,oBAAoBrB,aAAa,CAACL,OAAO;QAC/C,IAAMrc,cAAc;QACpB,IAAIhI,aAAa,CAAC;QAClB,IAAIgmB,eAAe;QACnB,IAAItsB,QAAQ;QACZ,IAAIusB,kBAAkB;QACtB,IAAIN,eAAeG,qBAAqBD,aAAaC,mBAAmB;YACtE9lB,aAAa;YACbgmB,eAAe,AAACN,CAAAA,WAAW,CAAA,IAAK1d,cAAc;YAC9CtO,QAAQksB,SAAS5d,cAAc,MAAMge;QACvC,OAAO,IAAIL,eAAeI,qBAAqBF,aAAaE,mBAAmB;YAC7E/lB,aAAa;YACbimB,kBAAkB;YAClBD,eAAe,AAACN,CAAAA,WAAW,CAAA,IAAK1d,cAAc;YAC9CtO,QAAQksB,SAAS5d,cAAc,MAAMge;QACvC,OAAO,IAAIL,eAAeG,qBAAqBD,aAAaE,mBAAmB;YAC7E/lB,aAAa;YACbgmB,eAAe,AAACN,CAAAA,WAAW,CAAA,IAAK1d,cAAc;YAC9CtO,QAAQ,MAAMksB,SAAS5d,cAAc,MAAMge;QAC7C;QACA,OAAO;YAAEA,cAAAA;YAActsB,OAAAA;YAAOsG,YAAAA;YAAYimB,iBAAAA;QAAgB;IAC5D;IACA,IAAMC,aAAa5D,eAAe5qB,OAAO,CAAC6iB,OAAO,CAAC;QAChD,IAAM4L,aAAa;QACnB,IAAMC,aAAa;QACnB,IAAMC,cAAc;QACpB,OAAOF,aAAa/C,YAAYkD,KAAK,CAACxxB,MAAM,GAAIsxB,CAAAA,aAAaC,WAAU;IACzE,GAAG;QAACjD,YAAYkD,KAAK,CAACxxB,MAAM;KAAC;IAC7B,IAAMyxB,iBAAiB;YAAGnnB,iBAAAA;eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGmjB,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;YAAEtB,WAAW;YAAcJ,UAAU;gBAChI,MAAsBwL,OAAjBA,UAAS,UAAiB,OAATA;gBACtB,MAAsBA,OAAjBA,UAAS,UAAiB,OAATA;gBACtB,MAAsBA,OAAjBA,UAAS,UAAiB,OAATA;gBACtB,MAAsBA,OAAjBA,UAAS,UAAiB,OAATA;aACxB,CAAC7J,GAAG,CAAC,SAACgY;uBAAU,AAAgB,aAAH,GAAI,CAAA,GAAGgV,qBAAqBjtB,GAAE,AAAC,EAC3D,OACA;oBACEtB,WAAW;oBACXgE,OAAO;wBAAE8B,YAAY;wBAA0B2iB,SAAS;wBAAQ+J,YAAY;wBAAUC,gBAAgB;oBAAS;oBAC/G7yB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpD,QACA;wBACE0C,OAAO;4BACLwB,OAAO;4BACPkY,YAAY;4BACZnH,UAAU;4BACVkU,YAAY;wBACd;wBACA7qB,UAAU2Z;oBACZ;gBAEJ,GACAA;;QACC;;IACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGgV,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+B,eAAeuF;QAAQ3F,UAAU;YACxI,aAAa,GAAI,CAAA,GAAG2uB,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAkDJ,UAAU;oBAC7H,aAAa,GAAI,CAAA,GAAG2uB,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAYJ,UAAU;4BACvF,aAAa,GAAI,CAAA,GAAG2uB,qBAAqB7sB,IAAG,AAAC,EAC3C,UACA;gCACE1B,WAAW;gCACX4B,SAAS,SAATA;2CAAestB,yBAAyB,CAACD;;gCACzCrvB,UAAU;oCACR,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAC1C,QACA;wCACE0C,OAAO;4CACLwB,OAAO;4CACPkY,YAAY;4CACZnH,UAAU;4CACVkU,YAAY;wCACd;wCACA7qB,UAAUmvB;oCACZ;oCAEF,aAAa,GAAI,CAAA,GAAGR,qBAAqBjtB,GAAE,AAAC,EAC1C,OACA;wCACE0C,OAAO;4CACL0B,OAAO;4CACPD,QAAQ;4CACRK,YAAY,AAAC,OAAgC,OAA1B0oB,UAAUC,iBAAgB;4CAC7CiE,aAAa;4CACbzb,WAAWgY,wBAAwB,mBAAmB;4CACtDxD,YAAY;wCACd;oCACF;iCAEH;4BACH;4BAEFwD,yBAAyB,AAAgB,aAAH,GAAI,CAAA,GAAGV,qBAAqBjtB,GAAE,AAAC,EACnE,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCACLoT,QAAQ;oCACRub,WAAW;gCACb;gCACA/yB,UAAUuvB,SAAS5tB,GAAG,CAAC,SAACqxB,SAAS1N;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGqJ,qBAAqBjtB,GAAE,AAAC,EACnF,UACA;wCACEtB,WAAW,AAAC,mHAAoKklB,OAAlDA,QAAQ,IAAI,gCAAgC,IAAG,KAAoE,OAAjEA,QAAQiK,SAASruB,MAAM,GAAG,IAAI,gCAAgC;wCAC9Oc,SAAS,SAATA;4CACEotB,gBAAgB4D;4CAChB1D,yBAAyB;wCAC3B;wCACAtvB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpD,QACA;4CACE0C,OAAO;gDACLwB,OAAO;gDACPkY,YAAY;gDACZnH,UAAU;gDACVkU,YAAY;4CACd;4CACA7qB,UAAUgzB;wCACZ;oCAEJ,GACAA;;4BAEJ;yBAEH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGrE,qBAAqBjtB,GAAE,AAAC,EAC1C,UACA;wBACEtB,WAAW;wBACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;4BAAEtB,WAAW;4BAA2BJ,UAAU;gCAAC;gCAAG;gCAAG;6BAAE,CAAC2B,GAAG,CAAC,SAACF;uCAAM,AAAgB,aAAH,GAAI,CAAA,GAAGktB,qBAAqBjtB,GAAE,AAAC,EAChL,QACA;oCACEtB,WAAW;oCACXgE,OAAO;wCAAE8B,YAAY;oCAAsB;gCAC7C,GACAzE;;wBACC;oBACL;iBAEH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGktB,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAqBJ,UAAU;oBAChG,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;oBAA6C;oBAC/G;wBACE;4BAAEsa,MAAM;4BAASuY,QAAQ;4BAAStpB,OAAO8nB,aAAa,CAAC,EAAE;wBAAC;wBAC1D;4BAAE/W,MAAM;4BAASuY,QAAQ;4BAAStpB,OAAO8nB,aAAa,CAAC,EAAE;wBAAC;qBAC3D,CAAC9vB,GAAG,CAAC;4BAAG+Y,aAAAA,MAAMuY,eAAAA,QAAQtpB,cAAAA;+BAAY,AAAgB,aAAH,GAAI,CAAA,GAAGglB,qBAAqBjtB,GAAE,AAAC,EAC7E,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCACLsW,MAAAA;gCACAxU,YAAY;4BACd;4BACAlG,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpD,QACA;gCACE0C,OAAO;oCACL0Z,YAAY;oCACZnH,UAAU;oCACVkU,YAAY;oCACZjlB,OAAO;gCACT;gCACA5F,UAAU2J;4BACZ;wBAEJ,GACAA;;iBAEH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGglB,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAqBJ,UAAU;oBAChG,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAYgE,OAAO;4BAAEsW,MAAM;wBAAQ;wBAAG1a,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAEixB,gBAAgB;4BAAEnnB,UAAUkmB;wBAAU;oBAAG;oBACzM,aAAa,GAAI,CAAA,GAAG/C,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAYgE,OAAO;4BAAEsW,MAAM;wBAAQ;wBAAG1a,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAEixB,gBAAgB;4BAAEnnB,UAAUmmB;wBAAU;oBAAG;iBAC1M;YAAC;YACF,aAAa,GAAI,CAAA,GAAGhD,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAYJ,UAAU;oBACvF;wBAAC;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;qBAAE,CAAC2B,GAAG,CAAC,SAACuxB;+BAAY,AAAgB,aAAH,GAAI,CAAA,GAAGvE,qBAAqBjtB,GAAE,AAAC,EACvF,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCACLuC,iBAAiB;gCACjB+T,MAAM,AAAC,GAAqB,OAAnB,MAAMwY,UAAU,IAAG;gCAC5Bnf,KAAK;gCACLlO,QAAQ,AAAC,GAAa,OAAXysB,YAAW;4BACxB;wBACF,GACA,AAAC,MAAa,OAARY;;oBAER,aAAa,GAAI,CAAA,GAAGvE,qBAAqBjtB,GAAE,AAAC,EAC1C,OACA;wBACEtB,WAAW;wBACXgE,OAAO;4BACLuC,iBAAiB;4BACjB+T,MAAM,AAAC,GAAoB,OAAlB,MAAM,IAAI,KAAK,IAAG;4BAC3B3G,KAAK;4BACLlO,QAAQ,AAAC,GAAa,OAAXysB,YAAW;wBACxB;oBACF;oBAEF;wBAAC;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;wBAAG;qBAAE,CAAC3wB,GAAG,CAAC,SAACuxB;+BAAY,AAAgB,aAAH,GAAI,CAAA,GAAGvE,qBAAqBjtB,GAAE,AAAC,EACvF,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCACLuC,iBAAiB;gCACjB+T,MAAM,AAAC,GAA0B,OAAxB,MAAMwY,UAAU,KAAK,IAAG;gCACjCnf,KAAK;gCACLlO,QAAQ,AAAC,GAAa,OAAXysB,YAAW;4BACxB;wBACF,GACA,AAAC,MAAa,OAARY;;oBAER3B,CAAAA,0BAAAA,oCAAAA,cAAeD,IAAI,KAAI,AAAgB,aAAH,GAAI,CAAA,GAAG3C,qBAAqBjtB,GAAE,AAAC,EACjE,OACA;wBACEtB,WAAW;wBACXgE,OAAO;4BACL8B,YAAY;4BACZwU,MAAM,AAAC,GAA2B,OAAzB6W,cAAcH,UAAU,EAAC;4BAClCrd,KAAK;4BACLlO,QAAQ,AAAC,GAAkB,OAAhBysB,aAAa,IAAG;wBAC7B;wBACAtyB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpD,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCACL8B,YAAY;gCACZ6N,KAAK;gCACL2G,MAAM;4BACR;4BACA1a,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpD,QACA;gCACE0C,OAAO;oCACLwB,OAAO;oCACPkY,YAAY;oCACZnH,UAAU;oCACVkU,YAAY;gCACd;gCACA7qB,UAAU;4BACZ;wBAEJ;oBAEJ;oBAEF,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA6CJ,UAAUwvB,YAAYkD,KAAK,CAAC/wB,GAAG,CAAC,SAACwxB;4BAC9I,IAA6DvB,mBAAAA,gBAC3DuB,KAAKxlB,SAAS,EACdwlB,KAAKtB,OAAO,GAFNO,eAAqDR,iBAArDQ,cAActsB,QAAuC8rB,iBAAvC9rB,OAAOsG,aAAgCwlB,iBAAhCxlB,YAAYimB,kBAAoBT,iBAApBS;4BAIzC,IAAIjmB,eAAe,CAAC,GAAG,OAAO;4BAC9B,IAAMgnB,YAAYtE,YAAY,CAACqE,KAAKvtB,KAAK,CAAC,IAAIkpB,aAAajsB,IAAI;4BAC/D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG8rB,qBAAqB7sB,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAqBJ,UAAU;oCACvG,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAC1C,OACA;wCACEtB,WAAW;wCACXgE,OAAO;4CACL0B,OAAO;4CACPF,OAAO;4CACPkY,YAAY;4CACZnH,UAAU;4CACVkU,YAAY;wCACd;wCACA7qB,UAAUmzB,KAAKp5B,IAAI;oCACrB;oCAEF,aAAa,GAAI,CAAA,GAAG40B,qBAAqBjtB,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAA8BJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EACpJ,OACA;4CACEtB,WAAW;4CACXgE,OAAO;gDACLsW,MAAM2X,kBAAkB,UAAU;gDAClCvsB,OAAO;4CACT;4CACA9F,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2uB,qBAAqB7sB,IAAG,AAAC,EACrD,OACA;gDACE1B,WAAW;gDACX,eAAe,AAAC,cAAqB,OAAR+yB,KAAKnrB,EAAE;gDACpC5D,OAAO;oDACLsW,MAAM,AAAC,GAAe,OAAb0X,cAAa;oDACtBtsB,OAAO,AAAC,GAAQ,OAANA,OAAM;oDAChBa,iBAAiBysB;gDACnB;gDACApzB,UAAU;oDACR,aAAa,GAAI,CAAA,GAAG2uB,qBAAqBjtB,GAAE,AAAC,EAC1C,QACA;wDACEtB,WAAW;wDACXgE,OAAO;4DACL0Z,YAAY;4DACZnH,UAAU;4DACVkU,YAAY;wDACd;wDACA7qB,UAAUmzB,KAAKp5B,IAAI;oDACrB;oDAEF,aAAa,GAAI,CAAA,GAAG40B,qBAAqBjtB,GAAE,AAAC,EAC1C,OACA;wDACEtB,WAAW;wDACXgE,OAAO;4DACLuS,UAAU;4DACVmH,YAAY;4DACZ+M,YAAY;4DACZlkB,iBAAiB;4DACjBf,OAAOwtB;wDACT;wDACApzB,UAAUmzB,KAAKla,MAAM;oDACvB;iDAEH;4CACH;wCAEJ;oCACA;iCACH;4BAAC,GAAGka,KAAKnrB,EAAE;wBACd;oBAAG;iBACJ;YAAC;SACH;IAAC;AACJ;AACAgnB,WAAW7sB,WAAW,GAAG;AAEzB,0CAA0C;AAC1C,IAAIkxB,iBAAiB54B,QAAQmF,QAAQ;AACrC,IAAI0zB,uBAAuB1zB,QAAQ;AACnC,IAAI2zB,gBAAgB;IAClB;IACA;IACA;IACA;IACA;CACD;AACD,SAASC,iBAAiB54B,KAAK;IAC7B,IAAIA,UAAU,GAAG,OAAO;IACxB,IAAIA,QAAQ,KAAK,OAAO;IACxB,IAAIA,QAAQ,KAAK,OAAO;IACxB,IAAIA,QAAQ,KAAK,OAAO;IACxB,OAAO;AACT;AACA,SAAS64B,aAAa5oB,IAAI,EAAE6oB,mBAAmB,EAAEV,OAAO,EAAEprB,IAAI;IAC5D,IAAM+rB,QAAQ,EAAE;IAChB,IAAMhmB,YAAY,IAAItB,KAAKxB,MAAM,GAAG;IACpC,IAAM+oB,iBAAiBjmB,UAAUnB,MAAM;IACvC,IAAMqnB,eAAeD,mBAAmB,IAAI,CAAC,IAAI,IAAIA;IACrD,IAAME,cAAc,IAAIznB,KAAKxB,MAAM,GAAG,IAAIgpB;IAC1C,IAAME,cAAc,IAAI1nB,KAAKynB;IAC7B,IAAIE,YAAY,CAAC;IACjB,IAAIC,YAAY;IAChB,IAAMC,WAAW;IACjB,IAAMC,mBAAmB;QACvB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACD,IAAMC,oBAAoB;QACxB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IACD,MAAOH,YAAYC,SAAU;;YAIzB,IAAMtpB,OAAO,IAAIyB,KAAK0nB;YACtB,IAAInpB,KAAK8F,WAAW,OAAO7F,MAAMwpB,qBAAqB;YACtD,IAAIz5B,QAAQ;YACZ,IAAIgQ,KAAK8F,WAAW,OAAO7F,MAAM;oBAG3B6oB,0CAAAA,qCAAAA;gBAFJ,IAAMY,UAAU,AAAC,GAAwBvpB,OAAtBH,KAAK8F,WAAW,IAAG,KAAmD3F,OAAhDA,OAAOH,KAAKiG,QAAQ,KAAK,GAAG7F,QAAQ,CAAC,GAAG,MAAK,KAA2C,OAAxCD,OAAOH,KAAK0B,OAAO,IAAItB,QAAQ,CAAC,GAAG;gBAC5H,IAAMsJ,YAAY6f,gBAAgB,CAACvpB,KAAKiG,QAAQ,GAAG;gBACnD,IAAI6iB,gCAAAA,2CAAAA,+BAAAA,mBAAqB,CAACV,QAAQ,cAA9BU,oDAAAA,sCAAAA,4BAAgC,CAAC3oB,OAAOF,MAAM,cAA9C6oB,2DAAAA,2CAAAA,mCAAgD,CAAC9rB,KAAK,cAAtD8rB,+DAAAA,wCAAwD,CAACpf,UAAU,EAAE;oBACvE,IAAMigB,UAAUb,mBAAmB,CAACV,QAAQ,CAACjoB,OAAOF,MAAM,CAACjD,KAAK,CAAC0M,UAAU,CAACkM,IAAI,CAACnG,IAAI,CACnF,SAAChN;+BAAMA,EAAEzC,IAAI,KAAK0pB;;oBAEpB,IAAIC,SAAS35B,QAAQ25B,QAAQ35B,KAAK;gBACpC;YACF;YACA45B,SAAS9d,IAAI,CAAC;gBAAE9L,MAAAA;gBAAMhQ,OAAAA;YAAM;YAC5Bm5B,YAAYU,OAAO,CAACV,YAAYznB,OAAO,KAAK;QAC9C;QAlBA,IAAMkoB,WAAW,EAAE;QACnB,IAAIH,qBAAqB;QACzB,IAAK,IAAIK,WAAW,GAAGA,WAAW,GAAGA;QAiBrC,IAAIL,oBAAoB;YACtB,IAAMM,WAAWH,QAAQ,CAAC,EAAE,CAAC5pB,IAAI;YACjC,IAAMgqB,YAAYD,SAAS9jB,QAAQ;YACnC,IAAIgkB,aAAAA,KAAAA;YACJ,IAAID,cAAcZ,aAAaW,SAASjkB,WAAW,OAAO7F,MAAM;gBAC9DgqB,aAAaT,iBAAiB,CAACQ,UAAU;gBACzCZ,YAAYY;YACd;YACAjB,MAAMjd,IAAI,CAAC;gBAAEjJ,MAAM+mB;gBAAUK,YAAAA;YAAW;QAC1C;QACA,IAAId,YAAYrjB,WAAW,KAAK7F,QAAQkpB,YAAYljB,QAAQ,KAAK,GAAG;QACpEojB;IACF;IACA,OAAON;AACT;AACA,IAAImB,uBAAuB;QACzBtU,aAAAA,MACA2O,wBAAAA,iBACAF,qBAAAA,cACA8F,qBAAAA,cACA3F,wBAAAA,iBACAsE,4BAAAA,qBACA/tB,eAAAA;IAEA,IAA0D0tB,oDAAAA,eAAevvB,OAAO,CAAChD,QAAQ,CAAC,YAAnFuuB,wBAAmDgE,qCAA5B/D,2BAA4B+D;IAC1D,IAAsCA,qDAAAA,eAAevvB,OAAO,CAAChD,QAAQ,CAAC,WAA/Dk0B,cAA+B3B,sCAAlB4B,iBAAkB5B;IACtC,IAAsCA,qDAAAA,eAAevvB,OAAO,CAAChD,QAAQ,CAAC;QACpEo0B,SAAS;QACTpqB,OAAO;QACPG,KAAK;QACLrQ,OAAO;QACP2N,UAAU;YAAE+gB,GAAG;YAAGnc,GAAG;QAAE;QACvBgoB,WAAW;IACb,QAPOC,cAA+B/B,sCAAlBgC,iBAAkBhC;IAQtC,IAAM9D,WAAW;QAAC;QAAa;KAAY;IAC3C,IAAM1kB,OAAOrI,SAASysB;IACtB,IAAMqG,YAAY7B,aAAa5oB,MAAM6oB,uBAAuB,CAAC,GAAGvE,iBAAiB4F;IACjF,IAAMQ,UAAU;QAAC,EAAE;QAAE,EAAE;QAAE,EAAE;QAAE,EAAE;QAAE,EAAE;QAAE,EAAE;QAAE,EAAE;KAAC;IAC5CD,UAAUE,OAAO,CAAC,SAACC,MAAMC;QACvBD,KAAKhoB,IAAI,CAAC+nB,OAAO,CAAC,SAACvqB,KAAK0qB;YACtBJ,OAAO,CAACI,OAAO,CAACjf,IAAI,CAAC,wCAAKzL;gBAAKyqB,SAAAA;;QACjC;IACF;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGpC,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+B,eAAeuF;QAAQ3F,UAAU;YACxI,aAAa,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA2BJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAYJ,UAAU;gCAC9L,aAAa,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAC3C,UACA;oCACE1B,WAAW;oCACX4B,SAAS,SAATA;+CAAestB,yBAAyB,CAACD;;oCACzCrvB,UAAU;wCACR,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;4CAAEtB,WAAW;4CAAwFJ,UAAUmvB;wCAAgB;wCACrL,aAAa,GAAI,CAAA,GAAGmE,qBAAqB5xB,GAAE,AAAC,EAC1C,OACA;4CACEoE,OAAO;4CACPD,QAAQ;4CACRslB,SAAS;4CACTO,MAAM;4CACNtrB,WAAW;4CACXgE,OAAO;gDAAEiT,WAAWgY,wBAAwB,mBAAmB;4CAAe;4CAC9ErvB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EACpD,QACA;gDACE2L,GAAG;gDACHse,QAAQ;gDACRjiB,aAAa;gDACbkiB,eAAe;gDACfgK,gBAAgB;4CAClB;wCAEJ;qCAEH;gCACH;gCAEFvG,yBAAyB,AAAgB,aAAH,GAAI,CAAA,GAAGiE,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAyGJ,UAAUuvB,SAAS5tB,GAAG,CAAC,SAACqxB,SAAS1N;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGgO,qBAAqB5xB,GAAE,AAAC,EACvR,UACA;4CACEtB,WAAW;gDACT;gDACAklB,QAAQ,IAAI,gCAAgC;gDAC5CA,QAAQiK,SAASruB,MAAM,GAAG,IAAI,gCAAgC;6CAC/D,CAACqe,IAAI,CAAC;4CACPvd,SAAS,SAATA;gDACEotB,gBAAgB4D;gDAChB1D,yBAAyB;4CAC3B;4CACAtvB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;gDAAEtB,WAAW;gDAAwFJ,UAAUgzB;4CAAQ;wCACzL,GACAA;;gCACC;6BACJ;wBAAC;oBAAG;oBACL,aAAa,GAAI,CAAA,GAAGM,qBAAqB5xB,GAAE,AAAC,EAAE,UAAU;wBAAEtB,WAAW;wBAA4IJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAcJ,UAAU;gCACpT,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAmC;gCACtG,aAAa,GAAI,CAAA,GAAGkzB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAmC;gCACtG,aAAa,GAAI,CAAA,GAAGkzB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAmC;6BACvG;wBAAC;oBAAG;iBACN;YAAC;YACF,aAAa,GAAI,CAAA,GAAGkzB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAiDJ,UAAU;oBAC5H,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAqFJ,UAAU;oBAAO;oBACzKuzB,cAAc5xB,GAAG,CAAC,SAACiE;+BAAU,AAAgB,aAAH,GAAI,CAAA,GAAG0tB,qBAAqB5xB,GAAE,AAAC,EACvE,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCAAEuC,iBAAiBf;4BAAM;wBAClC,GACAA;;oBAEF,aAAa,GAAI,CAAA,GAAG0tB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAqFJ,UAAU;oBAAO;iBAC1K;YAAC;YACF,aAAa,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAeJ,UAAU;oBAC1F,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAkDJ,UAAU;4BAAC;4BAAK;4BAAK;4BAAK;4BAAK;4BAAK;4BAAK;yBAAI,CAAC2B,GAAG,CAAC,SAACsJ,KAAKqa;mCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGgO,qBAAqB5xB,GAAE,AAAC,EAC9N,OACA;gCACEtB,WAAW;gCACXJ,UAAUiL;4BACZ,GACAqa;;oBACC;oBACH,aAAa,GAAI,CAAA,GAAGgO,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAUJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAaJ,UAAU;gCAC9K,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAA8BJ,UAAUs1B,UAAU3zB,GAAG,CAAC,SAAC8zB,MAAMnQ;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGgO,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAAqBJ,UAAUy1B,KAAKZ,UAAU,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAGvB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;gDAAEtB,WAAW;gDAA+EJ,UAAUy1B,KAAKZ,UAAU;4CAAC;wCAAG,GAAGvP;;gCAAM;gCACnbiQ,QAAQ5zB,GAAG,CAAC,SAACme,KAAK+V;2CAAW,AAAgB,aAAH,GAAI,CAAA,GAAGvC,qBAAqB5xB,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAuBJ,UAAU8f,IAAIne,GAAG,CAAC,SAACm0B,MAAMC;4CAC7I,IAAQnrB,OAAgBkrB,KAAhBlrB,MAAMhQ,QAAUk7B,KAAVl7B;4CACd,IAAMgL,QAAQ4tB,iBAAiB54B;4CAC/B,IAAMo7B,gBAAgBprB,KAAK8F,WAAW,OAAO7F;4CAC7C,IAAMorB,UAAU,AAAC,GAAYF,OAAVF,QAAO,KAAU,OAAPE;4CAC7B,IAAMG,YAAYlB,gBAAgBiB;4CAClC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG3C,qBAAqB5xB,GAAE,AAAC,EACjD,OACA;gDACEtB,WAAW;gDACXgE,OAAO;oDACLuC,iBAAiBqvB,gBAAgBpwB,QAAQ;oDACzCyS,SAAS2d,gBAAgB,IAAI;oDAC7B5d,QAAQ4d,gBAAgB,YAAY;oDACpC3e,WAAW6e,aAAaF,gBAAgB,gBAAgB;gDAC1D;gDACAG,cAAc,SAAdA,aAAetuB;oDACb,IAAImuB,eAAe;wDACjBf,eAAegB;wDACf,IAAMzb,OAAO3S,EAAEuuB,aAAa,CAAC5iB,qBAAqB;wDAClD,IAAMc,YAAY1J,KAAK8B,kBAAkB,CAAC,SAAS;4DAAE5B,OAAO;wDAAO;wDACnEuqB,eAAe;4DACbH,SAAS;4DACTpqB,OAAO,AAAC,GAAeF,OAAb0J,WAAU,KAAsB,OAAnB1J,KAAK8F,WAAW;4DACvCzF,KAAKL,KAAK0B,OAAO;4DACjB1R,OAAAA;4DACAu6B,WAAWvvB;4DACX2C,UAAU;gEAAE+gB,GAAG9O,KAAKE,IAAI,GAAGF,KAAK1U,KAAK,GAAG;gEAAGqH,GAAGqN,KAAKzG,GAAG;4DAAC;wDACzD;oDACF;gDACF;gDACAsiB,cAAc,SAAdA;oDACEpB,eAAe;oDACfI,eAAe,SAAChc;+DAAU,wCAAKA;4DAAM6b,SAAS;;;gDAChD;gDACAl1B,UAAUg2B,iBAAiBp7B,QAAQ,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG04B,qBAAqB5xB,GAAE,AAAC,EAClF,OACA;oDACEtB,WAAW;oDACXgE,OAAO;wDAAEiU,SAAS6d,YAAY,IAAI;oDAAE;oDACpCl2B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAAE,QAAQ;wDAAEtB,WAAW;wDAA2EJ,UAAU4K,KAAK0B,OAAO;oDAAG;gDACnL;4CAEJ,GACAypB;wCAEJ;oCAAG,GAAGF;;6BACP;wBAAC;oBAAG;iBACN;YAAC;YACFT,YAAYF,OAAO,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAG5B,qBAAqB5xB,GAAE,AAAC,EACjE,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBACLsW,MAAM0a,YAAY7sB,QAAQ,CAAC+gB,CAAC;oBAC5BvV,KAAKqhB,YAAY7sB,QAAQ,CAAC4E,CAAC;oBAC3BkK,WAAW;gBACb;gBACArX,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EACrD,OACA;oBACE1B,WAAW;oBACXgE,OAAO;wBACLoT,QAAQ;wBACRub,WAAW;wBACXza,SAAS;oBACX;oBACAtY,UAAU;wBACR,aAAa,GAAI,CAAA,GAAGszB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAsGJ,UAAU;gCACjLo1B,YAAYtqB,KAAK,CAAC2D,KAAK,CAAC,IAAI,CAAC,EAAE;gCAC/B;gCACA2mB,YAAYnqB,GAAG;6BAChB;wBAAC;wBACF,aAAa,GAAI,CAAA,GAAGqoB,qBAAqB5xB,GAAE,AAAC,EAC1C,OACA;4BACEtB,WAAW;4BACXgE,OAAO;gCAAEmU,YAAY;gCAAQ+d,aAAa;gCAASxwB,OAAO;4BAAoB;wBAChF;wBAEF,aAAa,GAAI,CAAA,GAAGwtB,qBAAqBxxB,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAA2BJ,UAAU;gCACtG,aAAa,GAAI,CAAA,GAAGszB,qBAAqB5xB,GAAE,AAAC,EAC1C,OACA;oCACEtB,WAAW;oCACXgE,OAAO;wCAAEuC,iBAAiByuB,YAAYD,SAAS;oCAAC;gCAClD;gCAEF,aAAa,GAAI,CAAA,GAAG7B,qBAAqBxxB,IAAG,AAAC,EAAE,QAAQ;oCAAE1B,WAAW;oCAAiHJ,UAAU;wCAC7L;wCACAo1B,YAAYx6B,KAAK,CAAC4kB,cAAc;wCAChC;qCACD;gCAAC;6BACH;wBAAC;qBACH;gBACH;YAEJ;SAEH;IAAC;AACJ;AACAsV,qBAAqB3yB,WAAW,GAAG;AAEnC,mCAAmC;AACnC,IAAIo0B,uBAAuB32B,QAAQ;AACnC,IAAI42B,iBAAiB;IACnB;IACA;IACA;IACA;IACA;IACA;CACD;AACD,IAAIC,gBAAgB;QAClB12B,cAAAA,OACAE,cAAAA,kCACAwb,aAAAA,8CAAc;QAWGvI;IATjB,IAAI,CAACjT,SAASA,MAAMiB,MAAM,KAAK,GAAG;QAChC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGq1B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAA+BJ,UAAU;gBACjH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;oBAAE1B,WAAW;oBAA0CJ,UAAU;wBACrH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;4BAAE0C,OAAO;gCAAEwB,OAAO;gCAAqBkY,YAAY;gCAAuBnH,UAAU;gCAAQkU,YAAY;4BAAI;4BAAGzqB,WAAW;4BAAgBJ,UAAUD;wBAAM;wBAC/M,aAAa,GAAI,CAAA,GAAGw2B,qBAAqB70B,GAAE,AAAC,EAAEg1B,gBAAgB,CAAC;qBAChE;gBAAC;gBACF,aAAa,GAAI,CAAA,GAAGH,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAA2CgE,OAAO;wBAAEwB,OAAO;wBAAuB+Q,UAAU;oBAAO;oBAAG3W,UAAU;gBAAoB;aACvM;QAAC;IACJ;IACA,IAAM22B,WAAWzjB,CAAAA,QAAAA,MAAKqR,GAAG,OAARrR,OAAAA,AAAS,qBAAGjT,MAAM0B,GAAG,CAAC,SAACC;eAASA,KAAKhH,KAAK;eAA1CsY;QAA6C;KAAE;IAChE,IAAM0jB,gBAAgB;QAAC;QAAG;QAAI;QAAI;QAAI;KAAI;IAC1C,IAAMC,aAAaD,cAAcj1B,GAAG,CAAC,SAACuY;eAAQhH,KAAKC,KAAK,CAAC+G,MAAM,MAAMyc;;IACrE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGJ,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+BJ,UAAU;YACjH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;wBAAE0C,OAAO;4BAAEwB,OAAO;4BAAqBkY,YAAY;4BAAuBnH,UAAU;4BAAQkU,YAAY;wBAAI;wBAAGzqB,WAAW;wBAAgBJ,UAAUD;oBAAM;oBAC/M,aAAa,GAAI,CAAA,GAAGw2B,qBAAqB70B,GAAE,AAAC,EAAEg1B,gBAAgB,CAAC;iBAChE;YAAC;YACF,aAAa,GAAI,CAAA,GAAGH,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA2EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAgDJ,UAAUyb,gBAAgB,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAG8a,qBAAqBz0B,IAAG,AAAC,EAAEy0B,qBAAqBhtB,QAAQ,EAAE;wBAAEvJ,UAAU;4BAC1Y,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA2EJ,UAAU;oCACtJ,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAoEJ,UAAU;4CAC/I,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAuCgE,OAAO;oDAAE8B,YAAY;gDAAsB;4CAAE;4CACtJ0wB,cAAcE,KAAK,CAAC,GAAGn1B,GAAG,CAAC,SAACuY,KAAKoL;uDAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAAgCgE,OAAO;wDAAEsW,MAAM,AAAC,GAAM,OAAJR,KAAI;wDAAIhU,YAAY;oDAAwB;gDAAE,GAAGof;;yCAC/M;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAA+CgE,OAAO;4CAAE8B,YAAY;wCAAsB;oCAAE;oCAC9JjG,MAAM0B,GAAG,CAAC,SAACC,MAAMP;wCACf,IAAM0pB,aAAanpB,KAAKhH,KAAK,GAAG+7B,WAAW;wCAC3C,IAAM/wB,QAAQhE,KAAKgE,KAAK,IAAI4wB,cAAc,CAACn1B,QAAQm1B,eAAet1B,MAAM,CAAC;wCACzE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGq1B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAAoCJ,UAAU;gDACtH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAA4BgE,OAAO;wDAAE0B,OAAO;wDAAS4U,MAAM;oDAAS;oDAAG1a,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,QAAQ;wDAAE0C,OAAO;4DAAEwB,OAAO;4DAAoBkY,YAAY;4DAAuBnH,UAAU;4DAAQkU,YAAY;4DAAKvhB,UAAU;4DAAUytB,cAAc;4DAAY5I,YAAY;4DAAUtF,SAAS;wDAAQ;wDAAGzoB,WAAW;wDAAcJ,UAAU4B,KAAK+H,KAAK;oDAAC;gDAAG;gDAC9b,aAAa,GAAI,CAAA,GAAG4sB,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA0CJ,UAAU;wDACrH,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAC1C,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAE0B,OAAO,AAAC,GAAa,OAAXilB,YAAW;gEAAIllB,QAAQ;gEAAOK,YAAYN;4DAAM;4DACnE5F,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EACpD,OACA;gEACEtB,WAAW;gEACXgE,OAAO;oEACLiT,WAAW;oEACXnR,YAAYN;oEACZmtB,WAAW;gEACb;4DACF;wDAEJ;wDAEF,aAAa,GAAI,CAAA,GAAGwD,qBAAqB70B,GAAE,AAAC,EAC1C,QACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAEwB,OAAO;gEAAoBkY,YAAY;4DAAsB;4DACtE9d,UAAU4B,KAAKhH,KAAK;wDACtB;qDAEH;gDAAC;6CACH;wCAAC,GAAG,AAAC,GAAgByG,OAAdO,KAAK+H,KAAK,EAAC,KAAS,OAANtI;oCACxB;iCACD;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGk1B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwCgE,OAAO;oCAAE0Z,YAAY;oCAAuBnH,UAAU;oCAAQ/Q,OAAO;gCAAsB;gCAAG5F,UAAU62B,WAAWl1B,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,QAAQ;wCAAE1B,UAAU2J;oCAAM,GAAG2b;;4BAAM;yBACnU;oBAAC,KACA,AACgB,kBADE,GAClB,aAAa,GAAI,CAAA,GAAGiR,qBAAqBz0B,IAAG,AAAC,EAC3C,OACA;wBACE1B,WAAW;wBACXgE,OAAO;4BAAE2B,WAAW;wBAAQ;wBAC5B/F,UAAU;4BACR,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwEJ,UAAU;oCACnJ,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAyCgE,OAAO;4CAAE8B,YAAY;wCAAsB;oCAAE;oCACxJ,aAAa,GAAI,CAAA,GAAGqwB,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAuCgE,OAAO;4CAAE8B,YAAY;wCAAsB;oCAAE;oCACtJ0wB,cAAcE,KAAK,CAAC,GAAGn1B,GAAG,CAAC,SAACuY,KAAKoL;+CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAAgCgE,OAAO;gDAAE2P,KAAK,AAAC,GAAY,OAAV,MAAMmG,KAAI;gDAAIhU,YAAY;4CAAwB;wCAAE,GAAGof;;iCACpN;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAC1C,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCAAE0Z,YAAY;oCAAuBnH,UAAU;oCAAQ/Q,OAAO;gCAAsB;gCAC3F5F,UAAU,AAAC,qBAAG62B,YAAYG,OAAO,GAAGr1B,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,QAAQ;wCAAE1B,UAAU2J;oCAAM,GAAG2b;;4BACrI;4BAEF,aAAa,GAAI,CAAA,GAAGiR,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAmEJ,UAAUC,MAAM0B,GAAG,CAAC,SAACC,MAAMP;oCAC9J,IAAM0pB,aAAanpB,KAAKhH,KAAK,GAAG+7B,WAAW;oCAC3C,IAAM/wB,QAAQhE,KAAKgE,KAAK,IAAI4wB,cAAc,CAACn1B,QAAQm1B,eAAet1B,MAAM,CAAC;oCACzE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGq1B,qBAAqBz0B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAsFJ,UAAU;4CACxK,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAsEJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqBz0B,IAAG,AAAC,EAC7L,OACA;oDACE1B,WAAW;oDACXgE,OAAO;wDACLyB,QAAQ,AAAC,GAAa,OAAXklB,YAAW;wDACtB7kB,YAAYN;wDACZG,WAAWglB,aAAa,IAAI,QAAQ;oDACtC;oDACA/qB,UAAU;wDACR,aAAa,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAC1C,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEACL2P,KAAK;gEACLsD,WAAW;gEACXnR,YAAYN;gEACZmtB,WAAW;4DACb;wDACF;wDAEF,aAAa,GAAI,CAAA,GAAGwD,qBAAqB70B,GAAE,AAAC,EAC1C,QACA;4DACEtB,WAAW;4DACXgE,OAAO;gEACL2P,KAAK;gEACLsD,WAAW;gEACXzR,OAAO;gEACPkY,YAAY;4DACd;4DACA9d,UAAU4B,KAAKhH,KAAK;wDACtB;qDAEH;gDACH;4CACA;4CACF,aAAa,GAAI,CAAA,GAAG27B,qBAAqB70B,GAAE,AAAC,EAC1C,OACA;gDACEtB,WAAW;gDACXgE,OAAO;oDAAEyP,QAAQ;oDAAS6G,MAAM;oDAAOrD,WAAW;oDAAoB4f,UAAU;gDAAQ;gDACxFj3B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,QAAQ;oDAAE0C,OAAO;wDAAEwB,OAAO;wDAAoBkY,YAAY;wDAAuBnH,UAAU;wDAAQkU,YAAY;oDAAI;oDAAGzqB,WAAW;oDAAcJ,UAAU4B,KAAK+H,KAAK;gDAAC;4CAC9N;yCAEH;oCAAC,GAAG,AAAC,GAAgBtI,OAAdO,KAAK+H,KAAK,EAAC,KAAS,OAANtI;gCACxB;4BAAG;yBACJ;oBACH;gBAEF;YAAG;SACN;IAAC;AACJ;AACA,IAAIq1B,iBAAiB;WAAM,AAAgB,aAAH,GAAI,CAAA,GAAGH,qBAAqB70B,GAAE,AAAC,EAAE,UAAU;QAAEtB,WAAW;QAA+IJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqB70B,GAAE,AAAC,EAAE,OAAO;YAAEtB,WAAW;YAAcJ,UAAU;gBAAC;gBAAG;gBAAG;aAAE,CAAC2B,GAAG,CAAC,SAACF;uBAAM,AAAgB,aAAH,GAAI,CAAA,GAAG80B,qBAAqB70B,GAAE,AAAC,EAAE,QAAQ;oBAAEtB,WAAW;oBAAwBgE,OAAO;wBAAE8B,YAAY;oBAAsB;gBAAE,GAAGzE;;QAAI;IAAG;;AAC1fg1B,cAAct0B,WAAW,GAAG;AAE5B,iCAAiC;AACjC,IAAI+0B,uBAAuBt3B,QAAQ;AACnC,IAAIu3B,kBAAkB;AACtB,IAAIC,cAAc;QAChBr3B,cAAAA,OACAs3B,gBAAAA,SACAC,oBAAAA;IAEA,IAAMC,cAAcF,WAAW,EAAE;IACjC,IAAMV,WAAWW,CAAAA,wBAAAA,kCAAAA,YAAa/S,GAAG,KAAI;IACrC,IAAMiT,WAAWF,CAAAA,wBAAAA,kCAAAA,YAAa1S,GAAG,KAAI;IACrC,IAAM6S,cAAcH,CAAAA,wBAAAA,kCAAAA,YAAalJ,MAAM,KAAI;QAAC;QAAG;QAAK;QAAK;QAAK;KAAI;IAClE,IAAMsJ,cAAc,qBAAC98B;QACnB,IAAIA,SAAS,KAAK,OAAO,AAAC,GAA2B,OAAzB,AAACA,CAAAA,QAAQ,GAAE,EAAG+8B,OAAO,CAAC,IAAG;QACrD,OAAO/8B,MAAM6kB,QAAQ;IACvB;IACA,IAAMmY,kBAAkB,yBAACh9B;QACvB,IAAI+7B,aAAaa,UAAU,OAAO;QAClC,IAAMzM,aAAa,AAACnwB,CAAAA,QAAQ48B,QAAO,IAAMb,CAAAA,WAAWa,QAAO,IAAK;QAChE,OAAOtkB,KAAKqR,GAAG,CAAC,GAAGrR,KAAK0R,GAAG,CAAC,KAAKmG;IACnC;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGmM,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+BJ,UAAU;YACjH,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAwGJ,UAAUD;oBAAM;oBAC1L,aAAa,GAAI,CAAA,GAAGm3B,qBAAqBx1B,GAAE,AAAC,EAAE,UAAU;wBAAEtB,WAAW;wBAA6JJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk3B,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;4BAAE1B,WAAW;4BAAcJ,UAAU;gCACrU,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAgD;gCACnH,aAAa,GAAI,CAAA,GAAG82B,qBAAqBx1B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAgD;gCACnH,aAAa,GAAI,CAAA,GAAG82B,qBAAqBx1B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;gCAAgD;6BACpH;wBAAC;oBAAG;iBACN;YAAC;YACF,aAAa,GAAI,CAAA,GAAG82B,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAsDJ,UAAU;oBACjI,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAwCJ,UAAU;4BACnH,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAA6EJ,UAAUy3B,YAAYX,KAAK,GAAGE,OAAO,GAAGr1B,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAG4R,qBAAqBx1B,GAAE,AAAC,EACrP,QACA;wCACEtB,WAAW;wCACXJ,UAAU2J,SAAS,MAAM,AAAC,GAAc,OAAZA,QAAQ,KAAI,OAAKA;oCAC/C,GACA,AAAC,KAAQ,OAAJ2b;;4BACJ;4BACH,aAAa,GAAI,CAAA,GAAG4R,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA2CJ,UAAU;oCACtH,aAAa,GAAI,CAAA,GAAGk3B,qBAAqBp1B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAwCJ,UAAU;4CACnHy3B,YAAY91B,GAAG,CAAC,SAACgI,OAAO2b;gDACtB,IAAM/c,WAAW,MAAM,AAACoB,CAAAA,QAAQ8tB,WAAW,CAAC,EAAC,AAAC,IAAKA,CAAAA,WAAW,CAACA,YAAYv2B,MAAM,GAAG,EAAE,GAAGu2B,WAAW,CAAC,EAAC,AAAC,IAAI;gDAC3G,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGP,qBAAqBx1B,GAAE,AAAC,EACjD,OACA;oDACE,eAAe,AAAC,UAAa,OAAJ4jB;oDACzBllB,WAAW;oDACXgE,OAAO;wDAAE2P,KAAK,AAAC,GAAW,OAATxL,UAAS;oDAAG;gDAC/B,GACA,AAAC,QAAW,OAAJ+c;4CAEZ;4CACA,aAAa,GAAI,CAAA,GAAG4R,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;4CAAsE;4CACxI,aAAa,GAAI,CAAA,GAAG82B,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;4CAAwE;yCAC3I;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAG82B,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAA4EJ,UAAUu3B,YAAY51B,GAAG,CAAC,SAACk2B,QAAQx2B;4CAC/K,IAAMy2B,yBAAyBF,gBAAgBC,OAAOj9B,KAAK;4CAC3D,IAAMikB,WAAWgZ,OAAOhZ,QAAQ,IAAIgZ,OAAOjyB,KAAK,IAAIuxB;4CACpD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqBx1B,GAAE,AAAC,EACjD,OACA;gDACEtB,WAAW;gDACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EACpD,OACA;oDACEtB,WAAW;oDACXgE,OAAO;wDACLyB,QAAQ,AAAC,GAAyB,OAAvBiyB,wBAAuB;wDAClC5xB,YAAY2Y;oDACd;oDACA7e,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAwKJ,UAAU03B,YAAYG,OAAOj9B,KAAK;oDAAE;gDAC1R;4CAEJ,GACA,AAAC,GAAiByG,OAAfw2B,OAAO99B,IAAI,EAAC,KAAS,OAANsH;wCAEtB;oCAAG;iCACJ;4BAAC;yBACH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAG61B,qBAAqBx1B,GAAE,AAAC,EAC1C,OACA;wBACEtB,WAAW;wBACXgE,OAAO;4BAAEmU,YAAY;4BAAQzS,OAAO;wBAAoB;wBACxD9F,UAAUu3B,YAAY51B,GAAG,CAAC,SAACk2B,QAAQx2B;mCAAU,AAAgB,aAAH,GAAI,CAAA,GAAG61B,qBAAqBx1B,GAAE,AAAC,EACvF,OACA;gCACEtB,WAAW;gCACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk3B,qBAAqBx1B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;oCAAwKJ,UAAU63B,OAAO99B,IAAI;gCAAC;4BAC7Q,GACA,AAAC,SAAc,OAANsH;;oBAEb;iBAEH;YAAC;SACH;IAAC;AACJ;AACA+1B,YAAYj1B,WAAW,GAAG;AAE1B,8BAA8B;AAC9B,IAAI41B,iBAAiBt9B,QAAQmF,QAAQ;AACrC,IAAIo4B,uBAAuBp4B,QAAQ;AACnC,IAAIq4B,mBAAmB,0BAACC;IACtB,IAAIA,OAAOh3B,MAAM,KAAK,GAAG,OAAO;IAChC,IAAIg3B,OAAOh3B,MAAM,KAAK,GAAG,OAAO,AAAC,KAAmBg3B,OAAfA,MAAM,CAAC,EAAE,CAAC5O,CAAC,EAAC,KAAe,OAAZ4O,MAAM,CAAC,EAAE,CAAC/qB,CAAC;IAC/D,IAAIgrB,OAAO,AAAC,KAAmBD,OAAfA,MAAM,CAAC,EAAE,CAAC5O,CAAC,EAAC,KAAe,OAAZ4O,MAAM,CAAC,EAAE,CAAC/qB,CAAC;IAC1C,IAAK,IAAI1L,IAAI,GAAGA,IAAIy2B,OAAOh3B,MAAM,EAAEO,IAAK02B,QAAQ,AAAC,MAAoBD,OAAfA,MAAM,CAACz2B,EAAE,CAAC6nB,CAAC,EAAC,KAAe,OAAZ4O,MAAM,CAACz2B,EAAE,CAAC0L,CAAC;IAChF,OAAOgrB;AACT;AACA,IAAIC,iBAAiB,wBAACF,QAAQryB;IAC5B,IAAIqyB,OAAOh3B,MAAM,KAAK,GAAG,OAAO;IAChC,IAAMm3B,WAAWJ,iBAAiBC;IAClC,IAAMI,YAAYJ,MAAM,CAACA,OAAOh3B,MAAM,GAAG,EAAE;IAC3C,IAAMq3B,aAAaL,MAAM,CAAC,EAAE;IAC5B,OAAO,AAAC,GAAgBI,OAAdD,UAAS,OAAoBxyB,OAAfyyB,UAAUhP,CAAC,EAAC,KAAeiP,OAAZ1yB,QAAO,OAAqBA,OAAhB0yB,WAAWjP,CAAC,EAAC,KAAU,OAAPzjB,QAAO;AAC5E;AACA,IAAI2yB,4BAA4B,mCAAChY;IAC/B,IAAI,CAACA,QAAQA,KAAKtf,MAAM,GAAG,GAAG,OAAO;IACrC,IAAMu3B,aAAajY,IAAI,CAAC,EAAE;IAC1B,IAAMkY,YAAYlY,IAAI,CAACA,KAAKtf,MAAM,GAAG,EAAE;IACvC,IAAIu3B,eAAe,GAAG,OAAOC,YAAY,IAAI,MAAMA,YAAY,IAAI,CAAC,MAAM;IAC1E,OAAOxlB,KAAKC,KAAK,CAAC,AAACulB,CAAAA,YAAYD,UAAS,IAAKvlB,KAAKylB,GAAG,CAACF,cAAc,OAAO;AAC7E;AACA,IAAIG,eAAe,sBAAC7sB,QAAQ8sB,YAAYC;IACtC,OAAQ/sB;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,IAAI+sB,cAAcA,WAAW53B,MAAM,IAAI,GAAG;gBACxC,IAAMyM,YAAY,IAAItB,KAAKysB,UAAU,CAAC,EAAE;gBACxC,IAAMjH,UAAU,IAAIxlB,KAAKysB,UAAU,CAACA,WAAW53B,MAAM,GAAG,EAAE;gBAC1D,IAAM63B,aAAa,AAAClH,CAAAA,QAAQnhB,WAAW,KAAK/C,UAAU+C,WAAW,EAAC,IAAK,KAAMmhB,CAAAA,QAAQhhB,QAAQ,KAAKlD,UAAUkD,QAAQ,EAAC;gBACrH,IAAIkoB,eAAe,GAAG;oBACpB,IAAMC,WAAW9lB,KAAKsR,IAAI,CAAC,AAACqN,CAAAA,QAAQjd,OAAO,KAAKjH,UAAUiH,OAAO,EAAC,IAAK;oBACvE,OAAO,AAAC,QAAsBokB,OAAfA,UAAS,QAA8B,OAAxBA,WAAW,IAAI,MAAM;gBACrD,OAAO,IAAID,aAAa,IAAI;oBAC1B,OAAO,AAAC,QAA0BA,OAAnBA,YAAW,UAAkC,OAA1BA,aAAa,IAAI,MAAM;gBAC3D,OAAO;oBACL,IAAME,QAAQ/lB,KAAKgmB,KAAK,CAACH,aAAa;oBACtC,IAAMvH,SAASuH,aAAa;oBAC5B,OAAOvH,WAAW,IAAI,AAAC,QAAoByH,OAAbA,OAAM,SAA4B,OAArBA,QAAQ,IAAI,MAAM,MAAO,AAAC,QAAiBzH,OAAVyH,OAAM,MAAW,OAAPzH,QAAO;gBAC/F;YACF;YACA,OAAO,AAAC,aAAuB,OAAXqH,YAAW;QACjC;YACE,OAAO;IACX;AACF;AACA,IAAIM,eAAe,sBAACptB,QAAQqtB,oBAAoBC;IAC9C,IAAIttB,WAAW,SAASstB,iBAAiBA,cAAcn4B,MAAM,IAAI,GAAG;QAClE,OAAOo4B,gBAAgB,IAAIjtB,KAAKgtB,aAAa,CAAC,EAAE,GAAG,IAAIhtB,KAAKgtB,aAAa,CAACA,cAAcn4B,MAAM,GAAG,EAAE;IACrG;IACA,IAAIk4B,sBAAsBA,mBAAmBl4B,MAAM,IAAI,GAAG;QACxD,OAAOo4B,gBAAgB,IAAIjtB,KAAK+sB,kBAAkB,CAAC,EAAE,GAAG,IAAI/sB,KAAK+sB,kBAAkB,CAACA,mBAAmBl4B,MAAM,GAAG,EAAE;IACpH,OAAO,IAAIk4B,sBAAsBA,mBAAmBl4B,MAAM,KAAK,GAAG;QAChE,OAAOq4B,iBAAiB,IAAIltB,KAAK+sB,kBAAkB,CAAC,EAAE;IACxD;IACA,OAAO;AACT;AACA,IAAIE,kBAAkB,yBAAC3rB,WAAWkkB;IAChC,IAAMpmB,aAAa;QAAC;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;KAAM;IACvG,IAAM+tB,WAAW7rB,UAAU+C,WAAW,OAAOmhB,QAAQnhB,WAAW;IAChE,IAAM7L,KAAK4G,UAAU,CAACkC,UAAUkD,QAAQ,GAAG;IAC3C,IAAM4oB,KAAK1uB,OAAO4C,UAAUrB,OAAO,IAAItB,QAAQ,CAAC,GAAG;IACnD,IAAM0uB,KAAK/rB,UAAU+C,WAAW;IAChC,IAAMipB,KAAKluB,UAAU,CAAComB,QAAQhhB,QAAQ,GAAG;IACzC,IAAM+oB,KAAK7uB,OAAO8mB,QAAQvlB,OAAO,IAAItB,QAAQ,CAAC,GAAG;IACjD,IAAM6uB,KAAKhI,QAAQnhB,WAAW;IAC9B,OAAO8oB,WAAW,AAAC,GAAQC,OAAN50B,IAAG,KAAW80B,OAARF,IAAG,OAAWG,OAAND,IAAG,KAAM,OAAHC,MAAO,AAAC,GAAQH,OAAN50B,IAAG,KAAS60B,OAAND,IAAG,KAAWE,OAARD,IAAG,OAAWE,OAAND,IAAG,KAASE,OAAND,IAAG,KAAM,OAAHC;AACrF;AACA,IAAIN,mBAAmB,0BAAC3uB;IACtB,IAAMa,aAAa;QAAC;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;QAAO;KAAM;IACvG,OAAO,AAAC,GAAiCV,OAA/BU,UAAU,CAACb,KAAKiG,QAAQ,GAAG,EAAC,KAA+CjG,OAA5CG,OAAOH,KAAK0B,OAAO,IAAItB,QAAQ,CAAC,GAAG,MAAK,MAAuB,OAAnBJ,KAAK8F,WAAW;AACvG;AACA,IAAIopB,eAAe,sBAACtZ;;mBAASA,iBAAAA,2BAAAA,KAAMuZ,MAAM,CAAC,SAACC,GAAG1a;eAAM0a,IAAI1a;OAAG,yCAAM;;AACjE,IAAI2a,sBAAsB,6BAACr/B;IACzB,IAAIA,UAAU,GAAG,OAAO;IACxB,IAAM+9B,MAAMzlB,KAAKylB,GAAG,CAAC/9B;IACrB,IAAMs/B,SAASt/B,QAAQ,IAAI,MAAM;IACjC,IAAI+9B,OAAO,KAAK,OAAO,AAAC,GAAY,OAAVuB,QAAO,KAA0B,OAAvB,AAACvB,CAAAA,MAAM,GAAE,EAAGhB,OAAO,CAAC,IAAG;IAC3D,IAAIgB,OAAO,KAAK,OAAO,AAAC,GAAY,OAAVuB,QAAO,KAA0B,OAAvB,AAACvB,CAAAA,MAAM,GAAE,EAAGhB,OAAO,CAAC,IAAG;IAC3D,IAAIgB,OAAO,KAAK,OAAO,AAAC,GAAY,OAAVuB,QAAO,KAA0B,OAAvB,AAACvB,CAAAA,MAAM,GAAE,EAAGhB,OAAO,CAAC,IAAG;IAC3D,OAAO,AAAC,GAAYgB,OAAVuB,QAAO,KAAkB,OAAfvB,IAAIhB,OAAO,CAAC;AAClC;AACA,IAAIwC,WAAW;QAAG3Z,aAAAA;IAChB,IAAwCuX,oDAAAA,eAAej0B,OAAO,CAAChD,QAAQ,CAAC,WAAjEs5B,eAAiCrC,qCAAnBsC,kBAAmBtC;IACxC,IAAoCA,qDAAAA,eAAej0B,OAAO,CAAChD,QAAQ,CAAC;QAAEwoB,GAAG;QAAGnc,GAAG;IAAE,QAA1EmtB,aAA6BvC,sCAAjBwC,gBAAiBxC;IACpC,IAA4CA,qDAAAA,eAAej0B,OAAO,CAAChD,QAAQ,CACzE0f,KAAKga,WAAW,IAAIha,KAAKga,WAAW,CAACt5B,MAAM,GAAG,IAAIsf,KAAKga,WAAW,CAACha,KAAKga,WAAW,CAACt5B,MAAM,GAAG,EAAE,GAAG,YAD7F0Q,iBAAqCmmB,sCAArBlmB,oBAAqBkmB;IAG5C,IAAMrlB,eAAeqlB,eAAej0B,OAAO,CAAC6O,MAAM,CAAC;IACnD,IAA6C,OAAA,AAAC,CAAA,GAAGolB,eAAepR,OAAM,AAAC,EAAE;QACvE,IAAI,CAACnG,KAAKga,WAAW,IAAI,CAACha,KAAKsY,UAAU,IAAIlnB,mBAAmB,OAAO;YACrE,OAAO;gBAAE6oB,cAAcja,KAAKA,IAAI;gBAAE4Y,oBAAoB5Y,KAAKsY,UAAU,IAAI,EAAE;YAAC;QAC9E;QACA,IAAM7jB,MAAM,aAAa,GAAG,IAAI5I;QAChC,IAAIquB,aAAa,aAAa,GAAG,IAAIruB;QACrC,OAAQuF;YACN,KAAK;gBACH8oB,WAAWjG,OAAO,CAACxf,IAAI3I,OAAO,KAAK;gBACnC;YACF,KAAK;gBACHouB,WAAWjG,OAAO,CAACxf,IAAI3I,OAAO,KAAK;gBACnC;YACF,KAAK;gBACHouB,WAAWC,QAAQ,CAAC1lB,IAAIpE,QAAQ,KAAK;gBACrC;YACF,KAAK;gBACH6pB,WAAWC,QAAQ,CAAC1lB,IAAIpE,QAAQ,KAAK;gBACrC;YACF,KAAK;gBACH6pB,WAAWE,WAAW,CAAC3lB,IAAIvE,WAAW,KAAK;gBAC3C;YACF;gBACE,OAAO;oBAAE+pB,cAAcja,KAAKA,IAAI;oBAAE4Y,oBAAoB5Y,KAAKsY,UAAU,IAAI,EAAE;gBAAC;QAChF;QACA,IAAM+B,WAAW,EAAE;QACnB,IAAMC,aAAa,EAAE;QACrBta,KAAKsY,UAAU,CAACtD,OAAO,CAAC,SAACuF,WAAW15B;YAClC,IAAM25B,WAAW,IAAI3uB,KAAK0uB;YAC1B,IAAIC,YAAYN,cAAcM,YAAY/lB,OAAO5T,QAAQmf,KAAKA,IAAI,CAACtf,MAAM,EAAE;gBACzE25B,SAASnkB,IAAI,CAAC8J,KAAKA,IAAI,CAACnf,MAAM;gBAC9By5B,WAAWpkB,IAAI,CAACqkB;YAClB;QACF;QACA,OAAO;YACLN,cAAcI,SAAS35B,MAAM,GAAG,IAAI25B,WAAWra,KAAKA,IAAI;YACxD4Y,oBAAoB0B,WAAW55B,MAAM,GAAG,IAAI45B,aAAata,KAAKsY,UAAU,IAAI,EAAE;QAChF;IACF,GAAG;QAACtY,KAAKA,IAAI;QAAEA,KAAKsY,UAAU;QAAEtY,KAAKga,WAAW;QAAE5oB;KAAe,GAtCzD6oB,eAAqC,KAArCA,cAAcrB,qBAAuB,KAAvBA;IAuCtB,IAAM6B,mBAAmB,AAAC,CAAA,GAAGlD,eAAepR,OAAM,AAAC,EAAE;eAAM6R,0BAA0BiC;OAAe;QAACA;KAAa;IAClH,IAAMS,aAAaD,oBAAoB;IACvC,IAAME,mBAAmB,AAAC,CAAA,GAAGpD,eAAepR,OAAM,AAAC,EAAE;eAAMiS,aAAahnB,gBAAgB6oB,aAAav5B,MAAM,EAAEsf,KAAKsY,UAAU;OAAG;QAAClnB;QAAgB6oB,aAAav5B,MAAM;QAAEsf,KAAKsY,UAAU;KAAC;IACrL,IAAMsC,mBAAmB,AAAC,CAAA,GAAGrD,eAAepR,OAAM,AAAC,EAAE;eAAMwS,aAAavnB,gBAAgBwnB,oBAAoB5Y,KAAKsY,UAAU;OAAG;QAAClnB;QAAgBwnB;QAAoB5Y,KAAKsY,UAAU;KAAC;IACnL,IAAMuC,eAAe,AAAC,CAAA,GAAGtD,eAAepR,OAAM,AAAC,EAAE;eAAMsT,oBAAoBH,aAAaW;OAAgB;QAACA;KAAa;IACtH,IAA4C,QAAA,AAAC,CAAA,GAAG1C,eAAepR,OAAM,AAAC,EAAE;YAK1DzT,OACAA;QALZ,IAAMpN,QAAQ;QACd,IAAMD,SAAS;QACf,IAAMyS,UAAU;QAChB,IAAI,CAACmiB,gBAAgBA,aAAav5B,MAAM,KAAK,GAAG,OAAO;YAAEg3B,QAAQ,EAAE;YAAEV,UAAU;YAAGb,UAAU;YAAG2E,YAAYx1B;YAAOy1B,aAAa11B;QAAO;QACtI,IAAM+e,MAAM1R,CAAAA,QAAAA,MAAK0R,GAAG,OAAR1R,OAAS,qBAAGunB;QACxB,IAAMlW,MAAMrR,CAAAA,SAAAA,MAAKqR,GAAG,OAARrR,QAAS,qBAAGunB;QACxB,IAAM9gB,QAAQ4K,MAAMK,OAAO;QAC3B,IAAM4W,mBAAmBf,aAAa94B,GAAG,CAAC,SAAC/G,OAAOyG;mBAAW;gBAC3DioB,GAAGhR,UAAUjX,QAASo5B,CAAAA,aAAav5B,MAAM,GAAG,CAAA,IAAM4E,CAAAA,QAAQwS,UAAU,CAAA;gBACpEnL,GAAGtH,SAASyS,UAAU,AAAC1d,CAAAA,QAAQgqB,GAAE,IAAKjL,QAAS9T,CAAAA,SAASyS,UAAU,CAAA;gBAClE1d,OAAAA;YACF;;QACA,OAAO;YAAEs9B,QAAQsD;YAAkBhE,UAAU5S;YAAK+R,UAAUpS;YAAK+W,YAAYx1B;YAAOy1B,aAAa11B;QAAO;IAC1G,GAAG;QAAC40B;KAAa,GAdTvC,SAAoC,MAApCA,QAAQoD,aAA4B,MAA5BA,YAAYC,cAAgB,MAAhBA;IAe5B,IAAME,aAAa,AAAC,CAAA,GAAG1D,eAAepR,OAAM,AAAC,EAAE;eAAMsR,iBAAiBC;OAAS;QAACA;KAAO;IACvF,IAAMwD,WAAW,AAAC,CAAA,GAAG3D,eAAepR,OAAM,AAAC,EAAE;eAAMyR,eAAeF,QAAQqD;OAAc;QAACrD;QAAQqD;KAAY;IAC7G,IAAMI,aAAa,AAAC,CAAA,GAAG5D,eAAepR,OAAM,AAAC,EAC3C;eAAM,AAAC,gBAAuDzT,OAAxCgoB,aAAa,aAAa,YAAW,KAA2C,OAAxChoB,KAAK0oB,MAAM,GAAGnc,QAAQ,CAAC,IAAIoc,MAAM,CAAC,GAAG;OACnG;QAACX;KAAW;IAEd,IAAMY,kBAAkB,yBAAC5nB;QACvB,IAAI,CAACxB,aAAaW,OAAO,IAAI6kB,OAAOh3B,MAAM,KAAK,GAAG;QAClD,IAAM66B,MAAM7nB,MAAMkiB,aAAa,CAAC4F,eAAe;QAC/C,IAAI,CAACD,KAAK;QACV,IAAMvhB,OAAOuhB,IAAIvoB,qBAAqB;QACtC,IAAM8V,IAAI,AAACpV,CAAAA,MAAM+nB,OAAO,GAAGzhB,KAAKE,IAAG,AAAC,IAAIF,KAAK1U,KAAK,GAAGw1B;QACrD,IAAIY,eAAe;QACnB,IAAIC,cAAcjpB,KAAKylB,GAAG,CAACT,MAAM,CAAC,EAAE,CAAC5O,CAAC,GAAGA;QACzC4O,OAAO1C,OAAO,CAAC,SAAC4G,OAAO/6B;YACrB,IAAMg7B,WAAWnpB,KAAKylB,GAAG,CAACyD,MAAM9S,CAAC,GAAGA;YACpC,IAAI+S,WAAWF,aAAa;gBAC1BA,cAAcE;gBACdH,eAAe76B;YACjB;QACF;QACAg5B,gBAAgB6B;QAChB3B,cAAc;YACZjR,GAAG4O,MAAM,CAACgE,aAAa,CAAC5S,CAAC,GAAGgS,aAAa9gB,KAAK1U,KAAK;YACnDqH,GAAG+qB,MAAM,CAACgE,aAAa,CAAC/uB,CAAC,GAAGouB,cAAc/gB,KAAK3U,MAAM;QACvD;IACF;IACA,IAAMy2B,uBAAuBpB,aAAa;QACxC;YAAE1P,QAAQ;YAAM5lB,OAAO;QAAsB;QAC7C;YAAE4lB,QAAQ;YAAO5lB,OAAO;QAAsB;QAC9C;YAAE4lB,QAAQ;YAAQ5lB,OAAO;QAAuB;KACjD,GAAG;QACF;YAAE4lB,QAAQ;YAAM5lB,OAAO;QAAsB;QAC7C;YAAE4lB,QAAQ;YAAO5lB,OAAO;QAAsB;QAC9C;YAAE4lB,QAAQ;YAAQ5lB,OAAO;QAAuB;KACjD;IACD,IAAM22B,aAAarB,aAAa,sBAAsB;IACtD,IAAMsB,oBAAoBtB,aAAa,wBAAwB;IAC/D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlD,qBAAqBl2B,IAAG,AAAC,EAClD,OACA;QACEoC,KAAKwO;QACLtS,WAAW;QACXgE,OAAO;YACLyB,QAAQ;YACR2R,QAAQ;YACRtR,YAAY;YACZ6sB,WAAW;QACb;QACA/yB,UAAU;YACR,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBl2B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA8DJ,UAAU;oBACzI,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAmBJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EACzI,MACA;4BACEtB,WAAW;4BACXgE,OAAO;gCAAEwB,OAAO;gCAAuBkY,YAAY;gCAAkC2e,eAAe;4BAAU;4BAC9Gz8B,UAAUwgB,KAAKzgB,KAAK;wBACtB;oBACA;oBACFygB,KAAKga,WAAW,IAAIha,KAAKga,WAAW,CAACt5B,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG82B,qBAAqBt2B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA2EJ,UAAUwgB,KAAKga,WAAW,CAAC74B,GAAG,CAAC,SAACoK;mCAAW,AAAgB,aAAH,GAAI,CAAA,GAAGisB,qBAAqBt2B,GAAE,AAAC,EACrR,UACA;gCACEkG,MAAM;gCACN5F,SAAS,SAATA;2CAAe6P,kBAAkB9F;;gCACjC3L,WAAW;gCACXgE,OAAO;oCACL0Z,YAAY;oCACZnX,iBAAiBiL,mBAAmB7F,SAAS,sBAAsB;oCACnEnG,OAAOgM,mBAAmB7F,SAAS,UAAU;gCAC/C;gCACA/L,UAAU+L;4BACZ,GACAA;;oBACC;oBACH,aAAa,GAAI,CAAA,GAAGisB,qBAAqBt2B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAiBJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGg4B,qBAAqBl2B,IAAG,AAAC,EACxI,OACA;4BACE1B,WAAW;4BACXgE,OAAO;gCAAEuC,iBAAiB61B;gCAAmB3Q,YAAY;4BAAoC;4BAC7F7rB,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EAC1C,OACA;oCACEtB,WAAW;oCACX+qB,SAAS;oCACT/mB,OAAO;wCAAEsnB,MAAM6Q;wCAAY1Q,YAAY;oCAAwB;oCAC/D7rB,UAAUk7B,aAAa,AAAgB,aAAH,GAAI,CAAA,GAAGlD,qBAAqBt2B,GAAE,AAAC,EAAE,QAAQ;wCAAE2L,GAAG;oCAA4B,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG2qB,qBAAqBt2B,GAAE,AAAC,EAAE,QAAQ;wCAAE2L,GAAG;oCAA6B;gCAC7M;gCAEF,aAAa,GAAI,CAAA,GAAG2qB,qBAAqBl2B,IAAG,AAAC,EAC3C,QACA;oCACE1B,WAAW;oCACXgE,OAAO;wCAAEwB,OAAO22B;wCAAYze,YAAY;wCAAkC+N,YAAY;oCAAyB;oCAC/G7rB,UAAU;wCACRkT,KAAKylB,GAAG,CAACsC;wCACT;qCACD;gCACH;6BAEH;wBACH;oBACA;iBACH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGjD,qBAAqBt2B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAkCJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EACxJ,OACA;oBACEtB,WAAW;oBACXgE,OAAO;wBAAEwB,OAAO;wBAAoBkY,YAAY;wBAAkC2e,eAAe;wBAAW5Q,YAAY;oBAA2B;oBACnJ7rB,UAAUq7B;gBACZ;YACA;YACF,aAAa,GAAI,CAAA,GAAGrD,qBAAqBl2B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA6FJ,UAAU;oBACxK,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBl2B,IAAG,AAAC,EAC3C,OACA;wBACE1B,WAAW;wBACX+qB,SAAS,AAAC,OAAoBoQ,OAAdD,YAAW,KAAe,OAAZC;wBAC9BmB,qBAAqB;wBACrB18B,UAAU;4BACR,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EAAE,QAAQ;gCAAE1B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EAAE,kBAAkB;oCAAEsG,IAAI2zB;oCAAYvQ,IAAI;oCAAMC,IAAI;oCAAMC,IAAI;oCAAMC,IAAI;oCAAQvrB,UAAUs8B,qBAAqB36B,GAAG,CAAC,SAACq4B;+CAAM,AAAgB,aAAH,GAAI,CAAA,GAAGhC,qBAAqBt2B,GAAE,AAAC,EAAE,QAAQ;4CAAE8pB,QAAQwO,EAAExO,MAAM;4CAAEC,WAAWuO,EAAEp0B,KAAK;wCAAC,GAAGo0B,EAAExO,MAAM;;gCAAG;4BAAG;4BACtV,aAAa,GAAI,CAAA,GAAGwM,qBAAqBt2B,GAAE,AAAC,EAAE,QAAQ;gCAAE2L,GAAGquB;gCAAUhQ,MAAM,AAAC,QAAkB,OAAXiQ,YAAW;gCAAIhQ,QAAQ;gCAAQvnB,OAAO;oCAAEynB,YAAY;gCAA4C;4BAAE;4BACrL,aAAa,GAAI,CAAA,GAAGmM,qBAAqBt2B,GAAE,AAAC,EAC1C,QACA;gCACE2L,GAAGouB;gCACH/P,MAAM;gCACNC,QAAQ4Q;gCACR7yB,aAAa;gCACbkiB,eAAe;gCACfgK,gBAAgB;gCAChBxxB,OAAO;oCAAEynB,YAAY;gCAA8C;4BACrE;4BAEFuO,iBAAiB,QAAQlC,MAAM,CAACkC,aAAa,IAAI,CAACuC,MAAMzE,MAAM,CAACkC,aAAa,CAAC9Q,CAAC,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAG0O,qBAAqBl2B,IAAG,AAAC,EAAEk2B,qBAAqBzuB,QAAQ,EAAE;gCAAEvJ,UAAU;oCAC3K,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBt2B,GAAE,AAAC,EAC1C,QACA;wCACE0pB,IAAI8M,MAAM,CAACkC,aAAa,CAAC9Q,CAAC;wCAC1B+B,IAAI;wCACJC,IAAI4M,MAAM,CAACkC,aAAa,CAAC9Q,CAAC;wCAC1BiC,IAAIgQ;wCACJ5P,QAAQ;wCACRjiB,aAAa;wCACboiB,iBAAiB;wCACjB1nB,OAAO;4CAAEiU,SAAS;4CAAGwT,YAAY;wCAAe;oCAClD;oCAEF,aAAa,GAAI,CAAA,GAAGmM,qBAAqBt2B,GAAE,AAAC,EAC1C,UACA;wCACEk7B,IAAI1E,MAAM,CAACkC,aAAa,CAAC9Q,CAAC;wCAC1BuT,IAAI3E,MAAM,CAACkC,aAAa,CAACjtB,CAAC;wCAC1B2vB,GAAG;wCACHpR,MAAM6Q;wCACN5Q,QAAQ;wCACRjiB,aAAa;wCACbtF,OAAO;4CAAEiU,SAAS;4CAAGwT,YAAY;wCAAe;oCAClD;iCAEH;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGmM,qBAAqBt2B,GAAE,AAAC,EAC1C,QACA;gCACE4nB,GAAG;gCACHnc,GAAG;gCACHrH,OAAOw1B;gCACPz1B,QAAQ01B;gCACR7P,MAAM;gCACNtnB,OAAO;oCAAEgU,QAAQ;gCAAY;gCAC7B2kB,aAAajB;gCACbzF,cAAc,SAAdA;2CAAoBgE,gBAAgB;;4BACtC;yBAEH;oBACH;oBAEFD,iBAAiB,QAAQlC,MAAM,CAACkC,aAAa,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAGpC,qBAAqBt2B,GAAE,AAAC,EAC3F,OACA;wBACEtB,WAAW;wBACXgE,OAAO;4BACLsW,MAAM4f,WAAWhR,CAAC;4BAClBvV,KAAKumB,WAAWntB,CAAC;4BACjBxG,iBAAiB;4BACjBf,OAAO;4BACPkY,YAAY;4BACZzG,WAAW;4BACX0b,WAAW;4BACXvb,QAAQ;4BACRa,SAAS;4BACTwT,YAAY;wBACd;wBACA7rB,UAAUk4B,MAAM,CAACkC,aAAa,CAACx/B,KAAK,CAAC4kB,cAAc;oBACrD;iBAEH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGwY,qBAAqBt2B,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBAAE44B,WAAW;gBAAkC;gBACtDh9B,UAAU;oBAACm7B;oBAAkBC;iBAAiB,CAACz5B,GAAG,CAAC,SAACs7B,MAAMx7B;2BAAM,AAAgB,aAAH,GAAI,CAAA,GAAGu2B,qBAAqBt2B,GAAE,AAAC,EAC1G,QACA;wBACEtB,WAAW;wBACXgE,OAAO;4BAAEwB,OAAO;4BAAuBkY,YAAY;4BAAkC+N,YAAY;wBAA2B;wBAC5H7rB,UAAUi9B;oBACZ,GACAx7B;;YAEJ;SAEH;IACH;AAEJ;AACA04B,SAASh4B,WAAW,GAAG;AAEvB,mCAAmC;AACnC,IAAI+6B,uBAAuBt9B,QAAQ;AACnC,IAAIu9B,qBAAqB;IACvBC,SAAS;IACTC,QAAQ;IACRC,MAAM;IACNC,MAAM;AACR;AACA,IAAIC,gBAAgB;QAClBz9B,cAAAA,OACA09B,eAAAA,QACAC,gBAAAA,SACApG,oBAAAA;IAEA,IAAMqG,aAAaF,UAAU,EAAE;IAC/B,IAAM9G,WAAWW,CAAAA,wBAAAA,kCAAAA,YAAa/S,GAAG,KAAI;IACrC,IAAMiT,WAAWF,CAAAA,wBAAAA,kCAAAA,YAAa1S,GAAG,KAAI;IACrC,IAAM6S,cAAcH,CAAAA,wBAAAA,kCAAAA,YAAalJ,MAAM,KAAI;QAAC;QAAG;QAAI;QAAI;QAAI;QAAK;KAAI;IACpE,IAAMwP,cAAc;QAClB,IAAI,CAACF,WAAWA,QAAQx8B,MAAM,KAAK,GAAG,OAAOi8B;QAC7C,IAAMU,WAAW,CAAC;QAClBH,QAAQlI,OAAO,CAAC,SAAC5M;YACfiV,QAAQ,CAACjV,OAAOruB,GAAG,CAAC,GAAGquB,OAAOhjB,KAAK;QACrC;QACA,OAAOi4B;IACT;IACA,IAAMC,aAAaF;IACnB,IAAMhG,kBAAkB,yBAACh9B;QACvB,IAAI+7B,aAAaa,UAAU,OAAO;QAClC,OAAOtkB,KAAKqR,GAAG,CAAC,GAAGrR,KAAK0R,GAAG,CAAC,KAAK,AAAChqB,CAAAA,QAAQ48B,QAAO,IAAMb,CAAAA,WAAWa,QAAO,IAAK;IAChF;IACA,IAAMuG,kBAAkB,yBAACC;QACvB,IAAIA,MAAMC,YAAY,KAAK,KAAK,KAAKD,MAAMC,YAAY,KAAK,MAAM,OAAOD,MAAMC,YAAY;QAC3F,OAAOD,MAAMZ,OAAO,GAAGY,MAAMT,IAAI;IACnC;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGL,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+BJ,UAAU;YACjH,aAAa,GAAI,CAAA,GAAGk9B,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EAC1C,OACA;wBACE0C,OAAO;4BAAEwB,OAAO;4BAAqBkY,YAAY;4BAAuBnH,UAAU;4BAAQkU,YAAY;wBAAI;wBAC1GzqB,WAAW;wBACXJ,UAAUD;oBACZ;oBAEF,aAAa,GAAI,CAAA,GAAGm9B,qBAAqBx7B,GAAE,AAAC,EAAE,UAAU;wBAAEtB,WAAW;wBAA6JJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;4BAAEtB,WAAW;4BAA2BJ,UAAU;gCAAC;gCAAG;gCAAG;6BAAE,CAAC2B,GAAG,CAAC,SAACF;uCAAM,AAAgB,aAAH,GAAI,CAAA,GAAGy7B,qBAAqBx7B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;oCAA8CgE,OAAO;wCAAEuC,iBAAiB;oCAAsB;gCAAE,GAAGlF;;wBAAI;oBAAG;iBACthB;YAAC;YACF,aAAa,GAAI,CAAA,GAAGy7B,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAsDJ,UAAU;oBACjI,aAAa,GAAI,CAAA,GAAGk9B,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAwCJ,UAAU;4BACnH,aAAa,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAA8DgE,OAAO;oCAAE0B,OAAO;oCAAQD,QAAQ;gCAAQ;gCAAG7F,UAAUy3B,YAAYX,KAAK,GAAGE,OAAO,GAAGr1B,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAG4X,qBAAqBx7B,GAAE,AAAC,EACjR,QACA;wCACE0C,OAAO;4CAAEwB,OAAO;4CAAoBkY,YAAY;4CAAuBnH,UAAU;4CAAQkU,YAAY;wCAAI;wCACzGzqB,WAAW;wCACXJ,UAAU2J;oCACZ,GACA2b;;4BACC;4BACH,aAAa,GAAI,CAAA,GAAG4X,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAiCgE,OAAO;oCAAEyB,QAAQ;gCAAQ;gCAAG7F,UAAU;oCACxI,aAAa,GAAI,CAAA,GAAGk9B,qBAAqBp7B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAwCJ,UAAU;4CACnHy3B,YAAY91B,GAAG,CAAC,SAACgI,OAAO2b;gDACtB,IAAM/c,WAAW,MAAM,AAACoB,CAAAA,QAAQ8tB,WAAW,CAAC,EAAC,AAAC,IAAKA,CAAAA,WAAW,CAACA,YAAYv2B,MAAM,GAAG,EAAE,GAAGu2B,WAAW,CAAC,EAAC,AAAC,IAAI;gDAC3G,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGyF,qBAAqBx7B,GAAE,AAAC,EACjD,OACA;oDACEtB,WAAW;oDACXgE,OAAO;wDAAE2P,KAAK,AAAC,GAAW,OAATxL,UAAS;wDAAI5B,iBAAiB;oDAAsB;gDACvE,GACA2e;4CAEJ;4CACA,aAAa,GAAI,CAAA,GAAG4X,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgDgE,OAAO;oDAAEuC,iBAAiB;gDAAsB;4CAAE;4CACpK,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAkDgE,OAAO;oDAAEuC,iBAAiB;gDAAsB;4CAAE;yCACvK;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGu2B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAsEJ,UAAU29B,WAAWh8B,GAAG,CAAC,SAACq8B,OAAO38B;4CACvK,IAAM68B,oBAAoBH,gBAAgBC;4CAC1C,IAAMG,eAAeD,qBAAqB;4CAC1C,IAAME,kBAAkBD,eAAeL,WAAWT,MAAM,GAAGS,WAAWR,IAAI;4CAC1E,IAAMe,qBAAqBnrB,KAAKylB,GAAG,CAACuF;4CACpC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGhB,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA4EJ,UAAU;oDAC7J;wDAAEpF,OAAOojC,MAAMZ,OAAO;wDAAEx3B,OAAOk4B,WAAWV,OAAO;oDAAC;oDAClD;wDAAExiC,OAAOyjC;wDAAoBz4B,OAAOw4B;oDAAgB;oDACpD;wDAAExjC,OAAOojC,MAAMT,IAAI;wDAAE33B,OAAOk4B,WAAWP,IAAI;oDAAC;iDAC7C,CAAC57B,GAAG,CAAC,gBAAmB28B;wDAAhB1jC,cAAAA,OAAOgL,cAAAA;2DAAoB,AAAgB,aAAH,GAAI,CAAA,GAAGs3B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA8EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EACxO,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAEyB,QAAQ,AAAC,GAAyB,OAAvB+xB,gBAAgBh9B,QAAO;gEAAIsL,YAAYN;4DAAM;4DACjE5F,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EACpD,OACA;gEACEtB,WAAW;gEACXgE,OAAO;oEACL2P,KAAK;oEACLnO,OAAO;oEACPkY,YAAY;oEACZnH,UAAU;oEACVkU,YAAY;gEACd;gEACA7qB,UAAUpF,MAAM6kB,QAAQ;4DAC1B;wDAEJ;oDACA,GAAG6e;;4CAAS,GAAG,AAAC,GAAgBj9B,OAAd28B,MAAMjkC,IAAI,EAAC,KAAS,OAANsH;wCACpC;oCAAG;iCACJ;4BAAC;yBACH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAG67B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAqCgE,OAAO;4BAAEmU,YAAY;4BAAQzS,OAAO;wBAAoB;wBAAG9F,UAAU29B,WAAWh8B,GAAG,CAAC,SAACq8B,OAAO38B;mCAAU,AAAgB,aAAH,GAAI,CAAA,GAAG67B,qBAAqBx7B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAuDJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGk9B,qBAAqBx7B,GAAE,AAAC,EAC1X,QACA;oCACE0C,OAAO;wCACLwB,OAAO;wCACPkY,YAAY;wCACZnH,UAAU;wCACVkU,YAAY;wCACZ0T,WAAW;wCACXC,WAAW;wCACXC,cAAc;wCACdnM,YAAY;wCACZnE,YAAY;oCACd;oCACA/tB,WAAW;oCACXJ,UAAUg+B,MAAMjkC,IAAI;gCACtB;4BACA,GAAGsH;;oBAAQ;iBACd;YAAC;SACH;IAAC;AACJ;AACAm8B,cAAcr7B,WAAW,GAAG;AAE5B,mCAAmC;AACnC,IAAIu8B,iBAAiB9+B,QAAQ;AAC7B,IAAI++B,uBAAuB/+B,QAAQ;AACnC,IAAIg/B,kBAAkB;IACpBC,aAAa;IACbC,aAAa;IACbC,UAAU;AACZ;AACA,IAAIC,gBAAgB;QAClBj/B,cAAAA,OACAygB,aAAAA,MACAkd,gBAAAA,SACApG,oBAAAA;IAEA,IAA8B,wBAAA,AAAC,CAAA,GAAGoH,eAAe59B,QAAO,AAAC,EAAE,WAApDgoB,UAAuB,SAAdmW,aAAc;IAC9B,IAAMC,WAAW1e,QAAQ,EAAE;IAC3B,IAAMmW,WAAWW,CAAAA,wBAAAA,kCAAAA,YAAa/S,GAAG,KAAI;IACrC,IAAMiT,WAAWF,CAAAA,wBAAAA,kCAAAA,YAAa1S,GAAG,KAAI;IACrC,IAAM6S,cAAcH,CAAAA,wBAAAA,kCAAAA,YAAalJ,MAAM,KAAI;QAAC;QAAG;QAAI;QAAI;QAAI;QAAK;KAAI;IACpE,IAAMwP,cAAc;QAClB,IAAI,CAACF,WAAWA,QAAQx8B,MAAM,KAAK,GAAG,OAAO09B;QAC7C,IAAMf,WAAW,CAAC;QAClBH,QAAQlI,OAAO,CAAC,SAAC5M;YACfiV,QAAQ,CAACjV,OAAOruB,GAAG,CAAC,GAAGquB,OAAOhjB,KAAK;QACrC;QACA,OAAOi4B;IACT;IACA,IAAMsB,SAASvB;IACf,IAAMwB,WAAW,kBAAC7kC;QAChB,IAAImjC,WAAWA,QAAQx8B,MAAM,GAAG,GAAG;YACjC,IAAM0nB,SAAS8U,QAAQrjB,IAAI,CAAC,SAACglB;uBAAMA,EAAE9kC,GAAG,KAAKA;;YAC7C,IAAIquB,QAAQ,OAAOA,OAAOjf,KAAK;QACjC;QACA,IAAM21B,gBAAgB;YACpBT,aAAa;YACbC,aAAa;YACbC,UAAU;QACZ;QACA,OAAOO,aAAa,CAAC/kC,IAAI,IAAIA;IAC/B;IACA,IAAMm9B,cAAc,qBAAC98B;QACnB,IAAIA,SAAS,KAAK,OAAO,AAAC,IAA4B,OAAzB,AAACA,CAAAA,QAAQ,GAAE,EAAG+8B,OAAO,CAAC,IAAG;QACtD,OAAO,AAAC,IAAS,OAAN/8B;IACb;IACA,IAAMg9B,kBAAkB,yBAACh9B;QACvB,IAAI+7B,aAAaa,UAAU,OAAO;QAClC,OAAOtkB,KAAKqR,GAAG,CAAC,GAAGrR,KAAK0R,GAAG,CAAC,KAAK,AAAChqB,CAAAA,QAAQ48B,QAAO,IAAMb,CAAAA,WAAWa,QAAO,IAAK;IAChF;IACA,IAAM+H,0BAA0B,iCAACrrB,OAAOqgB,SAAS3sB;QAC/C,IAAM4S,OAAOtG,MAAMkiB,aAAa,CAAC5iB,qBAAqB;QACtDyrB,WAAW;YAAEh0B,KAAKspB,QAAQtpB,GAAG;YAAErD,MAAAA;YAAMhN,OAAO25B,OAAO,CAAC3sB,KAAK;YAAE+B,OAAOy1B,SAASx3B;YAAO0hB,GAAG9O,KAAKE,IAAI,GAAGF,KAAK1U,KAAK,GAAG;YAAGqH,GAAGqN,KAAKzG,GAAG;QAAC;IAC/H;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG4qB,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA+BJ,UAAU;YACjH,aAAa,GAAI,CAAA,GAAG2+B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAG2+B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;wBAAE0C,OAAO;4BAAEwB,OAAO;4BAAqBkY,YAAY;4BAAuBnH,UAAU;4BAAQkU,YAAY;wBAAI;wBAAGzqB,WAAW;wBAAgBJ,UAAUD;oBAAM;oBAC/M,aAAa,GAAI,CAAA,GAAG4+B,qBAAqBj9B,GAAE,AAAC,EAAE,UAAU;wBAAEtB,WAAW;wBAA6JJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2+B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;4BAAEtB,WAAW;4BAA2BJ,UAAU;gCAAC;gCAAG;gCAAG;6BAAE,CAAC2B,GAAG,CAAC,SAACF;uCAAM,AAAgB,aAAH,GAAI,CAAA,GAAGk9B,qBAAqBj9B,GAAE,AAAC,EAAE,QAAQ;oCAAEtB,WAAW;oCAA8CgE,OAAO;wCAAEuC,iBAAiB;oCAAsB;gCAAE,GAAGlF;;wBAAI;oBAAG;iBACthB;YAAC;YACF,aAAa,GAAI,CAAA,GAAGk9B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAsDJ,UAAU;oBACjI,aAAa,GAAI,CAAA,GAAG2+B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAwCJ,UAAU;4BACnH,aAAa,GAAI,CAAA,GAAG2+B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAgEgE,OAAO;oCAAE0B,OAAO;oCAAQD,QAAQ;gCAAQ;gCAAG7F,UAAUy3B,YAAYX,KAAK,GAAGE,OAAO,GAAGr1B,GAAG,CAAC,SAACgI,OAAO2b;2CAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGqZ,qBAAqB78B,IAAG,AAAC,EAAE,QAAQ;wCAAEsC,OAAO;4CAAEwB,OAAO;4CAAoBkY,YAAY;4CAAuBnH,UAAU;4CAAQkU,YAAY;wCAAI;wCAAGzqB,WAAW;wCAAcJ,UAAU;4CAC/a;4CACA2J;yCACD;oCAAC,GAAG2b;;4BAAM;4BACX,aAAa,GAAI,CAAA,GAAGqZ,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAiCgE,OAAO;oCAAEyB,QAAQ;gCAAQ;gCAAG7F,UAAU;oCACxI,aAAa,GAAI,CAAA,GAAG2+B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAwCJ,UAAU;4CACnHy3B,YAAY91B,GAAG,CAAC,SAACgI,OAAO2b;gDACtB,IAAM/c,WAAW,MAAM,AAACoB,CAAAA,QAAQ8tB,WAAW,CAAC,EAAC,AAAC,IAAKA,CAAAA,WAAW,CAACA,YAAYv2B,MAAM,GAAG,EAAE,GAAGu2B,WAAW,CAAC,EAAC,AAAC,IAAI;gDAC3G,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGkH,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAAsCgE,OAAO;wDAAE2P,KAAK,AAAC,GAAW,OAATxL,UAAS;wDAAI5B,iBAAiB;oDAAsB;gDAAE,GAAG2e;4CAC3L;4CACA,aAAa,GAAI,CAAA,GAAGqZ,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgDgE,OAAO;oDAAEuC,iBAAiB;gDAAsB;4CAAE;4CACpK,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAkDgE,OAAO;oDAAEuC,iBAAiB;gDAAsB;4CAAE;yCACvK;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGg4B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAsEJ,UAAUk/B,SAASv9B,GAAG,CAAC,SAAC4yB,SAASlzB;4CACvK,IAAMm+B,QAAQjL,QAAQsK,WAAW,GAAGtK,QAAQuK,WAAW,GAAGvK,QAAQwK,QAAQ;4CAC1E,IAAMU,cAAc7H,gBAAgB4H;4CACpC,IAAME,qBAAqBF,QAAQ,IAAIjL,QAAQsK,WAAW,GAAGW,QAAQ,MAAM;4CAC3E,IAAMG,qBAAqBH,QAAQ,IAAIjL,QAAQuK,WAAW,GAAGU,QAAQ,MAAM;4CAC3E,IAAMI,kBAAkBJ,QAAQ,IAAIjL,QAAQwK,QAAQ,GAAGS,QAAQ,MAAM;4CACrE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGb,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAoFJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2+B,qBAAqB78B,IAAG,AAAC,EAClN,OACA;oDACE1B,WAAW;oDACXgE,OAAO;wDAAEyB,QAAQ,AAAC,GAAc,OAAZ45B,aAAY;oDAAG;oDACnCz/B,UAAU;wDACR,aAAa,GAAI,CAAA,GAAG2+B,qBAAqBj9B,GAAE,AAAC,EAC1C,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAE2P,KAAK;gEAASnO,OAAO;gEAAoBkY,YAAY;4DAAsB;4DACpF9d,UAAU03B,YAAY8H;wDACxB;wDAEFjL,QAAQwK,QAAQ,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGJ,qBAAqBj9B,GAAE,AAAC,EAClE,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAEyB,QAAQ,AAAC,GAAkB,OAAhB+5B,iBAAgB;gEAAIj5B,iBAAiBw4B,OAAOJ,QAAQ,IAAIH,gBAAgBG,QAAQ;4DAAC;4DACrG5I,cAAc,SAAdA,aAAetuB;uEAAM03B,wBAAwB13B,GAAG0sB,SAAS;;4DACzD8B,cAAc,SAAdA;uEAAoB4I,WAAW;;wDACjC;wDAEF1K,QAAQuK,WAAW,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGH,qBAAqBj9B,GAAE,AAAC,EACrE,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAEyB,QAAQ,AAAC,GAAqB,OAAnB85B,oBAAmB;gEAAIh5B,iBAAiBw4B,OAAOL,WAAW,IAAIF,gBAAgBE,WAAW;4DAAC;4DAC9G3I,cAAc,SAAdA,aAAetuB;uEAAM03B,wBAAwB13B,GAAG0sB,SAAS;;4DACzD8B,cAAc,SAAdA;uEAAoB4I,WAAW;;wDACjC;wDAEF1K,QAAQsK,WAAW,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGF,qBAAqBj9B,GAAE,AAAC,EACrE,OACA;4DACEtB,WAAW;4DACXgE,OAAO;gEAAEyB,QAAQ,AAAC,GAAqB,OAAnB65B,oBAAmB;gEAAI/4B,iBAAiBw4B,OAAON,WAAW,IAAID,gBAAgBC,WAAW;4DAAC;4DAC9G1I,cAAc,SAAdA,aAAetuB;uEAAM03B,wBAAwB13B,GAAG0sB,SAAS;;4DACzD8B,cAAc,SAAdA;uEAAoB4I,WAAW;;wDACjC;qDAEH;gDACH;4CACA,GAAG,AAAC,GAAiB59B,OAAfkzB,QAAQtpB,GAAG,EAAC,KAAS,OAAN5J;wCACzB;oCAAG;iCACJ;4BAAC;yBACH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGs9B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAqCgE,OAAO;4BAAEmU,YAAY;4BAAQzS,OAAO;wBAAoB;wBAAG9F,UAAUk/B,SAASv9B,GAAG,CAAC,SAAC4yB,SAASlzB;mCAAU,AAAgB,aAAH,GAAI,CAAA,GAAGs9B,qBAAqBj9B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAqEJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG2+B,qBAAqBj9B,GAAE,AAAC,EACxY,QACA;oCACE0C,OAAO;wCACLwB,OAAO;wCACPkY,YAAY;wCACZnH,UAAU;wCACVkU,YAAY;wCACZ0T,WAAW;wCACXC,WAAW;wCACXC,cAAc;wCACdnM,YAAY;wCACZnE,YAAY;oCACd;oCACA/tB,WAAW;oCACXJ,UAAUu0B,QAAQtpB,GAAG;gCACvB;4BACA,GAAG5J;;oBAAQ;iBACd;YAAC;YACFynB,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAG6V,qBAAqB78B,IAAG,AAAC,EACtD,OACA;gBACE1B,WAAW;gBACXgE,OAAO;oBACLsW,MAAMoO,QAAQQ,CAAC;oBACfvV,KAAK+U,QAAQ3b,CAAC;oBACdxG,iBAAiB;oBACjBk5B,gBAAgB;oBAChBj6B,OAAO;oBACPkY,YAAY;oBACZiV,WAAW;oBACXvb,QAAQ;oBACRH,WAAW;oBACXgB,SAAS;gBACX;gBACArY,UAAU;oBACR,aAAa,GAAI,CAAA,GAAG2+B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA2CgE,OAAO;4BAAEwB,OAAO;wBAAkB;wBAAG5F,UAAU;4BAC3J8oB,QAAQ7d,GAAG;4BACX;4BACA6d,QAAQnf,KAAK;yBACd;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGg1B,qBAAqB78B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAwCgE,OAAO;4BAAEwB,OAAO;wBAAgB;wBAAG5F,UAAU;4BACtJ;4BACA8oB,QAAQluB,KAAK;yBACd;oBAAC;iBACH;YACH;SAEH;IAAC;AACJ;AACAokC,cAAc78B,WAAW,GAAG;AAE5B,gDAAgD;AAChD,IAAI29B,uBAAuBlgC,QAAQ;AACnC,IAAImgC,YAAY,mBAAC3yB;IACf,IAAI,OAAOA,MAAM,UAAU,OAAOA;IAClC,IAAM4Y,OAAO5Y;IACb,IAAI,QAAO4Y,iBAAAA,2BAAAA,KAAMC,GAAG,MAAK,UAAU,OAAOD,KAAKC,GAAG;IAClD,IAAM5Y,IAAI2Y,iBAAAA,2BAAAA,KAAMliB,OAAO;IACvB,IAAI,OAAOuJ,MAAM,UAAU,OAAOA;IAClC,IAAI,QAAOA,cAAAA,wBAAAA,EAAG4Y,GAAG,MAAK,UAAU,OAAO5Y,EAAE4Y,GAAG;IAC5C,OAAO;AACT;AACA,IAAI+Z,iBAAiB;IACnBC,qBAAqB;IACrBC,cAAc;IACdC,cAAc;IACdC,cAAc;AAChB;AACA,IAAIC,aAAa,oBAACC,UAAUC;IAC1B,IAAMta,MAAM8Z,UAAUO;IACtB,OAAOra,OAAOsa;AAChB;AACA,IAAIN,sBAAsB;AAC1B,IAAIC,eAAe;AACnB,IAAIC,eAAe;AACnB,IAAIC,eAAe;AACnB,IAAI;IACFH,sBAAsBhlC;IACtBilC,eAAehlC;IACfilC,eAAehlC;IACfilC,eAAehlC;AACjB,EAAE,OAAOyM,GAAG,CACZ;AACA,IAAI24B,eAAe,sBAAC56B;IAClB,IAAM66B,IAAI,OAAO76B,UAAU,WAAWA,MAAMhC,WAAW,KAAK;IAC5D,IAAI68B,EAAEx6B,UAAU,CAAC,YAAYw6B,EAAEx6B,UAAU,CAAC,SAAS,OAAOw6B;IAC1D,IAAM9+B,MAAM;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;IACb;IACA,OAAOA,GAAG,CAAC8+B,EAAE,IAAK,CAAA,OAAO76B,UAAU,WAAWA,QAAQ,SAAQ;AAChE;AACA,IAAI86B,kBAAkB,yBAACznB;IACrB,IAAM0nB,eAAe;QACnB,eAAe;YAAEC,WAAW;YAAqBj6B,iBAAiB;QAAuB;QACzF,WAAW;YAAEi6B,WAAW;YAAqBj6B,iBAAiB;QAAuB;QACrF,aAAa;YAAEi6B,WAAW;YAAsBj6B,iBAAiB;QAAwB;IAC3F;IACA,OAAOg6B,YAAY,CAAC1nB,OAAO,IAAI0nB,YAAY,CAAC,cAAc;AAC5D;AACA,IAAIE,WAAW,kBAACj5B;IACd,IAAIA,SAAS,QAAQ,OAAO;IAC5B,IAAIA,SAAS,UAAU,OAAO;IAC9B,IAAIA,SAAS,SAAS,OAAO;IAC7B,IAAIA,SAAS,aAAa,OAAO;IACjC,IAAIA,SAAS,SAAS,OAAO;IAC7B,IAAIA,SAAS,mBAAmB,OAAO;IACvC,IAAIA,SAAS,iBAAiB,OAAO;IACrC,IAAIA,SAAS,eAAe,OAAO;IACnC,IAAIA,SAAS,YAAY,OAAO;IAChC,IAAIA,SAAS,YAAY,OAAO;IAChC,IAAIA,SAAS,YAAY,OAAO;IAChC,IAAIA,SAAS,OAAO,OAAO;IAC3B,OAAO,AAAC,GAA+C,OAA7CA,KAAKk5B,MAAM,CAAC,GAAGC,WAAW,KAAKn5B,KAAKkvB,KAAK,CAAC,IAAG;AACzD;AACA,IAAIkK,iBAAiB;WAAM,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBp+B,GAAE,AAAC,EACrE,UACA;QACEkG,MAAM;QACNxH,WAAW;QACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAAcJ,UAAU;gBACnG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oBAAEtB,WAAW;gBAAgD;gBACnH,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oBAAEtB,WAAW;gBAAgD;gBACnH,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oBAAEtB,WAAW;gBAAgD;aACpH;QAAC;IACJ;;AAEF,IAAIrD,6BAA6B;QAC/BgD,cAAAA,OACAkhC,mBAAAA,YACAC,yBAAAA,kBACAC,gBAAAA,SACAC,qBAAAA,cACAC,wBAAAA,iBACAC,qBAAAA,cACAC,mBAAAA,YACAC,kBAAAA,WACAC,0BAAAA,mBACAC,wBAAAA,iBACAC,qBAAAA,cACAC,qBAAAA,cACAC,qBAAAA,cACAC,gBAAAA,SACAC,sBAAAA,eACAC,kBAAAA,WACAC,oBAAAA,aACAvO,4BAAAA,qBACAwO,uBAAAA,gBACAC,mBAAAA,YACAC,sBAAAA,eACAC,0BAAAA,mBACAC,wBAAAA,iBACAC,gBAAAA;QAugBoLR,oBAAAA,mBAAAA,kBAAAA;IArgBpL,IAAkC,wBAAA,AAAC,CAAA,GAAGnc,eAAe9kB,QAAO,AAAC,EAAEogC,uBAAxD9Y,YAA2B,SAAhBoa,eAAgB;IAClC,IAAwD,yBAAA,AAAC,CAAA,GAAG5c,eAAe9kB,QAAO,AAAC,EAAE,kBAA9E2hC,uBAAiD,UAA3BC,0BAA2B;IACxD,IAA4E,yBAAA,AAAC,CAAA,GAAG9c,eAAe9kB,QAAO,AAAC,EAAE,kBAAlG6hC,iCAAqE,UAArCC,oCAAqC;IAC5E,IAAwC,yBAAA,AAAC,CAAA,GAAGhd,eAAe9kB,QAAO,AAAC,EAAEugC,sBAA9DwB,eAAiC,UAAnBC,kBAAmB;IACvC,CAAA,GAAGld,eAAe5c,SAAQ,AAAC,EAAE;QAC5B85B,gBAAgBzB;IAClB,GAAG;QAACA;KAAgB;IACpB,IAAM0B,iBAAiB,AAAC,CAAA,GAAGnd,eAAee,OAAM,AAAC,EAAE;QACjD,IAAIya,gBAAgBA,YAAY,CAAChZ,UAAU,EAAE,OAAOgZ,YAAY,CAAChZ,UAAU,IAAI,EAAE;QACjF,OAAO+Y;IACT,GAAG;QAAC/Y;QAAWgZ;QAAcD;KAAQ;IACrC,IAAM6B,cAAc,AAAC,CAAA,GAAGpd,eAAee,OAAM,AAAC,EAAE;QAC9C,IAAMP,OAAOkb,YAAY,CAAClZ,UAAU;QACpC,IAAIA,cAAc,UAAUhC,MAAM,OAAO0B,qBAAqB1B;QAC9D,OAAOA;IACT,GAAG;QAACkb;QAAclZ;KAAU;IAC5B,IAAME,eAAeF,cAAc,UAAUA,cAAc;IAC3D,IAAM6a,cAAc7a,cAAc,SAASA,cAAc;IACzD,IAAM8a,gBAAgB,AAAC,CAAA,GAAGtd,eAAee,OAAM,AAAC,EAAE;QAChD,IAAIyB,cAAc,aAAYmZ,uBAAAA,iCAAAA,WAAYnX,OAAO,GAAE;YACjD,OAAOmX,WAAWnX,OAAO,CAACzoB,GAAG,CAAC,SAACwhC;gBAC7B,IAAM9Y,qBAAqBnX,KAAKC,KAAK,CAACgwB,OAAO7Y,QAAQ,GAAG6Y,OAAOtpC,MAAM,GAAG;gBACxE,OAAO;oBAAE8P,OAAOw5B,OAAOppC,IAAI;oBAAEa,OAAO,AAAC,GAAqB,OAAnByvB,oBAAmB;oBAAS/J,aAAa,AAAC,GAAqB,OAAnB+J,oBAAmB;oBAAuBzkB,OAAO;gBAAwB;YAC9J;QACF;QACA,OAAO,EAAE;IACX,GAAG;QAACwiB;QAAWmZ;KAAW;IAC1B,IAAM6B,mBAAmB,AAAC,CAAA,GAAGxd,eAAee,OAAM,AAAC,EAAE;QACnD,IAAIyB,cAAc,WAAW4Z,WAAW;gBAGrBA;YAFjB,IAAMn3B,OAAOg4B,YAAY,CAAC,aAAa,IAAI;YAC3C,IAAMj7B,OAAOi7B,YAAY,CAAC,aAAa,IAAI;YAC3C,IAAMQ,YAAWrB,kBAAAA,SAAS,CAACn3B,KAAK,cAAfm3B,sCAAAA,eAAiB,CAACp6B,KAAK;YACxC,IAAI,CAACy7B,UAAU,OAAO,KAAK;YAC3B,IAAIZ,yBAAyB,aAAa;gBACxC,OAAO;oBACL1iC,OAAO,AAAC,GAAsB0iC,OAApBY,SAAStjC,KAAK,EAAC,OAA0B,OAArB0iC;oBAC9Ba,aAAa,AAAC,GAA4Bb,OAA1BY,SAASC,WAAW,EAAC,OAA0B,OAArBb;oBAC1C/P,OAAO2Q,SAAS3Q,KAAK,CAAC/wB,GAAG,CAAC,SAACwxB;wBACzB,IAAMoQ,cAAcrwB,KAAKqR,GAAG,CAAC,GAAG4O,KAAKqQ,QAAQ,GAAG;wBAChD,IAAIC,YAAYtQ,KAAKla,MAAM;wBAC3B,IAAIka,KAAKqQ,QAAQ,IAAI,MAAMrQ,KAAKla,MAAM,KAAK,aAAawqB,YAAY;wBACpE,OAAO,wCAAKtQ;4BAAMqQ,UAAUD;4BAAatqB,QAAQwqB;;oBACnD;gBACF;YACF;YACA,OAAO,wCAAKJ;gBAAUtjC,OAAO,AAAC,GAAsB0iC,OAApBY,SAAStjC,KAAK,EAAC,OAA0B,OAArB0iC;gBAAwBa,aAAa,AAAC,GAA4Bb,OAA1BY,SAASC,WAAW,EAAC,OAA0B,OAArBb;;QACxH;QACA,OAAO,KAAK;IACd,GAAG;QAACra;QAAW4Z;QAAWX;QAAiBoB;KAAqB;IAChE,IAAMiB,mCAAmC,AAAC,CAAA,GAAG9d,eAAee,OAAM,AAAC,EAAE;QACnE,IAAIyB,cAAc,mBAAmB,CAACqZ,mBAAmB,OAAO,KAAK;QACrE,IAAMxS,eAAe4T,YAAY,CAAC,aAAa,IAAI;QACnD,IAAM3T,gBAAgB2T,YAAY,CAAC,cAAc,IAAI;QACrD,IAAMc,WAAWlC,iBAAiB,CAACxS,aAAa;QAChD,IAAM2U,YAAYD,qBAAAA,+BAAAA,QAAU,CAACzU,cAAc;QAC3C,IAAI,CAAC0U,WAAW,OAAO,KAAK;QAC5B,IAAMC,aAAa;YAAC;YAAW;YAAY;YAAS;YAAS;YAAO;YAAQ;YAAQ;YAAU;YAAa;YAAW;YAAY;SAAW;QAC7I,IAAMC,oBAAoBD,WAAWE,OAAO,CAAC7U;QAC7C,IAAM3a,gBAAgBuvB,oBAAoB,IAAID,UAAU,CAACC,oBAAoB,EAAE,GAAG;QAClF,IAAME,eAAeF,oBAAoB,IAAI7U,eAAelkB,OAAO6M,OAAOqX,gBAAgB;QAC1F,IAAMgV,mBAAmBxC,iBAAiB,CAACuC,aAAa;QACxD,IAAME,oBAAoBD,6BAAAA,uCAAAA,gBAAkB,CAAC1vB,cAAc;QAC3D,IAAM4vB,WAAWzrC,OAAO0rC,IAAI,CAACR;QAC7B,IAAIS,aAAa,GAAGC,aAAa,IAAIC,aAAaC,UAAUC,oBAAoB;QAChFN,SAAS3O,OAAO,CAAC,SAACkP;YAChB,IAAMtH,UAAUwG,SAAS,CAACc,QAAQ,CAACC,OAAO;YAC1C,IAAIvH,UAAUiH,YAAY;gBACxBA,aAAajH;gBACbkH,aAAaI;YACf;YACA,IAAItH,UAAUmH,YAAY;gBACxBA,aAAanH;gBACbqH,oBAAoBC;YACtB;QACF;QACA,IAAIzJ,mBAAmB,GAAG2J,aAAa;QACvC,IAAIV,qBAAqBA,iBAAiB,CAACI,WAAW,EAAE;YACtD,IAAMO,MAAMjB,SAAS,CAACU,WAAW,CAACK,OAAO,EAAEtrB,OAAO6qB,iBAAiB,CAACI,WAAW,CAACK,OAAO;YACvF,IAAItrB,SAAS,GAAG;gBACd4hB,mBAAmB,AAAC4J,CAAAA,MAAMxrB,IAAG,IAAKA,OAAO;gBACzCurB,aAAa3J,oBAAoB;YACnC;QACF;QACA,IAAM6J,iBAAiBlB,SAAS,CAACU,WAAW;QAC5C,OAAO;YAAES,UAAU;YAAYhrC,MAAMuqC;YAAYlH,SAAS,AAAC,GAAyB,OAAvB0H,eAAeH,OAAO,EAAC;YAAItH,QAAQ,AAAC,GAAwB,OAAtByH,eAAeE,MAAM,EAAC;YAAIC,YAAYR;YAAmBS,QAAQ,AAAC,GAAwC,OAAtChyB,KAAKylB,GAAG,CAACsC,kBAAkBtD,OAAO,CAAC,IAAG;YAAIiN,YAAAA;QAAW;IAC9N,GAAG;QAACxc;QAAWqZ;QAAmBJ;KAAgB;IAClD,IAAM8D,2BAA2B,AAAC,CAAA,GAAGvf,eAAee,OAAM,AAAC,EAAE;YAMtD+M,mCAAAA;QALL,IAAM0R,QAAQ;YAAEC,SAAS;gBAAEz6B,MAAM;gBAAI06B,SAAS;gBAAI1qC,OAAO;YAAE;YAAG2qC,eAAe;gBAAED,SAAS;gBAAIE,OAAO;gBAAGC,SAAS;YAAE;QAAE;QACnH,IAAIrd,cAAc,qBAAqB,CAACsL,qBAAqB,OAAO0R;QACpE,IAAMv6B,OAAOg4B,YAAY,CAAC,aAAa,IAAI;QAC3C,IAAMj7B,OAAOi7B,YAAY,CAAC,aAAa,IAAI;QAC3C,IAAM7P,UAAU2P;QAChB,IAAI,GAACjP,+BAAAA,mBAAmB,CAACV,QAAQ,cAA5BU,oDAAAA,oCAAAA,4BAA8B,CAAC7oB,KAAK,cAApC6oB,wDAAAA,iCAAsC,CAAC9rB,KAAK,GAAE,OAAOw9B;QAC1D,IAAMzB,WAAWjQ,mBAAmB,CAACV,QAAQ,CAACnoB,KAAK,CAACjD,KAAK;QACzD,IAAI89B,aAAa,EAAE;QACnB,IAAMC,kBAAkB;YAAEC,QAAQ;gBAAEpG,OAAO;gBAAGgG,OAAO;YAAE;YAAGK,QAAQ;gBAAErG,OAAO;gBAAGgG,OAAO;YAAE;YAAGM,SAAS;gBAAEtG,OAAO;gBAAGgG,OAAO;YAAE;YAAGO,WAAW;gBAAEvG,OAAO;gBAAGgG,OAAO;YAAE;YAAGQ,UAAU;gBAAExG,OAAO;gBAAGgG,OAAO;YAAE;YAAGS,QAAQ;gBAAEzG,OAAO;gBAAGgG,OAAO;YAAE;YAAGU,UAAU;gBAAE1G,OAAO;gBAAGgG,OAAO;YAAE;QAAE;QACjQ9sC,OAAO0rC,IAAI,CAACT,UAAUnO,OAAO,CAAC,SAAClhB;YAC7B,IAAMsvB,YAAYD,QAAQ,CAACrvB,UAAU;YACrC,IAAIsvB,CAAAA,sBAAAA,gCAAAA,UAAWpjB,IAAI,KAAIxJ,MAAMoI,OAAO,CAACwkB,UAAUpjB,IAAI,GAAG;gBACpDojB,UAAUpjB,IAAI,CAACgV,OAAO,CAAC,SAAC5zB;oBACtB,IAAkBA,wCAAAA,KAAKgJ,IAAI,CAAC6D,KAAK,CAAC,KAAK9M,GAAG,CAAC,SAACwkC;+BAAM3jC,SAAS2jC;4BAApDh5B,IAAWvL,yBAARwL,IAAQxL,yBAALyL,IAAKzL;oBAClB,IAAMwkC,UAAU,IAAI/5B,KAAKc,GAAGC,IAAI,GAAGC;oBACnC,IAAMg5B,WAAW;wBAAC;wBAAU;wBAAU;wBAAW;wBAAa;wBAAY;wBAAU;qBAAW;oBAC/F,IAAMf,UAAUe,QAAQ,CAACD,QAAQ55B,MAAM,GAAG;oBAC1Ck5B,WAAWhvB,IAAI,CAAC;wBAAE9L,MAAMhJ,KAAKgJ,IAAI;wBAAEhQ,OAAOgH,KAAKhH,KAAK;wBAAE0qC,SAAAA;oBAAQ;oBAC9D,IAAIK,eAAe,CAACL,QAAQ,EAAE;wBAC5BK,eAAe,CAACL,QAAQ,CAAC9F,KAAK,IAAI59B,KAAKhH,KAAK;wBAC5C+qC,eAAe,CAACL,QAAQ,CAACE,KAAK,IAAI;oBACpC;gBACF;YACF;QACF;QACA,IAAIH,UAAU;YAAEz6B,MAAM;YAAI06B,SAAS;YAAI1qC,OAAO;QAAE;QAChD,IAAI8qC,WAAWxkC,MAAM,GAAG,GAAGmkC,UAAUK,WAAW3L,MAAM,CAAC,SAACxV,KAAKsgB;mBAAQA,IAAIjqC,KAAK,GAAG2pB,IAAI3pB,KAAK,GAAGiqC,MAAMtgB;;QACnG,IAAIghB,gBAAgB;YAAED,SAAS;YAAIE,OAAO;YAAGC,SAAS;QAAE;QACxD/sC,OAAO4tC,OAAO,CAACX,iBAAiBnQ,OAAO,CAAC;qDAAE8P,qBAASiB;YACjD,IAAIA,MAAMf,KAAK,GAAG,GAAG;gBACnB,IAAMgB,MAAMD,MAAM/G,KAAK,GAAG+G,MAAMf,KAAK;gBACrC,IAAIgB,MAAMjB,cAAcE,OAAO,EAAEF,gBAAgB;oBAAED,SAAAA;oBAASE,OAAOe,MAAMf,KAAK;oBAAEC,SAASvyB,KAAKC,KAAK,CAACqzB;gBAAK;YAC3G;QACF;QACA,OAAO;YAAEnB,SAAAA;YAASE,eAAAA;QAAc;IAClC,GAAG;QAACnd;QAAWsL;QAAqB2N;QAAiBsB;KAA+B;IACpF,IAAM8D,iBAAiB,wBAACnS;QACtB,IAAI,CAACA,SAAS,OAAO;QACrB,IAAI;YACF,OAAO,IAAIjoB,KAAKioB,SAAS5nB,kBAAkB,CAAC,SAAS;gBAAEg6B,SAAS;gBAAS57B,OAAO;gBAASG,KAAK;YAAU;QAC1G,EAAE,eAAM;YACN,OAAO;QACT;IACF;IACA,IAAM07B,oBAAoB,AAAC,CAAA,GAAG/gB,eAAee,OAAM,AAAC,EAAE;QACpD,IAAI,CAAC4a,YAAY,OAAO;QACxB,IAAM12B,OAAOg4B,aAAa+D,UAAU,IAAI;QACxC,IAAM97B,QAAQ+3B,aAAagE,WAAW,IAAI;QAC1C,IAAMj/B,OAAOi7B,aAAaiE,UAAU,IAAI;QACxC,IAAMnD,WAAWpC,UAAU,CAAC12B,KAAK;QACjC,IAAI84B,UAAU;YACZ,IAAMoD,WAAWpD,QAAQ,CAAC/7B,KAAK;YAC/B,IAAIm/B,UAAU;gBACZ,IAAMnD,YAAYmD,QAAQ,CAACj8B,MAAM;gBACjC,IAAI84B,sBAAAA,gCAAAA,UAAWxZ,OAAO,EAAE,OAAO;oBAAErqB,OAAO6jC,UAAU7jC,KAAK,IAAIwhC,WAAWxhC,KAAK;oBAAEqqB,SAASwZ,UAAUxZ,OAAO;gBAAC;YAC1G;QACF;QACA,OAAO;YAAErqB,OAAOwhC,WAAWxhC,KAAK;YAAEqqB,SAASmX,WAAWnX,OAAO;QAAC;IAChE,GAAG;QAACmX;QAAYF;KAAgB;IAChC,IAAM2F,iBAAiB,AAAC,CAAA,GAAGphB,eAAee,OAAM,AAAC,EAAE;QACjD,IAAIyB,cAAc,SAAS,CAAC0Z,SAAS,OAAO;QAC5C,IAAMmF,SAAS5F,eAAe,CAAC,YAAY;QAC3C,IAAI,CAAC4F,QAAQ,OAAOnF,OAAO,CAACppC,OAAO0rC,IAAI,CAACtC,QAAQ,CAAC,EAAE,CAAC,IAAI;QACxD,OAAOA,OAAO,CAACmF,OAAO,IAAI;IAC5B,GAAG;QAAC7e;QAAW0Z;QAAST;KAAgB;IACxC,IAAMvX,cAAc;QAClB,OAAQ1B;YACN,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;gBACH,IAAI4a,aAAa,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlD,qBAAqBp+B,GAAE,AAAC,EAAEymB,iBAAiB;oBAAEC,WAAAA;oBAAW5H,MAAMwiB;gBAAY;gBACtH,OAAO;YACT,KAAK;gBACH,IAAI2D,mBAAmB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG7G,qBAAqBp+B,GAAE,AAAC,EAAEyoB,aAAa;oBAAEpqB,OAAO4mC,kBAAkB5mC,KAAK;oBAAEqqB,SAASuc,kBAAkBvc,OAAO;gBAAC;gBAC9J,OAAO;YACT,KAAK;gBAAS;oBACZ,IAAIoX,WAAW;4BAITA;wBAHJ,IAAM9H,KAAK2H,eAAe,CAAC,aAAa,IAAI;wBAC5C,IAAMx8B,KAAKw8B,eAAe,CAAC,cAAc,IAAI;wBAC7C,IAAI6F,eAAe1F,UAAU5W,MAAM,IAAI,EAAE;wBACzC,KAAI4W,gBAAAA,SAAS,CAAC9H,GAAG,cAAb8H,oCAAAA,aAAe,CAAC38B,GAAG,EAAEqiC,eAAe1F,SAAS,CAAC9H,GAAG,CAAC70B,GAAG;wBACzD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGi7B,qBAAqBp+B,GAAE,AAAC,EAAEipB,YAAY;4BAAE5qB,OAAO;4BAAuB6qB,QAAQsc;wBAAa;oBACxH;oBACA,OAAO;gBACT;YACA,KAAK;gBAAS;oBACZ,IAAI9D,kBAAkB;wBACpB,IAAMt4B,QAAQu2B,eAAe,CAAC,cAAc,IAAI;wBAChD,IAAMx2B,OAAOw2B,eAAe,CAAC,aAAa,IAAI;wBAC9C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGvB,qBAAqBp+B,GAAE,AAAC,EAAEstB,YAAY;4BAAExO,MAAM4iB;4BAAkBnU,cAAcpkB;4BAAMqkB,eAAepkB;4BAAOqkB,iBAAiBsT;4BAAsBrT,iBAAiBsT;wBAAwB;oBACvN;oBACA,OAAO;gBACT;YACA,KAAK;gBAAmB;oBACtB,IAAIhP,gCAAAA,0CAAAA,mBAAqB,CAACiP,+BAA+B,EAAE;wBACzD,IAAM93B,QAAOw2B,eAAe,CAAC,aAAa,IAAI;wBAC9C,IAAMz5B,OAAOy5B,eAAe,CAAC,aAAa,IAAI;wBAC9C,IAAM7R,cAAckE,mBAAmB,CAACiP,+BAA+B;wBACvE,IAAMgB,WAAWnU,WAAW,CAAC3kB,MAAK;wBAClC,IAAI,EAAC84B,qBAAAA,+BAAAA,QAAU,CAAC/7B,KAAK,GAAE,OAAO;wBAC9B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGk4B,qBAAqBp+B,GAAE,AAAC,EAAEozB,sBAAsB;4BAAEtU,MAAMmjB,QAAQ,CAAC/7B,KAAK;4BAAEunB,iBAAiBwT;4BAAgC1T,cAAcpkB;4BAAMkqB,cAAcntB;4BAAMwnB,iBAAiBwT;4BAAmClP,qBAAAA;wBAAoB;oBACtQ;oBACA,OAAO;gBACT;YACA,KAAK;gBAAiB;wBAQA+N;oBAPpB,IAAI,CAACA,mBAAmB,OAAO;oBAC/B,IAAM/H,MAAK2H,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMx8B,MAAKw8B,eAAe,CAAC,cAAc,IAAI;oBAC7C,IAAM8F,KAAK9F,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMsC,YAAWlC,iBAAiB,CAAC/H,IAAG;oBACtC,IAAMkK,YAAYD,sBAAAA,gCAAAA,SAAU,CAAC9+B,IAAG;oBAChC,IAAMuiC,cAAcxD,sBAAAA,gCAAAA,SAAW,CAACuD,GAAG;oBACnC,IAAMpZ,eAAc0T,2BAAAA,kBAAkB4F,KAAK,cAAvB5F,+CAAAA,wBAAyB,CAAC/H,IAAG;oBACjD,IAAM5L,OAAOsZ,cAAc;wBACzB;4BAAErtC,MAAM;4BAAWa,OAAOwsC,YAAYzC,OAAO;4BAAE/+B,OAAO;wBAAoB;wBAC1E;4BAAE7L,MAAM;4BAAUa,OAAOwsC,YAAYpC,MAAM;4BAAEp/B,OAAO;wBAAqB;wBACzE;4BAAE7L,MAAM;4BAAQa,OAAOwsC,YAAYE,IAAI;4BAAE1hC,OAAO;wBAAqB;qBACtE,GAAG,EAAE;oBACN,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAEmsB,oBAAoB;wBAAE9tB,OAAO0hC,kBAAkB1hC,KAAK;wBAAE+tB,MAAAA;wBAAMmB,cAAcyK;wBAAIxK,eAAerqB;wBAAIkwB,cAAcoS;wBAAIpZ,aAAAA;wBAAaC,cAAc0V;oBAAiC;gBACtO;YACA,KAAK;gBAAe;wBAMDC,cACGjC;oBANpB,IAAI,CAACA,iBAAiB,OAAO;oBAC7B,IAAMhI,MAAK2H,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMx8B,MAAKw8B,eAAe,CAAC,cAAc,IAAI;oBAC7C,IAAMkG,KAAKlG,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMsC,YAAWjC,4BAAAA,sCAAAA,eAAiB,CAAChI,IAAG;oBACtC,IAAMqN,WAAWpD,CAAAA,sBAAAA,iCAAAA,eAAAA,SAAU,CAAC9+B,IAAG,cAAd8+B,mCAAAA,YAAgB,CAAC4D,GAAG,KAAI,EAAE;oBAC3C,IAAMjQ,eAAcoK,yBAAAA,gBAAgB8F,KAAK,cAArB9F,6CAAAA,sBAAuB,CAAChI,IAAG;oBAC/C,IAAMrC,UAAU0P,SAASplC,GAAG,CAAC,SAACC;+BAAU;4BAAE7H,MAAM6H,KAAK7H,IAAI;4BAAEa,OAAOgH,KAAKhH,KAAK;4BAAEikB,UAAUjd,KAAKid,QAAQ,IAAI;wBAAyE;;oBAClL,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGihB,qBAAqBp+B,GAAE,AAAC,EAAE01B,aAAa;wBAAEr3B,OAAO2hC,gBAAgB3hC,KAAK;wBAAEs3B,SAAAA;wBAASpI,cAAcyK;wBAAIxK,eAAerqB;wBAAIkwB,cAAcwS;wBAAIjQ,aAAAA;oBAAY;gBAChL;YACA,KAAK;gBAAY;wBAOEmQ;oBANjB,IAAI,CAAC5F,cAAc,OAAO;oBAC1B,IAAM6F,KAAKrG,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMsG,KAAKtG,eAAe,CAAC,cAAc,IAAI;oBAC7C,IAAMuG,KAAKvG,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMwG,KAAKxG,eAAe,CAAC,oBAAoB,IAAI;oBACnD,IAAMoG,YAAY5F,YAAY,CAAC6F,GAAG,IAAI,CAAC;oBACvC,IAAMI,WAAWL,CAAAA,sBAAAA,iCAAAA,gBAAAA,SAAW,CAACE,GAAG,cAAfF,oCAAAA,aAAiB,CAACG,GAAG,KAAI,EAAE;oBAC5C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG9H,qBAAqBp+B,GAAE,AAAC,EAAE+0B,eAAe;wBAAE12B,OAAO8hC,aAAa9hC,KAAK;wBAAEE,OAAO6nC;wBAAU7Y,cAAcyY;wBAAIxY,eAAeyY;wBAAII,kBAAkBH;wBAAInsB,aAAaosB;oBAAG;gBAC/L;YACA,KAAK;gBACH,IAAIb,gBAAgB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlH,qBAAqBp+B,GAAE,AAAC,EAAEy4B,UAAU;oBAAE3Z,MAAMwmB;gBAAe;gBAC1G,OAAO;YACT,KAAK;gBAAa;oBAChB,IAAIjF,eAAe;4BAKbA,sBAAAA;wBAJJ,IAAMrI,MAAK2H,eAAe,CAAC,aAAa,IAAI;wBAC5C,IAAMx8B,MAAKw8B,eAAe,CAAC,cAAc,IAAI;wBAC7C,IAAMkG,MAAKlG,eAAe,CAAC,aAAa,IAAI;wBAC5C,IAAI2G,oBAAoBjG,cAAcnX,MAAM,IAAI,EAAE;wBAClD,KAAImX,oBAAAA,aAAa,CAACrI,IAAG,cAAjBqI,yCAAAA,uBAAAA,iBAAmB,CAACl9B,IAAG,cAAvBk9B,2CAAAA,oBAAyB,CAACwF,IAAG,EAAES,oBAAoBjG,aAAa,CAACrI,IAAG,CAAC70B,IAAG,CAAC0iC,IAAG;wBAChF,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGzH,qBAAqBp+B,GAAE,AAAC,EAAE4rB,gBAAgB;4BAAEvtB,OAAO;4BAA+B6qB,QAAQod;wBAAkB;oBACzI;oBACA,OAAO;gBACT;YACA,KAAK;gBAAY;wBAIArG,kBACKA;oBAJpB,IAAI,CAACA,cAAc,OAAO;oBAC1B,IAAMjI,MAAK2H,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMx8B,MAAKw8B,eAAe,CAAC,cAAc,IAAI;oBAC7C,IAAM5D,SAASkE,CAAAA,yBAAAA,oCAAAA,mBAAAA,YAAc,CAACjI,IAAG,cAAlBiI,uCAAAA,gBAAoB,CAAC98B,IAAG,KAAI,EAAE;oBAC7C,IAAMyyB,gBAAcqK,sBAAAA,aAAa6F,KAAK,cAAlB7F,0CAAAA,mBAAoB,CAACjI,IAAG;oBAC5C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGoG,qBAAqBp+B,GAAE,AAAC,EAAE87B,eAAe;wBAAEz9B,OAAO4hC,aAAa5hC,KAAK;wBAAE09B,QAAAA;wBAAQC,SAASiE,aAAajE,OAAO;wBAAEzO,cAAcyK;wBAAIxK,eAAerqB;wBAAIyyB,aAAAA;oBAAY;gBAC3L;YACA,KAAK;gBAAY;wBAMEsK,wBAAAA,qBAAAA,kBACGA;oBANpB,IAAI,CAACA,cAAc,OAAO;oBAC1B,IAAMlI,MAAK2H,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMx8B,MAAKw8B,eAAe,CAAC,cAAc,IAAI;oBAC7C,IAAM4G,KAAK5G,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAMkG,MAAKlG,eAAe,CAAC,aAAa,IAAI;oBAC5C,IAAM0F,YAAWnF,CAAAA,yBAAAA,oCAAAA,mBAAAA,YAAc,CAAClI,IAAG,cAAlBkI,wCAAAA,sBAAAA,gBAAoB,CAAC/8B,IAAG,cAAxB+8B,2CAAAA,yBAAAA,mBAA0B,CAACqG,GAAG,cAA9BrG,6CAAAA,sBAAgC,CAAC2F,IAAG,KAAI,EAAE;oBAC3D,IAAMjQ,gBAAcsK,sBAAAA,aAAa4F,KAAK,cAAlB5F,0CAAAA,mBAAoB,CAAClI,IAAG;oBAC5C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGoG,qBAAqBp+B,GAAE,AAAC,EAAEs9B,eAAe;wBAAEj/B,OAAO6hC,aAAa7hC,KAAK;wBAAEygB,MAAMumB;wBAAUrJ,SAASkE,aAAalE,OAAO;wBAAEzO,cAAcyK;wBAAIxK,eAAerqB;wBAAIqjC,cAAcD;wBAAIlT,cAAcwS;wBAAIjQ,aAAAA;wBAAa6Q,SAASvG;oBAAa;gBAC9P;YACA;gBACE,OAAO;QACX;IACF;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG9B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAAyBJ,UAAU;YAC3G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAgCJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAwBJ,UAAUihC,WAAWt/B,GAAG,CAAC,SAACiG;wBAC9N,IAAMwgC,WAAWhgB,cAAcxgB;wBAC/B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGk4B,qBAAqBp+B,GAAE,AAAC,EACjD,UACA;4BACEkG,MAAM;4BACN5F,SAAS,SAATA;gCACEwgC,aAAa56B;gCACby6B,8BAAAA,wCAAAA,kBAAoBz6B;4BACtB;4BACA,gBAAgBwgC;4BAChBhoC,WAAW,AAAC,sRAI8R,OAAhSgoC,WAAW,qJAAqJ,iIAAgI;4BAE1SpoC,UAAU6gC,SAASj5B;wBACrB,GACAA;oBAEJ;gBAAG;YAAG;YACN,aAAa,GAAI,CAAA,GAAGk4B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAqCJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oBAAE1B,WAAW;oBAAoDJ,UAAU;wBAChP+iC,eAAephC,GAAG,CAAC,SAACH,QAAQH;4BAC1B,IAAM0Y,UAAUvY,OAAOuY,OAAO,CAACpY,GAAG,CAAC,SAACkY;uCAAS;oCAAEtf,KAAKsf;oCAAKjf,OAAOif;gCAAI;;4BACpE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGimB,qBAAqBp+B,GAAE,AAAC,EACjD,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCAAEikC,QAAQ,KAAMtF,CAAAA,eAAe7hC,MAAM,GAAGG,KAAI;gCAAG;gCACtDrB,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EACpD6kB,eACA;oCACExM,SAAAA;oCACAnf,OAAOioC,YAAY,CAACrhC,OAAOwG,EAAE,CAAC;oCAC9BiW,UAAU,SAAVA,SAAWqqB;wCACT,IAAMC,UAAU,wCAAK1F,eAAc,qBAACrhC,OAAOwG,EAAE,EAAG+C,OAAOu9B;wCACvDxF,gBAAgByF;oCAClB;oCACAtjC,SAAS;oCACT0E,OAAOnI,OAAOmI,KAAK;gCACrB;4BAEJ,GACAnI,OAAOwG,EAAE;wBAEb;wBACA,aAAa,GAAI,CAAA,GAAG83B,qBAAqBp+B,GAAE,AAAC,EAC1C,UACA;4BACEkG,MAAM;4BACN5F,SAAS,SAATA;gCACEkgC,2BAAAA,qCAAAA,eAAiBW;gCACjBP,gBAAgBO;4BAClB;4BACAziC,WAAW;4BACXJ,UAAU;wBACZ;qBAEH;gBAAC;YAAG;YACL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrHijC,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGnD,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAiEJ,UAAU;4BAC3J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA+IJ,UAAU;oCAC1N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAsCJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAEs/B,gBAAgB,CAAC;oCAAG;oCACpL,aAAa,GAAI,CAAA,GAAGlB,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAwCJ,UAAU8pB;oCAAc;oCAClI,aAAa,GAAI,CAAA,GAAGgW,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAqDJ,UAAUuiC,QAAQ5gC,GAAG,CAAC,SAACC,MAAM0jB;mDAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAqCJ,UAAU;oDAC5Q,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAoCJ,UAAU;4DAC/G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gEAAEtB,WAAW;gEAAoDgE,OAAO;oEAAEuC,iBAAiB65B,aAAa5+B,KAAKgE,KAAK;gEAAE;4DAAE;4DAC5K,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gEAAEtB,WAAW;gEAAkGJ,UAAU4B,KAAK+H,KAAK;4DAAC;yDAC3L;oDAAC;oDACF,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wDAAEtB,WAAW;wDAAoDJ,UAAU4B,KAAKhH,KAAK;oDAAC;iDAC7I;4CAAC,GAAG0qB;;oCAAM;iCACZ;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA8HJ,UAAU;oCACzM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;wCAAEtB,WAAW;wCAA2EJ,UAAU;oCAAU;oCAChK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wCAAEtB,WAAW;wCAAgCJ,UAAUuiC,QAAQ5gC,GAAG,CAAC,SAACC,MAAM0jB;4CAC7H,IAAMkjB,eAAe5mC,KAAKqX,MAAM,GAAGynB,gBAAgB9+B,KAAKqX,MAAM,IAAI;4CAClE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG6mB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAmCJ,UAAU;oDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wDAAEtB,WAAW;wDAA2DgE,OAAO;4DAAEuC,iBAAiB65B,aAAa5+B,KAAKgE,KAAK;wDAAE;oDAAE;oDACnL,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAkBJ,UAAU;4DAC7F,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAA2BJ,UAAU;oEACtG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAA4GJ,UAAU4B,KAAK+H,KAAK;oEAAC;oEACnM/H,KAAKqX,MAAM,IAAIuvB,gBAAgB,AAAgB,aAAH,GAAI,CAAA,GAAG1I,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAAiEgE,OAAO;4EAAEuC,iBAAiB6hC,aAAa7hC,eAAe;wEAAC;wEAAG3G,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;4EAAEtB,WAAW;4EAAwEgE,OAAO;gFAAEwB,OAAO4iC,aAAa5H,SAAS;4EAAC;4EAAG5gC,UAAU4B,KAAKqX,MAAM;wEAAC;oEAAG;iEACrb;4DAAC;4DACF,aAAa,GAAI,CAAA,GAAG6mB,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAyEJ,UAAU4B,KAAK0e,WAAW;4DAAC;yDACvK;oDAAC;oDACF,aAAa,GAAI,CAAA,GAAGwf,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA6DJ,UAAU4B,KAAKhH,KAAK;oDAAC;iDACrJ;4CAAC,GAAG0qB;wCACP;oCAAG;iCACJ;4BAAC;4BACF,aAAa,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAA4DJ,UAAU;oCACvI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA8HJ,UAAU;4CACzM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA4DJ,UAAU;4CAAe;4CACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA0EJ,UAAUmiC,WAAWsG,WAAW,CAAC7tC,KAAK;4CAAC;4CACnL,aAAa,GAAI,CAAA,GAAGklC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW,AAAC,uCAA8I,OAAxG+hC,WAAWsG,WAAW,CAACvD,MAAM,CAACj/B,UAAU,CAAC,OAAO,6BAA6B;gDAA8BjG,UAAUmiC,WAAWsG,WAAW,CAACvD,MAAM;4CAAC;4CAC5P,aAAa,GAAI,CAAA,GAAGpF,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA0DJ,UAAUmiC,WAAWsG,WAAW,CAACnoB,WAAW;4CAAC;yCAC1K;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGwf,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA8HJ,UAAU;4CACzM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA4DJ,UAAU;4CAAe;4CACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA0EJ,UAAUmiC,WAAWuG,YAAY,CAAC9tC,KAAK;4CAAC;4CACpL,aAAa,GAAI,CAAA,GAAGklC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA0DJ,UAAUmiC,WAAWuG,YAAY,CAACpoB,WAAW;4CAAC;yCAC3K;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACF8H,cAAc,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BACzM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAU;4CAC9J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAE1B,QAAQ,EAAE2mC,8BAAAA,wCAAAA,kBAAmBvc,OAAO,CAACzoB,GAAG,CAAC,SAACwhC,QAAQ7d;oDACvG,IAAMyF,aAAa7X,KAAKC,KAAK,CAACgwB,OAAO7Y,QAAQ,GAAG6Y,OAAOtpC,MAAM,GAAG;oDAChE,IAAM8uC,aAAa,oBAAC5uC;wDAClB,IAAMosC,IAAIpsC,KAAK6J,WAAW;wDAC1B,IAAIuiC,EAAE5kC,QAAQ,CAAC,YAAY,OAAO;wDAClC,IAAI4kC,EAAE5kC,QAAQ,CAAC,WAAW,OAAO;wDACjC,IAAI4kC,EAAE5kC,QAAQ,CAAC,aAAa,OAAO;wDACnC,OAAO;oDACT;oDACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGu+B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAyFJ,UAAU;4DAC3K,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAuBJ,UAAU;oEAClG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wEAAEtB,WAAW;wEAA+CJ,UAAUmjC,OAAOppC,IAAI;oEAAC;oEACxI,aAAa,GAAI,CAAA,GAAG+lC,qBAAqBh+B,IAAG,AAAC,EAAE,QAAQ;wEAAE1B,WAAW;wEAAsCJ,UAAU;4EAClHmjC,OAAO7Y,QAAQ,CAAC9K,cAAc;4EAC9B;4EACA2jB,OAAOtpC,MAAM,CAAC2lB,cAAc;yEAC7B;oEAAC;iEACH;4DAAC;4DACF,aAAa,GAAI,CAAA,GAAGsgB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAyCgE,OAAO;oEAAEuC,iBAAiBgiC,WAAWxF,OAAOppC,IAAI;gEAAE;gEAAGiG,UAAU;oEACzK+qB;oEACA;iEACD;4DAAC;yDACH;oDAAC,GAAGzF;gDACP;4CAAG;4CACH,aAAa,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA0EJ,UAAU;oDACrJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAsGJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAoCJ,UAAU;wDAAI;oDAAG;oDAC1S,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,KAAK;wDAAE1B,WAAW;wDAA0DJ,UAAU;4DACnI;4DACA,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gEAAEtB,WAAW;gEAAyCJ,UAAU;4DAAkD;yDACzK;oDAAC;iDACH;4CAAC;yCACH;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAC1CknC,mBACA;wCACEH,aAAa;wCACbI,aAAaxI,WAAWJ,qBAAqBD,eAAeC,mBAAmB;wCAC/E6I,UAAU;wCACVC,YAAY;wCACZC,iBAAiB3I,WAAWH,cAAcF,eAAeE,YAAY;wCACrE+I,gBAAgB;wCAChBC,gBAAgB;wCAChBC,WAAW;wCACXC,WAAW,AAAC,aAAa,GAAG,IAAI/8B,OAAQK,kBAAkB,CAAC,SAAS;4CAAE5B,OAAO;4CAAQD,MAAM;wCAAU;oCACvG;iCAEH;4BAAC;yBACH;oBAAC;oBACFud,cAAc,WAAWoZ,aAAa,AAAgB,aAAH,GAAI,CAAA,GAAG1B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCAClI;4CAGoBwhC,mBACfA,mBAAAA;wCAHJ,IAAM9H,KAAKmJ,YAAY,CAAC,aAAa,IAAI;wCACzC,IAAMwG,MAAMxG,YAAY,CAAC,cAAc,IAAI;wCAC3C,IAAIqE,eAAe1F,EAAAA,oBAAAA,UAAU5W,MAAM,cAAhB4W,wCAAAA,kBAAkBtgC,MAAM,IAAG,IAAIsgC,UAAU5W,MAAM,CAAC,EAAE,GAAG;wCACxE,IAAI4W,EAAAA,gBAAAA,SAAS,CAAC9H,GAAG,cAAb8H,qCAAAA,oBAAAA,aAAe,CAAC6H,IAAI,cAApB7H,wCAAAA,kBAAsBtgC,MAAM,IAAG,GAAGgmC,eAAe1F,SAAS,CAAC9H,GAAG,CAAC2P,IAAI,CAAC,EAAE;wCAC1E,IAAI,CAACnC,cAAc,OAAO;wCAC1B,IAAMpc,QAAQoc;wCACd,IAAMoC,iBAAiBp2B,KAAKC,KAAK,CAAC2X,MAAMlwB,KAAK,GAAG;wCAChD,IAAM2uC,cAAc;wCACpB,IAAMC,gBAAgB;wCACtB,IAAMC,UAAUjnC,SAASk3B;wCACzB,IAAMjuB,aAAa;4CAAC;4CAAW;4CAAY;4CAAS;4CAAS;4CAAO;4CAAQ;4CAAQ;4CAAU;4CAAa;4CAAW;4CAAY;yCAAW;wCAC7I,IAAMW,aAAaX,WAAWs4B,OAAO,CAACsF;wCACtC,IAAMK,iBAAiB,IAAIr9B,KAAKo9B,SAASr9B,aAAa,GAAG;wCACzD,IAAMu9B,UAAUD,eAAep9B,OAAO;wCACtC,IAAMs9B,iBAAiBF,eAAel9B,MAAM;wCAC5C,IAAIq9B,aAAaD,mBAAmB,IAAID,UAAUC,iBAAiB,IAAID,UAAWC,CAAAA,iBAAiB,CAAA,IAAKD,UAAU;wCAClH,IAAMG,gBAAgB,IAAIz9B,KAAKo9B,SAASr9B,YAAYy9B,YAAYn9B,kBAAkB,CAAC,SAAS;4CAAE5B,OAAO;4CAASG,KAAK;wCAAU;wCAC7H,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG60B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA0CJ,UAAU;wDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;4DAAEtB,WAAW;4DAAiDJ,UAAU;wDAAc;wDAC1I,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEACtG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAqDJ,UAAU;gEAAW;gEAC7I,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;oEAAEtB,WAAW;oEAA+IJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wEAAEgE,OAAO;wEAAMD,QAAQ;wEAAMslB,SAAS;wEAAaO,MAAM;wEAAgB1rB,UAAU;4EACrW,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAKC,GAAG;4EAAI;4EACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAKC,GAAG;4EAAI;4EACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAMC,GAAG;4EAAI;yEACrF;oEAAC;gEAAG;6DACN;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAA+BJ,UAAU;wDAAC;4DAAC;4DAAiB,GAAc,OAAZupC,aAAY;yDAAQ;wDAAE;4DAAC;4DAAkB,GAAiB,OAAfD,gBAAe;yDAAQ;wDAAE;4DAAC;4DAAmB,GAAgB,OAAdE,eAAc;yDAAO;wDAAE;4DAAC;4DAAmBM;yDAAc;qDAAC,CAACnoC,GAAG,CAAC;iGAAEgI,mBAAO/O;+DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGklC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEAC7W,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAA+CJ,UAAU2J;gEAAM;gEACjI,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAiDJ,UAAUpF;gEAAM;6DACpI;wDAAC,GAAG+O;;gDAAQ;6CACd;wCAAC;oCACJ;oCACA,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAC1CknC,mBACA;wCACEH,aAAa;wCACbI,aAAaxI,WAAWJ,qBAAqBD,eAAeC,mBAAmB;wCAC/E6I,UAAU;wCACVC,YAAY;wCACZC,iBAAiB3I,WAAWH,cAAcF,eAAeE,YAAY;wCACrE+I,gBAAgB;wCAChBC,gBAAgB;wCAChBC,WAAW;wCACXC,WAAW,AAAC,aAAa,GAAG,IAAI/8B,OAAQK,kBAAkB,CAAC,SAAS;4CAAE5B,OAAO;4CAAQD,MAAM;wCAAU;oCACvG;iCAEH;4BAAC;yBACH;oBAAC;oBACFud,cAAc,eAAe2Z,iBAAiB,AAAgB,aAAH,GAAI,CAAA,GAAGjC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAC7N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCAClI;4CAIwB+hC,uBACnBA,0BAAAA,uBAAAA;wCAJJ,IAAMrI,KAAKmJ,YAAY,CAAC,aAAa,IAAI;wCACzC,IAAMwG,MAAMxG,YAAY,CAAC,cAAc,IAAI;wCAC3C,IAAM0E,KAAK1E,YAAY,CAAC,aAAa,IAAI;wCACzC,IAAIkH,mBAAmBhI,EAAAA,wBAAAA,cAAcnX,MAAM,cAApBmX,4CAAAA,sBAAsB7gC,MAAM,IAAG,IAAI6gC,cAAcnX,MAAM,CAAC,EAAE,GAAG;wCACpF,IAAImX,EAAAA,oBAAAA,aAAa,CAACrI,GAAG,cAAjBqI,yCAAAA,wBAAAA,iBAAmB,CAACsH,IAAI,cAAxBtH,6CAAAA,2BAAAA,qBAA0B,CAACwF,GAAG,cAA9BxF,+CAAAA,yBAAgC7gC,MAAM,IAAG,GAAG6oC,mBAAmBhI,aAAa,CAACrI,GAAG,CAAC2P,IAAI,CAAC9B,GAAG,CAAC,EAAE;wCAChG,IAAI,CAACwC,kBAAkB,OAAO;wCAC9B,IAAMjf,QAAQif;wCACd,IAAMxc,WAAWzC,MAAMvG,GAAG,IAAI;wCAC9B,IAAM+kB,iBAAiBp2B,KAAKC,KAAK,CAAC2X,MAAMqC,KAAK,GAAG;wCAChD,IAAMoc,cAAcr2B,KAAKC,KAAK,CAAC2X,MAAMqC,KAAK,GAAG;wCAC7C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG2S,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA0CJ,UAAU;wDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;4DAAEtB,WAAW;4DAAiDJ,UAAU;wDAAc;wDAC1I,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEACtG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAqDJ,UAAU;gEAAW;gEAC7I,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;oEAAEtB,WAAW;oEAA+IJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wEAAEgE,OAAO;wEAAMD,QAAQ;wEAAMslB,SAAS;wEAAaO,MAAM;wEAAgB1rB,UAAU;4EACrW,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAKC,GAAG;4EAAI;4EACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAKC,GAAG;4EAAI;4EACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;gFAAEk7B,IAAI;gFAAKC,IAAI;gFAAMC,GAAG;4EAAI;yEACrF;oEAAC;gEAAG;6DACN;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAA0BJ,UAAU;wDAAC;4DAAC;4DAAiB,GAAc,OAAZupC,aAAY;yDAAQ;wDAAE;4DAAC;4DAAkB,GAAiB,OAAfD,gBAAe;yDAAQ;wDAAE;4DAAC;4DAAkB;yDAAS;wDAAE;4DAAC;4DAAav+B,OAAOwiB;yDAAU;qDAAC,CAAC5rB,GAAG,CAAC;iGAAEgI,mBAAO/O;+DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGklC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEACtV,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAA+CJ,UAAU2J;gEAAM;gEACjI,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAiDJ,UAAUpF;gEAAM;6DACpI;wDAAC,GAAG+O;;gDAAQ;6CACd;wCAAC;oCACJ;oCACA,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAgJJ,UAAU;4CAC3N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAkFJ,UAAU;oDAC7J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA8DJ,UAAU;oDAAiB;oDAC3J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA6EJ,UAAU,AAAC,GAA+CqhC,OAA7CA,eAAe,CAAC,aAAa,IAAI,QAAO,OAAiD,OAA5CA,eAAe,CAAC,cAAc,IAAI;oDAAY;iDACxP;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGvB,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA8FJ,UAAU;4CAAa;4CACvL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA8FJ,UAAU+hC,CAAAA,0BAAAA,qCAAAA,kBAAAA,aAAe,CAACV,eAAe,CAAC,aAAa,IAAI,OAAO,cAAxDU,uCAAAA,mBAAAA,eAA0D,CAACV,eAAe,CAAC,cAAc,IAAI,UAAU,cAAvGU,wCAAAA,oBAAAA,gBAAyG,CAACV,eAAe,CAAC,aAAa,IAAI,eAAe,cAA1JU,yCAAAA,qBAAAA,iBAA4J,CAAC,EAAE,cAA/JA,yCAAAA,mBAAiK5U,KAAK,KAAI;4CAAE;4CACtV,aAAa,GAAI,CAAA,GAAG2S,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;4CAA+E;4CACjJ,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA2EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEukB,KAAKoa,WAAWJ,qBAAqBD,eAAeC,mBAAmB;oDAAGnZ,KAAK;oDAAI1mB,WAAW;gDAA6C;4CAAG;4CAC5V,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA8GJ,UAAU;4CAAmB;4CAC7M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAmGJ,UAAU;4CAAM;4CACrL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA6GJ,UAAU;4CAAU;4CACnM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA4EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEukB,KAAKoa,WAAWH,cAAcF,eAAeE,YAAY;oDAAGpZ,KAAK;oDAAI1mB,WAAW;gDAAuD;4CAAG;4CACzV,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA+GJ,UAAU;4CAAiB;4CAC5M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAoGJ,UAAU;4CAAY;4CAC5L,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAA8GJ,UAAU;4CAAe;yCAC1M;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACFooB,cAAc,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoHJ,UAAU;4BACxN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAgOJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwDJ,UAAU8pB;gCAAc;4BAAG;4BACjc,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAuDJ,UAAU;oCAClI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAAwKJ,UAAU;4CACnP,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAoHJ,UAAU;4CAA8B;4CAC7N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAqGJ,UAAU;oDAChL;oDACAyiC;iDACD;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAG3C,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgCJ,QAAQ,EAAEojC,6BAAAA,uCAAAA,iBAAkB1Q,KAAK,CAAC/wB,GAAG,CAAC,SAACwxB;oDACvI,IAAMC,YAAYtE,YAAY,CAACqE,KAAKvtB,KAAK,CAAC,IAAIkpB,aAAajsB,IAAI;oDAC/D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGi9B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAuFJ,UAAU;4DACzK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAsCgE,OAAO;oEAAE8B,YAAYktB;gEAAU;4DAAE;4DACzI,aAAa,GAAI,CAAA,GAAG0M,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAkBJ,UAAU;oEAC7F,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAA8GJ,UAAUmzB,KAAKp5B,IAAI;oEAAC;oEACpM,aAAa,GAAI,CAAA,GAAG+lC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wEAAE1B,WAAW;wEAAgDJ,UAAU;4EAC3HmzB,KAAKqQ,QAAQ;4EACb;yEACD;oEAAC;iEACH;4DAAC;4DACF,aAAa,GAAI,CAAA,GAAG1D,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAkEgE,OAAO;oEAAEuC,iBAAiB+5B,gBAAgBvN,KAAKla,MAAM,EAAEtS,eAAe;oEAAEf,OAAO86B,gBAAgBvN,KAAKla,MAAM,EAAE2nB,SAAS;gEAAC;gEAAG5gC,UAAUmzB,KAAKla,MAAM;4DAAC;yDACpR;oDAAC,GAAGka,KAAKnrB,EAAE;gDACd;4CAAG;yCACJ;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAG83B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAkB;4CACtK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAgCJ,UAAU;oDAC3G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA0DJ,UAAU;oDAAiB;oDACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA0BJ,UAAU;4DACrG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAwCJ,UAAU;oEACnH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAAiEJ,UAAU;oEAAU;oEACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAA0DJ,UAAUojC,CAAAA,6BAAAA,uCAAAA,iBAAkB1Q,KAAK,CAAClxB,MAAM,CAAC,SAACqf;mFAAMA,EAAE5H,MAAM,KAAK;2EAAW/X,MAAM,KAAI;oEAAE;iEACjN;4DAAC;4DACF,aAAa,GAAI,CAAA,GAAG4+B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAwCJ,UAAU;oEACnH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAAiEJ,UAAU;oEAAc;oEAC3J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAA0DJ,UAAUojC,CAAAA,6BAAAA,uCAAAA,iBAAkB1Q,KAAK,CAAClxB,MAAM,CAAC,SAACqf;mFAAMA,EAAE5H,MAAM,KAAK;2EAAe/X,MAAM,KAAI;oEAAE;iEACrN;4DAAC;yDACH;oDAAC;oDACF,aAAa,GAAI,CAAA,GAAG4+B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA+BJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAAwCJ,UAAU;gEAC9N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAiEJ,UAAU;gEAAY;gEACzJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAA0DJ,UAAUojC,CAAAA,6BAAAA,uCAAAA,iBAAkB1Q,KAAK,CAAClxB,MAAM,CAAC,SAACqf;+EAAMA,EAAE5H,MAAM,KAAK;uEAAa/X,MAAM,KAAI;gEAAE;6DACnN;wDAAC;oDAAG;oDACL,aAAa,GAAI,CAAA,GAAG4+B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAqEJ,UAAU,AAAC;gEAC3IojC;4DAAL,IAAI,EAACA,6BAAAA,wCAAAA,0BAAAA,iBAAkB1Q,KAAK,cAAvB0Q,8CAAAA,wBAAyBliC,MAAM,GAAE,OAAO;4DAC7C,IAAM8oC,WAAW5G,iBAAiB1Q,KAAK,CAAC0Q,iBAAiB1Q,KAAK,CAACxxB,MAAM,GAAG,EAAE;4DAC1E,IAAqB8oC,2CAAAA,SAASnY,OAAO,CAACpjB,KAAK,CAAC,UAArCxD,MAAc++B,4BAATl/B,QAASk/B;4DACrB,IAAMv+B,aAAa;gEAAE,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;gEAAO,MAAM;4DAAM;4DAChL,OAAO,AAAC,eAAqBA,OAAPR,KAAI,KAAiCo2B,OAA9B51B,UAAU,CAACX,MAAM,IAAI,OAAM,KAA2C,OAAxCu2B,eAAe,CAAC,aAAa,IAAI;wDAC9F;oDAAK;iDACN;4CAAC;yCACH;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACFjZ,cAAc,qBAAqB,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoHJ,UAAU;4BAClO,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwDJ,UAAU8pB;gCAAc;4BAAG;4BACza,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAuDJ,UAAU;oCAClI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAkB;4CACtK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAuBJ,UAAU;oDAAC;wDAAC;wDAAuB;qDAAoB;oDAAE;wDAAC;wDAAuB;qDAA6B;oDAAE;wDAAC;wDAAsB;qDAAyB;oDAAE;wDAAC;wDAAqB;qDAA0B;iDAAC,CAAC2B,GAAG,CAAC;6FAAEiE,mBAAO+D;2DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA2BJ,UAAU;4DAC3a,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAoCgE,OAAO;oEAAEuC,iBAAiBf;gEAAM;4DAAE;4DACxI,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gEAAEtB,WAAW;gEAAoEJ,UAAU2J;4DAAM;yDACxJ;oDAAC,GAAGA;;4CAAQ;yCACd;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA8KJ,UAAU;4CACzP,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA4CJ,UAAU;oDACvH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAkEJ,UAAU;oDAAiB;oDAC/J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAuFJ,UAAU;4DAClKqhC,eAAe,CAAC,aAAa,IAAI;4DACjC;4DACAsB;4DACA;4DACAtB,eAAe,CAAC,aAAa,IAAI;yDAClC;oDAAC;iDACH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGvB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE9B,UAAU;oDAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAkEJ,UAAU;oDAAe;oDAC7J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAuEJ,UAAU;4DAClJ;4DACAmiC,WAAWsG,WAAW,CAAC7tC,KAAK;yDAC7B;oDAAC;iDACH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGklC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;4CAAwC;4CAC1G,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAiCJ,UAAU;oDAC5G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAmGJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEukB,KAAKoa,WAAWJ,qBAAqBD,eAAeC,mBAAmB;4DAAGnZ,KAAK;4DAAI1mB,WAAW;wDAAiC;oDAAG;oDACxW,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA8BJ,UAAU;4DACzG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAiGJ,UAAU;4DAAW;4DACxL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAmFJ,UAAUymC,eAAetB,yBAAyBE,OAAO,CAACz6B,IAAI;4DAAE;4DACrN,aAAa,GAAI,CAAA,GAAGk1B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAgGJ,UAAUmlC,yBAAyBE,OAAO,CAACzqC,KAAK,GAAG,AAAC,GAA0D,OAAxDuqC,yBAAyBE,OAAO,CAACzqC,KAAK,CAAC4kB,cAAc,IAAG,aAAW;4DAAe;yDAC3S;oDAAC;iDACH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGsgB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAiCJ,UAAU;oDAC5G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAmGJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEukB,KAAKoa,WAAWH,cAAcF,eAAeE,YAAY;4DAAGpZ,KAAK;4DAAI1mB,WAAW;wDAAiC;oDAAG;oDAC1V,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA8BJ,UAAU;4DACzG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAiGJ,UAAU;4DAAkB;4DAC/L,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAmFJ,UAAUmlC,yBAAyBI,aAAa,CAACD,OAAO,IAAI;4DAAY;4DAC7N,aAAa,GAAI,CAAA,GAAGxF,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAgGJ,UAAU;oEAC3K;oEACAmlC,yBAAyBI,aAAa,CAACE,OAAO,IAAI;oEAClD;iEACD;4DAAC;yDACH;oDAAC;iDACH;4CAAC;yCACH;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACFrd,cAAc,mBAAmB,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAChN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAe;4CACnK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgCJ,UAAU;oDAAC;wDAAC;wDAAqB;qDAAU;oDAAE;wDAAC;wDAAsB;qDAAS;oDAAE;wDAAC;wDAAsB;qDAAO;iDAAC,CAAC2B,GAAG,CAAC;6FAAEiE,mBAAO+D;2DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA2BJ,UAAU;4DAC/U,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAAqDgE,OAAO;oEAAEuC,iBAAiBf;gEAAM;4DAAE;4DACzJ,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gEAAEtB,WAAW;gEAAkDJ,UAAU2J;4DAAM;yDACtI;oDAAC,GAAGA;;4CAAQ;yCACd;oCAAC;oCACF+5B,oCAAoC,AAAgB,aAAH,GAAI,CAAA,GAAG5D,qBAAqBp+B,GAAE,AAAC,EAAEuoC,kBAAkB;wCAAEC,WAAWxG;oCAAiC;iCACnJ;4BAAC;yBACH;oBAAC;oBACFtb,cAAc,iBAAiB,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAC9M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA0CJ,UAAU;oDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;wDAAEtB,WAAW;wDAA4DJ,UAAU;oDAAe;oDACtJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAmJJ,UAAU;oDAAU;iDAC1O;4CAAC;4CACD;oDAKkB0hC,yBAAAA,qBASIA,qCAAAA;gDAbrB,IAAI,CAACA,iBAAiB,OAAO;gDAC7B,IAAMhI,KAAK2H,eAAe,CAAC,aAAa,IAAI;gDAC5C,IAAMgI,MAAMhI,eAAe,CAAC,cAAc,IAAI;gDAC9C,IAAMkG,KAAKlG,eAAe,CAAC,aAAa,IAAI;gDAC5C,IAAM0F,WAAWrF,CAAAA,4BAAAA,uCAAAA,sBAAAA,eAAiB,CAAChI,GAAG,cAArBgI,2CAAAA,0BAAAA,mBAAuB,CAAC2H,IAAI,cAA5B3H,8CAAAA,uBAA8B,CAAC6F,GAAG,KAAI,EAAE;gDACzD,IAAI,CAACR,SAAS7lC,MAAM,EAAE,OAAO;gDAC7B,IAAM8sB,eAAe+Y,SAAShN,MAAM,CAAC,SAACxV,KAAK3iB;2DAASA,KAAKhH,KAAK,GAAG2pB,IAAI3pB,KAAK,GAAGgH,OAAO2iB;mDAAKwiB,QAAQ,CAAC,EAAE;gDACpG,IAAMoD,eAAepD,SAAShN,MAAM,CAAC,SAACqQ,KAAKxoC;2DAASwoC,MAAMxoC,KAAKhH,KAAK;mDAAE;gDACtE,IAAMyvC,eAAeF,eAAe,IAAIj3B,KAAKC,KAAK,CAAC6a,aAAapzB,KAAK,GAAGuvC,eAAe,OAAO;gDAC9F,IAAM1+B,aAAa;oDAAC;oDAAW;oDAAY;oDAAS;oDAAS;oDAAO;oDAAQ;oDAAQ;oDAAU;oDAAa;oDAAW;oDAAY;iDAAW;gDAC7I,IAAM6+B,KAAK7+B,WAAWs4B,OAAO,CAACsF;gDAC9B,IAAMkB,YAAYD,KAAK,IAAI7+B,UAAU,CAAC6+B,KAAK,EAAE,GAAG;gDAChD,IAAME,WAAWF,KAAK,IAAI5Q,KAAK3uB,OAAO6M,OAAO8hB,MAAM;gDACnD,IAAM+Q,eAAe/I,CAAAA,4BAAAA,uCAAAA,4BAAAA,eAAiB,CAAC8I,SAAS,cAA3B9I,iDAAAA,sCAAAA,yBAA6B,CAAC6I,UAAU,cAAxC7I,0DAAAA,mCAA0C,CAAC6F,GAAG,KAAI,EAAE;gDACzE,IAAMmD,UAAUD,aAAapwB,IAAI,CAAC,SAAC5Y;2DAAMA,EAAE1H,IAAI,KAAKi0B,aAAaj0B,IAAI;;gDACrE,IAAM4wC,SAASD,CAAAA,oBAAAA,8BAAAA,QAAS9vC,KAAK,IAAG,IAAIsY,KAAKC,KAAK,CAAC,AAAC6a,CAAAA,aAAapzB,KAAK,GAAG8vC,QAAQ9vC,KAAI,AAAC,IAAI8vC,QAAQ9vC,KAAK,GAAG,OAAO;gDAC7G,IAAMgwC,OAAO,AAAC,qBAAG7D,UAAU8D,IAAI,CAAC,SAAC/9B,GAAGC;2DAAMA,EAAEnS,KAAK,GAAGkS,EAAElS,KAAK;mDAAEsmB,SAAS,CAAC,SAACzf;2DAAMA,EAAE1H,IAAI,KAAKi0B,aAAaj0B,IAAI;qDAAI;gDAC9G,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG+lC,qBAAqBh+B,IAAG,AAAC,EAAEg+B,qBAAqBv2B,QAAQ,EAAE;oDAAEvJ,UAAU;wDAC/F,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAAmFJ,UAAUguB,aAAaj0B,IAAI;wDAAC;wDACjL,aAAa,GAAI,CAAA,GAAG+lC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAA0BJ,UAAU;gEAAC;oEAAC;oEAAWguB,aAAapzB,KAAK,IAAI,MAAM,AAAC,GAAwC,OAAtC,AAACozB,CAAAA,aAAapzB,KAAK,GAAG,GAAE,EAAG+8B,OAAO,CAAC,IAAG,OAAK3J,aAAapzB,KAAK;oEAAE,KAAK;iEAAE;gEAAE;oEAAC;oEAAiB,GAAe,OAAbyvC,cAAa;oEAAI,KAAK;iEAAE;gEAAE;oEAAC;oEAAW,GAA2BM,OAAzBA,UAAU,IAAI,MAAM,IAAY,OAAPA,QAAO;oEAAIA,UAAU,IAAI,uBAAuB;iEAAoB;gEAAE;oEAAC;oEAAS,IAAQ,OAALC;oEAAQ,KAAK;iEAAE;6DAAC,CAACjpC,GAAG,CAAC;yGAAEgI,mBAAO/O,mBAAOgL;uEAAW,AAAgB,aAAH,GAAI,CAAA,GAAGk6B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE9B,UAAU;wEAClf,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAyCJ,UAAU2J;wEAAM;wEAC3H,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAyBgE,OAAO;gFAAEwB,OAAOA,SAAS;4EAAmB;4EAAG5F,UAAU+K,OAAOnQ;wEAAO;qEACnK;gEAAC,GAAGmQ,OAAOpB;;wDAAS;qDACtB;gDAAC;4CACJ;yCACD;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA8KJ,UAAU;4CACzP,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA2CJ,UAAU;oDACtH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;wDAAEtB,WAAW;wDAA4DJ,UAAU;oDAAiB;oDACxJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAAgFJ,UAAU;4DAC3JqhC,eAAe,CAAC,cAAc,IAAI;4DAClC;4DACAA,eAAe,CAAC,aAAa,IAAI;yDAClC;oDAAC;iDACH;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGvB,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgFJ,UAAU;4CAAe;4CAC1K;oDAKkB0hC,yBAAAA,qBAMIA,qCAAAA;gDAVrB,IAAI,CAACA,iBAAiB,OAAO;gDAC7B,IAAMhI,KAAKmJ,YAAY,CAAC,aAAa,IAAI;gDACzC,IAAMwG,MAAMxG,YAAY,CAAC,cAAc,IAAI;gDAC3C,IAAM0E,KAAK1E,YAAY,CAAC,aAAa,IAAI;gDACzC,IAAMkE,WAAWrF,CAAAA,4BAAAA,uCAAAA,sBAAAA,eAAiB,CAAChI,GAAG,cAArBgI,2CAAAA,0BAAAA,mBAAuB,CAAC2H,IAAI,cAA5B3H,8CAAAA,uBAA8B,CAAC6F,GAAG,KAAI,EAAE;gDACzD,IAAMuD,eAAe/D,SAAShN,MAAM,CAAC,SAACqQ,KAAKxoC;2DAASwoC,MAAMxoC,KAAKhH,KAAK;mDAAE;gDACtE,IAAM6Q,aAAa;oDAAC;oDAAW;oDAAY;oDAAS;oDAAS;oDAAO;oDAAQ;oDAAQ;oDAAU;oDAAa;oDAAW;oDAAY;iDAAW;gDAC7I,IAAM6+B,KAAK7+B,WAAWs4B,OAAO,CAACsF;gDAC9B,IAAMkB,YAAYD,KAAK,IAAI7+B,UAAU,CAAC6+B,KAAK,EAAE,GAAG;gDAChD,IAAME,WAAWF,KAAK,IAAI5Q,KAAK3uB,OAAO6M,OAAO8hB,MAAM;gDACnD,IAAM+Q,eAAe/I,CAAAA,4BAAAA,uCAAAA,4BAAAA,eAAiB,CAAC8I,SAAS,cAA3B9I,iDAAAA,sCAAAA,yBAA6B,CAAC6I,UAAU,cAAxC7I,0DAAAA,mCAA0C,CAAC6F,GAAG,KAAI,EAAE;gDACzE,IAAMwD,YAAYN,aAAa1Q,MAAM,CAAC,SAACqQ,KAAKxoC;2DAASwoC,MAAMxoC,KAAKhH,KAAK;mDAAE;gDACvE,IAAMowC,YAAYD,YAAY,IAAI73B,KAAKC,KAAK,CAAC,AAAC23B,CAAAA,eAAeC,SAAQ,IAAKA,YAAY,OAAO;gDAC7F,IAAMnG,aAAaoG,aAAa;gDAChC,IAAMC,UAAUrG,aAAa,wBAAwB;gDACrD,IAAMhE,YAAYgE,aAAa,sBAAsB;gDACrD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG9E,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA2BJ,UAAU;wDAC7G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAAuFJ,UAAU;gEAClK;gEACA8qC,aAAatrB,cAAc,CAAC,SAAS;oEAAE0rB,uBAAuB;oEAAGC,uBAAuB;gEAAE;6DAC3F;wDAAC;wDACF,aAAa,GAAI,CAAA,GAAGrL,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAAyEgE,OAAO;gEAAE8B,YAAY+kC;4DAAQ;4DAAGjrC,UAAU;gEACpL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEukB,KAAK2e,aAAavE,WAAWF,cAAcH,eAAeG,YAAY,IAAIE,WAAWD,cAAcJ,eAAeI,YAAY;oEAAGtZ,KAAK8d,aAAa,aAAa;oEAAYxkC,WAAW;gEAA6B;gEAC3Q,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBh+B,IAAG,AAAC,EAAE,QAAQ;oEAAE1B,WAAW;oEAAmDgE,OAAO;wEAAEwB,OAAOg7B;oEAAU;oEAAG5gC,UAAU;wEAC5JkT,KAAKylB,GAAG,CAACqS;wEACT;qEACD;gEAAC;6DACH;wDAAC;qDACH;gDAAC;4CACJ;yCACD;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACF5iB,cAAc,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAC3M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCAClI;wCACC,IAAI,CAAC2hC,cAAc,OAAO;wCAC1B,IAAMjE,UAAUiE,aAAajE,OAAO,IAAI,EAAE;wCAC1C,IAAM0N,iBAAiB;4CAAC;gDAAC;gDAAqB;6CAAU;4CAAE;gDAAC;gDAAsB;6CAAS;4CAAE;gDAAC;gDAAqB;6CAAO;4CAAE;gDAAC;gDAAsB;6CAAO;yCAAC;wCAC1J,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGtL,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;oDAAEtB,WAAW;oDAAyEJ,UAAU;gDAAU;gDAC9J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAA0CJ,UAAU09B,QAAQx8B,MAAM,GAAG,IAAIw8B,QAAQ/7B,GAAG,CAAC,SAACinB,QAAQnnB;+DAAM,AAAgB,aAAH,GAAI,CAAA,GAAGq+B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEAC5Q,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAsCgE,OAAO;wEAAEuC,iBAAiBiiB,OAAOhjB,KAAK;oEAAC;gEAAE;gEACjJ,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAkDJ,UAAU4oB,OAAOjf,KAAK;gEAAC;6DAC7I;wDAAC,GAAGif,OAAOruB,GAAG,IAAIkH;yDAAM2pC,eAAezpC,GAAG,CAAC;iGAAEiE,mBAAO+D;+DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEACtK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAsCgE,OAAO;wEAAEuC,iBAAiBf;oEAAM;gEAAE;gEAC1I,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAkDJ,UAAU2J;gEAAM;6DACtI;wDAAC,GAAGA;;gDAAQ;6CACd;wCAAC;oCACJ;oCACC;4CAIgBg4B,kBAeIA;wCAlBnB,IAAI,CAACA,cAAc,OAAO;wCAC1B,IAAMjI,KAAKmJ,YAAY,CAAC,aAAa,IAAI;wCACzC,IAAMwG,MAAMxG,YAAY,CAAC,cAAc,IAAI;wCAC3C,IAAMpF,SAASkE,CAAAA,yBAAAA,oCAAAA,mBAAAA,YAAc,CAACjI,GAAG,cAAlBiI,uCAAAA,gBAAoB,CAAC0H,IAAI,KAAI,EAAE;wCAC9C,IAAI,CAAC5L,OAAOv8B,MAAM,EAAE,OAAO;wCAC3B,IAAMw8B,UAAUiE,aAAajE,OAAO,IAAI,EAAE;wCAC1C,IAAM2N,WAAW,kBAAC9wC,KAAKgmC;gDAAa7C;mDAAAA,EAAAA,gBAAAA,QAAQrjB,IAAI,CAAC,SAACglB;uDAAMA,EAAE9kC,GAAG,KAAKA;4DAA9BmjC,oCAAAA,cAAoC93B,KAAK,KAAI26B;;wCACjF,IAAM+K,eAAeD,SAAS,WAAW;wCACzC,IAAME,cAAcF,SAAS,UAAU;wCACvC,IAAMG,YAAYH,SAAS,QAAQ;wCACnC,IAAMtN,kBAAkB,yBAAC0N;mDAAMA,EAAExN,YAAY,KAAK,KAAK,KAAKwN,EAAExN,YAAY,KAAK,OAAOwN,EAAExN,YAAY,GAAGwN,EAAErO,OAAO,GAAGqO,EAAElO,IAAI;;wCACzH,IAAMvP,eAAeyP,OAAO1D,MAAM,CAAC,SAACxV,KAAK3iB;mDAASA,KAAKw7B,OAAO,GAAG7Y,IAAI6Y,OAAO,GAAGx7B,OAAO2iB;2CAAKkZ,MAAM,CAAC,EAAE;wCACpG,IAAMiO,QAAQ3N,gBAAgB/P;wCAC9B,IAAM2d,kBAAkBD,SAAS;wCACjC,IAAMjgC,aAAa;4CAAC;4CAAW;4CAAY;4CAAS;4CAAS;4CAAO;4CAAQ;4CAAQ;4CAAU;4CAAa;4CAAW;4CAAY;yCAAW;wCAC7I,IAAM6+B,KAAK7+B,WAAWs4B,OAAO,CAACsF;wCAC9B,IAAMkB,YAAYD,KAAK,IAAI7+B,UAAU,CAAC6+B,KAAK,EAAE,GAAG;wCAChD,IAAME,WAAWF,KAAK,IAAI5Q,KAAK3uB,OAAO6M,OAAO8hB,MAAM;wCACnD,IAAMkS,aAAajK,CAAAA,yBAAAA,oCAAAA,yBAAAA,YAAc,CAAC6I,SAAS,cAAxB7I,6CAAAA,sBAA0B,CAAC4I,UAAU,KAAI,EAAE;wCAC9D,IAAMG,UAAUkB,WAAWvxB,IAAI,CAAC,SAAC5Y;mDAAMA,EAAE1H,IAAI,KAAKi0B,aAAaj0B,IAAI;;wCACnE,IAAMixC,YAAYN,WAAWA,QAAQtN,OAAO,GAAG,IAAIlqB,KAAKC,KAAK,CAAC,AAAC6a,CAAAA,aAAaoP,OAAO,GAAGsN,QAAQtN,OAAM,AAAC,IAAIsN,QAAQtN,OAAO,GAAG,OAAO;wCAClI,IAAMwH,aAAaoG,aAAa;wCAChC,IAAMa,eAAepO,OAAOj8B,MAAM,CAAC,SAACC;mDAAMs8B,gBAAgBt8B,KAAK;;wCAC/D,IAAMwjC,aAAa4G,aAAa3qC,MAAM,GAAG,IAAI2qC,aAAa9R,MAAM,CAAC,SAACxV,KAAK9iB;mDAAMs8B,gBAAgBt8B,KAAKs8B,gBAAgBxZ,OAAO9iB,IAAI8iB;2CAAKsnB,YAAY,CAAC,EAAE,IAAIpO,OAAO1D,MAAM,CAAC,SAACnV,KAAKnjB;mDAAMA,EAAE27B,OAAO,GAAGxY,IAAIwY,OAAO,GAAG37B,IAAImjB;2CAAK6Y,MAAM,CAAC,EAAE;wCAC3N,IAAMqO,oBAAoB/N,gBAAgBkH,cAAc;wCACxD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGnF,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA0CJ,UAAU;wDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;4DAAEtB,WAAW;4DAA4DJ,UAAU;wDAAgB;wDACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BgE,OAAO;gEAAEwB,OAAOg/B,aAAa,uBAAuB;4DAAoB;4DAAG5kC,UAAU;gEACjL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEoE,OAAO;oEAAMD,QAAQ;oEAAMslB,SAAS;oEAAaO,MAAM;oEAAQtnB,OAAO;wEAAEiT,WAAWutB,aAAa,iBAAiB;oEAAiB;oEAAG5kC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wEAAE2L,GAAG;wEAAoCqe,MAAM;oEAAe;gEAAG;gEAC7T,aAAa,GAAI,CAAA,GAAGoU,qBAAqBh+B,IAAG,AAAC,EAAE,QAAQ;oEAAE1B,WAAW;oEAA6BJ,UAAU;wEACzGkT,KAAKylB,GAAG,CAACqS;wEACT;qEACD;gEAAC;6DACH;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAGlL,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE9B,UAAU;wDAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAA0CJ,UAAU;wDAAW;wDACjI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAAsDJ,UAAUguB,aAAaj0B,IAAI;wDAAC;qDACrJ;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAG+lC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA+BJ,UAAU;wDAC1G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAyCJ,UAAU;gEAAU;gEAC/H,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAyBgE,OAAO;wEAAEwB,OAAO0lC;oEAAa;oEAAGtrC,UAAU;wEACpIguB,aAAaoP,OAAO;wEACpB;qEACD;gEAAC;6DACH;wDAAC;wDACF,aAAa,GAAI,CAAA,GAAG0C,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAyCJ,UAAU2rC,kBAAkB,WAAW;gEAAO;gEACzJ,aAAa,GAAI,CAAA,GAAG7L,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAyBgE,OAAO;wEAAEwB,OAAO+lC,kBAAkBJ,cAAcC;oEAAU;oEAAGxrC,UAAU;wEACjKkT,KAAKylB,GAAG,CAAC+S;wEACT;qEACD;gEAAC;6DACH;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAG5L,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAAsEJ,UAAU;wDACjJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAyCJ,UAAU;wDAAe;wDACrI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,QAAQ;4DAAE1B,WAAW;4DAAkDJ,UAAU;gEAC9HilC,WAAWlrC,IAAI;gEACf;gEACA+xC,oBAAoB,WAAW;6DAChC;wDAAC;qDACH;gDAAC;6CACH;wCAAC;oCACJ;iCACD;4BAAC;yBACH;oBAAC;oBACF1jB,cAAc,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAC3M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCAClI;wCACC,IAAI,CAAC4hC,cAAc,OAAO;wCAC1B,IAAMlE,UAAUkE,aAAalE,OAAO,IAAI,EAAE;wCAC1C,IAAM0N,iBAAiB;4CAAC;gDAAC;gDAAqB;6CAAqB;4CAAE;gDAAC;gDAAqB;6CAAqB;4CAAE;gDAAC;gDAAqB;6CAAmB;yCAAC;wCAC5J,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGtL,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;oDAAEtB,WAAW;oDAAyEJ,UAAU;gDAAU;gDAC9J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oDAAEtB,WAAW;oDAAgCJ,UAAU09B,QAAQx8B,MAAM,GAAG,IAAIw8B,QAAQ/7B,GAAG,CAAC,SAAC09B,GAAG59B;+DAAM,AAAgB,aAAH,GAAI,CAAA,GAAGq+B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEAC7P,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAsCgE,OAAO;wEAAEuC,iBAAiB04B,EAAEz5B,KAAK;oEAAC;gEAAE;gEAC5I,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAkDJ,UAAUq/B,EAAE11B,KAAK;gEAAC;6DACxI;wDAAC,GAAG01B,EAAE9kC,GAAG,IAAIkH;yDAAM2pC,eAAezpC,GAAG,CAAC;iGAAEiE,mBAAO+D;+DAAW,AAAgB,aAAH,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEACjK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAsCgE,OAAO;wEAAEuC,iBAAiBf;oEAAM;gEAAE;gEAC1I,aAAa,GAAI,CAAA,GAAGk6B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAkDJ,UAAU2J;gEAAM;6DACtI;wDAAC,GAAGA;;gDAAQ;6CACd;wCAAC;oCACJ;oCACC;4CAMkBi4B,yBAAAA,sBAAAA;wCALjB,IAAI,CAACA,cAAc,OAAO;wCAC1B,IAAMlI,KAAK2H,eAAe,CAAC,aAAa,IAAI;wCAC5C,IAAMgI,MAAMhI,eAAe,CAAC,cAAc,IAAI;wCAC9C,IAAM4G,KAAK5G,eAAe,CAAC,aAAa,IAAI;wCAC5C,IAAMkG,KAAKlG,eAAe,CAAC,aAAa,IAAI;wCAC5C,IAAM0F,WAAWnF,CAAAA,yBAAAA,oCAAAA,mBAAAA,YAAc,CAAClI,GAAG,cAAlBkI,wCAAAA,uBAAAA,gBAAoB,CAACyH,IAAI,cAAzBzH,4CAAAA,0BAAAA,oBAA2B,CAACqG,GAAG,cAA/BrG,8CAAAA,uBAAiC,CAAC2F,GAAG,KAAI,EAAE;wCAC5D,IAAI,CAACR,SAAS7lC,MAAM,EAAE,OAAO;wCAC7B,IAAM8sB,eAAe+Y,SAAShN,MAAM,CAAC,SAACxV,KAAKtZ;4CACzC,IAAM8gC,KAAKxnB,IAAIsa,WAAW,GAAGta,IAAIua,WAAW,GAAGva,IAAIwa,QAAQ;4CAC3D,IAAMiN,KAAK/gC,IAAI4zB,WAAW,GAAG5zB,IAAI6zB,WAAW,GAAG7zB,IAAI8zB,QAAQ;4CAC3D,OAAOiN,KAAKD,KAAK9gC,MAAMsZ;wCACzB,GAAGwiB,QAAQ,CAAC,EAAE;wCACd,IAAMkF,WAAWje,aAAa6Q,WAAW,GAAG7Q,aAAa8Q,WAAW,GAAG9Q,aAAa+Q,QAAQ;wCAC5F,IAAMkG,aAAa8B,SAAShN,MAAM,CAAC,SAACnV,KAAK3Z;4CACvC,IAAMihC,MAAMtnB,IAAIia,WAAW,GAAGja,IAAIka,WAAW,GAAGla,IAAIma,QAAQ;4CAC5D,IAAMoN,MAAMlhC,IAAI4zB,WAAW,GAAG5zB,IAAI6zB,WAAW,GAAG7zB,IAAI8zB,QAAQ;4CAC5D,OAAOoN,MAAMD,MAAMjhC,MAAM2Z;wCAC3B,GAAGmiB,QAAQ,CAAC,EAAE;wCACd,IAAMqF,UAAU5pC,SAASylC,GAAGoE,OAAO,CAAC,SAAS;wCAC7C,IAAIpR,mBAAmB,IAAI2J,aAAa;wCACxC,IAAM0H,WAAWF,UAAU,IAAI,AAAC,QAAmB,OAAZA,UAAU,KAAM;wCACvD,IAAIE,UAAU;gDACS1K,+BAAAA,uBAAAA;4CAArB,IAAM6I,eAAe7I,CAAAA,yBAAAA,oCAAAA,oBAAAA,YAAc,CAAClI,GAAG,cAAlBkI,yCAAAA,wBAAAA,iBAAoB,CAACyH,IAAI,cAAzBzH,6CAAAA,gCAAAA,qBAA2B,CAAC0K,SAAS,cAArC1K,oDAAAA,6BAAuC,CAAC2F,GAAG,KAAI,EAAE;4CACtE,IAAMgF,UAAU9B,aAAapwB,IAAI,CAAC,SAAChN;uDAAMA,EAAEpC,GAAG,KAAK+iB,aAAa/iB,GAAG;;4CACnE,IAAIshC,SAAS;gDACX,IAAMC,KAAKD,QAAQ1N,WAAW,GAAG0N,QAAQzN,WAAW,GAAGyN,QAAQxN,QAAQ;gDACvE,IAAIyN,KAAK,GAAG;oDACV,IAAMC,KAAK,AAACR,CAAAA,WAAWO,EAAC,IAAKA,KAAK;oDAClCvR,mBAAmB/nB,KAAKylB,GAAG,CAACzlB,KAAKC,KAAK,CAACs5B;oDACvC7H,aAAa6H,MAAM;gDACrB;4CACF;wCACF;wCACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG3M,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4CAAE1B,WAAW;4CAA0IJ,UAAU;gDAC5N,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA0CJ,UAAU;wDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;4DAAEtB,WAAW;4DAA4DJ,UAAU;wDAAgB;wDACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BgE,OAAO;gEAAEwB,OAAOg/B,aAAa,uBAAuB;4DAAoB;4DAAG5kC,UAAU;gEACjL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEoE,OAAO;oEAAMD,QAAQ;oEAAMslB,SAAS;oEAAaO,MAAM;oEAAQtnB,OAAO;wEAAEiT,WAAWutB,aAAa,iBAAiB;oEAAiB;oEAAG5kC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wEAAE2L,GAAG;wEAAoCqe,MAAM;oEAAe;gEAAG;gEAC7T,aAAa,GAAI,CAAA,GAAGoU,qBAAqBh+B,IAAG,AAAC,EAAE,QAAQ;oEAAE1B,WAAW;oEAA6BJ,UAAU;wEACzGi7B;wEACA;qEACD;gEAAC;6DACH;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAG6E,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE9B,UAAU;wDAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAA0CJ,UAAU;wDAAM;wDAC5H,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4DAAEtB,WAAW;4DAAsDJ,UAAUguB,aAAa/iB,GAAG;wDAAC;qDACpJ;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAG60B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAA+BJ,UAAU;wDAC1G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAyCJ,UAAU;gEAAc;gEACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAkDJ,UAAU;wEAC7H;wEACAguB,aAAa6Q,WAAW;qEACzB;gEAAC;6DACH;wDAAC;wDACF,aAAa,GAAI,CAAA,GAAGiB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE9B,UAAU;gEAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAAyCJ,UAAU;gEAAc;gEACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAkDJ,UAAU;wEAC7H;wEACAguB,aAAa8Q,WAAW;qEACzB;gEAAC;6DACH;wDAAC;qDACH;gDAAC;gDACF,aAAa,GAAI,CAAA,GAAGgB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAAsEJ,UAAU;wDACjJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAyCJ,UAAU;wDAAe;wDACrI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;4DAAEtB,WAAW;4DAAkDJ,UAAUilC,WAAWh6B,GAAG;wDAAC;qDAC/I;gDAAC;6CACH;wCAAC;oCACJ;iCACD;4BAAC;yBACH;oBAAC;oBACFmd,cAAc,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAG0X,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BAC3M,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU,AAAC;wDACvI+iC,kBACLA;oDADP,IAAM2J,OAAM3J,mBAAAA,cAAc,CAACA,eAAe7hC,MAAM,GAAG,EAAE,cAAzC6hC,uCAAAA,iBAA2C/6B,EAAE;oDACzD,OAAO+6B,EAAAA,uBAAAA,eAAe1oB,IAAI,CAAC,SAACsyB;+DAAMA,EAAE3kC,EAAE,KAAK0kC;oEAApC3J,2CAAAA,qBAA0Cp5B,KAAK,KAAI;gDAC5D;4CAAK;4CACL,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgCJ,UAAU,AAAC;wDAC/F+iC;oDAAZ,IAAM2J,OAAM3J,mBAAAA,cAAc,CAACA,eAAe7hC,MAAM,GAAG,EAAE,cAAzC6hC,uCAAAA,iBAA2C/6B,EAAE;oDACzD,IAAMxG,SAASuhC,eAAe1oB,IAAI,CAAC,SAACsyB;+DAAMA,EAAE3kC,EAAE,KAAK0kC;;oDACnD,IAAM9pC,SAAS;wDAAC;wDAAqB;wDAAsB;wDAAsB;wDAAqB;qDAAqB;oDAC3H,OAAO,AAACpB,CAAAA,CAAAA,mBAAAA,6BAAAA,OAAQuY,OAAO,KAAI,EAAC,AAAC,EAAEpY,GAAG,CAAC,SAACkY,KAAKyL;+DAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA2BJ,UAAU;gEACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oEAAEtB,WAAW;oEAA0CgE,OAAO;wEAAEuC,iBAAiB/D,MAAM,CAAC0iB,MAAM1iB,OAAO1B,MAAM,CAAC;oEAAC;gEAAE;gEACpK,aAAa,GAAI,CAAA,GAAG4+B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAAkDJ,UAAU6Z;gEAAI;6DACpI;wDAAC,GAAGA;;gDACP;4CAAK;yCACN;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGimB,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAA0CJ,UAAU;oDACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;wDAAEtB,WAAW;wDAA2EJ,UAAU;oDAAkB;oDACxK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;wDAAEtB,WAAW;wDAA+IJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAEgE,OAAO;4DAAMD,QAAQ;4DAAMslB,SAAS;4DAAaO,MAAM;4DAAgB1rB,UAAU;gEACrW,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;oEAAEk7B,IAAI;oEAAKC,IAAI;oEAAKC,GAAG;gEAAI;gEACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;oEAAEk7B,IAAI;oEAAKC,IAAI;oEAAKC,GAAG;gEAAI;gEACnF,aAAa,GAAI,CAAA,GAAGgD,qBAAqBp+B,GAAE,AAAC,EAAE,UAAU;oEAAEk7B,IAAI;oEAAKC,IAAI;oEAAMC,GAAG;gEAAI;6DACrF;wDAAC;oDAAG;iDACN;4CAAC;4CACD;oDACYiG,kBAA4BA,mBAA4BA,mBAClCA,mBACCA,mBACGA,mBAErBY;gDALhB,IAAMiJ,MAAK7J,mBAAAA,cAAc,CAAC,EAAE,cAAjBA,uCAAAA,iBAAmB/6B,EAAE,EAAE6kC,MAAK9J,oBAAAA,cAAc,CAAC,EAAE,cAAjBA,wCAAAA,kBAAmB/6B,EAAE,EAAE8kC,MAAK/J,oBAAAA,cAAc,CAAC,EAAE,cAAjBA,wCAAAA,kBAAmB/6B,EAAE;gDACxF,IAAM6C,OAAOg4B,YAAY,CAAC+J,GAAG,MAAI7J,oBAAAA,cAAc,CAAC,EAAE,cAAjBA,wCAAAA,kBAAmBhpB,OAAO,CAAC,EAAE,KAAI;gDAClE,IAAMjP,QAAQ+3B,YAAY,CAACgK,GAAG,MAAI9J,oBAAAA,cAAc,CAAC,EAAE,cAAjBA,wCAAAA,kBAAmBhpB,OAAO,CAAC,EAAE,KAAI;gDACnE,IAAMgrB,WAAWlC,YAAY,CAACiK,GAAG,MAAI/J,oBAAAA,cAAc,CAAC,EAAE,cAAjBA,wCAAAA,kBAAmBhpB,OAAO,CAAC,EAAE,KAAI;gDACtE,IAAM4pB,WAAW9B,CAAAA,yBAAAA,mCAAAA,YAAc,CAACh3B,KAAK,KAAI,CAAC;gDAC1C,IAAMkiC,UAAUpJ,CAAAA,qBAAAA,gCAAAA,kBAAAA,QAAU,CAAC74B,MAAM,cAAjB64B,sCAAAA,eAAmB,CAACoB,SAAS,KAAI,EAAE;gDACnD,IAAMiI,WAAWD,QAAQ7rC,MAAM,GAAG6rC,QAAQhT,MAAM,CAAC,SAACxV,KAAK9iB;2DAAMA,EAAE7G,KAAK,GAAG2pB,IAAI3pB,KAAK,GAAG6G,IAAI8iB;mDAAKwoB,OAAO,CAAC,EAAE,IAAI;gDAC1G,IAAME,aAAaF,QAAQ7rC,MAAM,GAAG6rC,QAAQhT,MAAM,CAAC,SAACnV,KAAKnjB;2DAAMA,EAAE7G,KAAK,GAAGgqB,IAAIhqB,KAAK,GAAG6G,IAAImjB;mDAAKmoB,OAAO,CAAC,EAAE,IAAI;gDAC5G,IAAMvG,MAAMuG,QAAQ7rC,MAAM,GAAGgS,KAAKC,KAAK,CAAC45B,QAAQhT,MAAM,CAAC,SAACC,GAAGv4B;2DAAMu4B,IAAIv4B,EAAE7G,KAAK;mDAAE,KAAKmyC,QAAQ7rC,MAAM,IAAI;gDACrG,IAAMgsC,WAAWH,QAAQvrC,MAAM,CAAC,SAACC;2DAAMA,EAAE7G,KAAK,GAAG4rC;mDAAKtlC,MAAM;gDAC5D,IAAMg6B,aAAagS,WAAWH,QAAQ7rC,MAAM,GAAGgsC;gDAC/C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGpN,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oDAAE1B,WAAW;oDAAuBJ,UAAU;wDACzG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA8BJ,UAAU;gEACzG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAUJ,UAAU;wEACrF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAgFJ,UAAU;wEAAe;wEAC3K,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAA2EJ,UAAUgtC,CAAAA,qBAAAA,+BAAAA,SAAUrjC,KAAK,KAAI;wEAAM;qEACjL;gEAAC;gEACF,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAUJ,UAAU;wEACrF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAgFJ,UAAU;wEAAiB;wEAC7K,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAA2EJ,UAAUitC,CAAAA,uBAAAA,iCAAAA,WAAYtjC,KAAK,KAAI;wEAAM;qEACnL;gEAAC;6DACH;wDAAC;wDACF,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA8BJ,UAAU;gEACzG,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAUJ,UAAU;wEACrF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAgFJ,UAAU;wEAAU;wEACtK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAA2EJ,UAAUwmC;wEAAI;qEAC5J;gEAAC;gEACF,aAAa,GAAI,CAAA,GAAG1G,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;oEAAE1B,WAAW;oEAAUJ,UAAU;wEACrF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;4EAAEtB,WAAW;4EAAgFJ,UAAU;wEAAQ;wEACpK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4EAAE1B,WAAW;4EAA2BgE,OAAO;gFAAEwB,OAAOs1B,aAAa,uBAAuB;4EAAoB;4EAAGl7B,UAAU;gFACjL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oFAAEoE,OAAO;oFAAMD,QAAQ;oFAAMslB,SAAS;oFAAaO,MAAM;oFAAQtnB,OAAO;wFAAEiT,WAAW6jB,aAAa,iBAAiB;oFAAiB;oFAAGl7B,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wFAAE2L,GAAG;wFAAoCqe,MAAM;oFAAe;gFAAG;gFAC7T,aAAa,GAAI,CAAA,GAAGoU,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oFAAEtB,WAAW;oFAAmDJ,UAAUk7B,aAAa,aAAa;gFAAW;6EACtK;wEAAC;qEACH;gEAAC;6DACH;wDAAC;wDACF,aAAa,GAAI,CAAA,GAAG4E,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;4DAAE1B,WAAW;4DAA6DJ,UAAU;gEACxI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAA0CJ,UAAU;gEAAe;gEACtI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oEAAEtB,WAAW;oEAA0CJ,UAAUitC,CAAAA,uBAAAA,iCAAAA,WAAYtjC,KAAK,KAAI;gEAAM;6DACnJ;wDAAC;qDACH;gDAAC;4CACJ;yCACD;oCAAC;iCACH;4BAAC;yBACH;oBAAC;oBACFye,cAAc,SAAS4e,kBAAkB,AAAgB,aAAH,GAAI,CAAA,GAAGlH,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAUJ,UAAU8pB;oBAAc;oBAC5I1B,CAAAA,cAAc,UAAUA,cAAc,UAAUA,cAAc,KAAI,KAAM,CAAC6a,eAAe,AAAgB,aAAH,GAAI,CAAA,GAAGnD,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAoGJ,UAAU;4BACxQ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAwMJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oCAAEtB,WAAW;oCAAwBJ,UAAU8pB;gCAAc;4BAAG;4BACzY,aAAa,GAAI,CAAA,GAAGgW,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAwDJ,UAAU;oCACnI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAU;4CAC9J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gDAAEtB,WAAW;gDAAgCJ,UAAUuiC,QAAQ5gC,GAAG,CAAC,SAACC,MAAM0jB;oDAC7H,IAAI2lB,UAAU;oDACd,IAAIrpC,KAAK+H,KAAK,KAAK,WAAWshC,UAAU;yDACnC,IAAIrpC,KAAK+H,KAAK,KAAK,UAAUshC,UAAU;yDACvC,IAAIrpC,KAAK+H,KAAK,KAAK,iBAAiBshC,UAAU;oDACnD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGnL,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wDAAE1B,WAAW;wDAA0BJ,UAAU;4DAC5G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gEAAE1B,WAAW;gEAAkBJ,UAAU;oEAC7F,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAAgHJ,UAAU4B,KAAK+H,KAAK;oEAAC;oEACvM,aAAa,GAAI,CAAA,GAAGm2B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wEAAEtB,WAAW;wEAA4EJ,UAAU4B,KAAK0e,WAAW;oEAAC;iEAC1K;4DAAC;4DACF,aAAa,GAAI,CAAA,GAAGwf,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gEAAEtB,WAAW;gEAA0KgE,OAAO;oEAAEuC,iBAAiBskC;gEAAQ;gEAAGjrC,UAAU4B,KAAKhH,KAAK;4DAAC;yDACvS;oDAAC,GAAG0qB;gDACP;4CAAG;yCACJ;oCAAC;oCACF,aAAa,GAAI,CAAA,GAAGwa,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wCAAE1B,WAAW;wCAA0IJ,UAAU;4CACrN,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;gDAAEtB,WAAW;gDAAyEJ,UAAU;4CAAc;4CAClK,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE1B,WAAW;gDAAQJ,UAAU;oDACnF,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA4DJ,UAAU;oDAAe;oDACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAkDJ,UAAUmiC,WAAWsG,WAAW,CAAC7tC,KAAK;oDAAC;oDAC3J,aAAa,GAAI,CAAA,GAAGklC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA0DJ,UAAUmiC,WAAWsG,WAAW,CAACnoB,WAAW;oDAAC;iDAC1K;4CAAC;4CACF,aAAa,GAAI,CAAA,GAAGwf,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gDAAE9B,UAAU;oDAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA4DJ,UAAU;oDAAe;oDACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAAkDJ,UAAUmiC,WAAWuG,YAAY,CAAC9tC,KAAK;oDAAC;oDAC5J,aAAa,GAAI,CAAA,GAAGklC,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wDAAEtB,WAAW;wDAA0DJ,UAAUmiC,WAAWuG,YAAY,CAACpoB,WAAW;oDAAC;iDAC3K;4CAAC;yCACH;oCAAC;iCACH;4BAAC;yBACH;oBAAC;iBACH;YAAC;SACH;IAAC;AACJ;AACAvjB,2BAA2BoF,WAAW,GAAG;AACzC,IAAIymC,oBAAoB;QACtBH,oBAAAA,aACAI,oBAAAA,aACAC,iBAAAA,UACAC,mBAAAA,YACAC,wBAAAA,iBACAC,uBAAAA,gBACAC,uBAAAA,gBACAC,kBAAAA,WACAC,kBAAAA;WACI,AAAgB,aAAH,GAAI,CAAA,GAAGtJ,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAAgJJ,UAAU;YACjO,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAkFJ,UAAU;oBAC7J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA8DJ,UAAU;oBAAiB;oBAC3J,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA6EJ,UAAUopC;oBAAU;iBACpK;YAAC;YACF,aAAa,GAAI,CAAA,GAAGtJ,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA8FJ,UAAU;YAAe;YACzL,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA8FJ,UAAUyoC;YAAY;YACtL,aAAa,GAAI,CAAA,GAAG3I,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;YAA+E;YACjJ,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA2EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK4iB;oBAAa/hB,KAAK;oBAAI1mB,WAAW;gBAA6C;YAAG;YACpS,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA8GJ,UAAU;YAAW;YACrM,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAmGJ,UAAU8oC;YAAS;YACxL,aAAa,GAAI,CAAA,GAAGhJ,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA6GJ,UAAU+oC;YAAW;YACpM,aAAa,GAAI,CAAA,GAAGjJ,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA4EJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK+iB;oBAAiBliB,KAAK;oBAAI1mB,WAAW;gBAAuD;YAAG;YACnT,aAAa,GAAI,CAAA,GAAG0/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA+GJ,UAAUipC;YAAe;YAC1M,aAAa,GAAI,CAAA,GAAGnJ,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAoGJ,UAAUkpC;YAAe;YAC/L,aAAa,GAAI,CAAA,GAAGpJ,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA8GJ,UAAUmpC;YAAU;SACrM;IAAC;;AACF,IAAIc,mBAAmB;QAAGC,kBAAAA;WAAgB,AAAgB,aAAH,GAAI,CAAA,GAAGpK,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;QAAE1B,WAAW;QAA0IJ,UAAU;YAC/P,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA0CJ,UAAU;oBACrH,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,MAAM;wBAAEtB,WAAW;wBAA4DJ,UAAU;oBAAgB;oBACvJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA2BgE,OAAO;4BAAEwB,OAAOskC,UAAUtF,UAAU,GAAG,uBAAuB;wBAAoB;wBAAG5kC,UAAU;4BAC3L,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEoE,OAAO;gCAAMD,QAAQ;gCAAMslB,SAAS;gCAAaO,MAAM;gCAAQtnB,OAAO;oCAAEiT,WAAW6yB,UAAUtF,UAAU,GAAG,iBAAiB;gCAAiB;gCAAG5kC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;oCAAE2L,GAAG;oCAAoCqe,MAAM;gCAAe;4BAAG;4BACvU,aAAa,GAAI,CAAA,GAAGoU,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;gCAAEtB,WAAW;gCAA6BJ,UAAUkqC,UAAUhF,MAAM;4BAAC;yBAC5H;oBAAC;iBACH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGpF,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE9B,UAAU;oBAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA0CJ,UAAU;oBAAW;oBACjI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAsDJ,UAAUkqC,UAAUnwC,IAAI;oBAAC;iBAClJ;YAAC;YACF,aAAa,GAAI,CAAA,GAAG+lC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAA+BJ,UAAU;oBAC1G,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE9B,UAAU;4BAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAyCJ,UAAU;4BAAU;4BAC/H,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAkDJ,UAAUkqC,UAAU9M,OAAO;4BAAC;yBACjJ;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAG0C,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;wBAAE9B,UAAU;4BAChE,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAyCJ,UAAU;4BAAS;4BAC9H,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAmDJ,UAAUkqC,UAAU7M,MAAM;4BAAC;yBACjJ;oBAAC;iBACH;YAAC;YACF,aAAa,GAAI,CAAA,GAAGyC,qBAAqBh+B,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAsEJ,UAAU;oBACjJ,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAyCJ,UAAU;oBAAe;oBACrI,aAAa,GAAI,CAAA,GAAG8/B,qBAAqBp+B,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAkDJ,UAAUkqC,UAAUjF,UAAU;oBAAC;iBACrJ;YAAC;SACH;IAAC;;AAEF,6BAA6B;AAC7B,IAAIkI,iBAAiB1yC,QAAQmF,QAAQ;AACrC,IAAIwtC,uBAAuBxtC,QAAQ;AACnC,IAAIJ,WAAW;QACby9B,aAAAA,8BACA10B,UAAAA,wCAAW,yBACXvI,iBAAAA,iCACAiF,SAAAA,sCAAU,qDACV7E,WAAAA,0CAAY,uBACZwgC,kBAAAA,WACAj6B,wBAAAA,iBACA0mC,cAAAA,OACA1nC,eAAAA,QACA2nC,kBAAAA;IAEA,IAA8B,wBAAA,AAAC,CAAA,GAAGH,eAAersC,QAAO,AAAC,EAAE,YAApDo0B,UAAuB,SAAdqY,aAAc;IAC9B,IAA8B,yBAAA,AAAC,CAAA,GAAGJ,eAAersC,QAAO,AAAC,EAAE,YAApD0sC,UAAuB,UAAdC,aAAc;IAC9B,IAA0C,yBAAA,AAAC,CAAA,GAAGN,eAAersC,QAAO,AAAC,EAAE,YAAhE4sC,gBAAmC,UAApBC,mBAAoB;IAC1C,IAA8C,yBAAA,AAAC,CAAA,GAAGR,eAAersC,QAAO,AAAC,EAAE;QAAEiT,KAAK;QAAG2G,MAAM;IAAE,QAAtFkzB,kBAAuC,UAAtBC,qBAAsB;IAC9C,IAAgD,yBAAA,AAAC,CAAA,GAAGV,eAAersC,QAAO,AAAC,EAAEyH,eAAtEulC,mBAAyC,UAAvBC,sBAAuB;IAChD,IAAM/zB,aAAamzB,eAAerpC,OAAO,CAAC6O,MAAM,CAAC;IACjD,IAAMq7B,aAAab,eAAerpC,OAAO,CAAC6O,MAAM,CAAC;IACjD,IAAMs7B,aAAa,CAAC,CAAEhR,CAAAA,QAAQoQ,KAAI;IAClC,IAAM/5B,oBAAoB;QACxB,IAAI,CAAC0G,WAAW3G,OAAO,IAAI,CAAC26B,WAAW36B,OAAO,EAAE;QAChD,IAAMmH,OAAOR,WAAW3G,OAAO,CAACG,qBAAqB;QACrD,IAAM06B,cAAcF,WAAW36B,OAAO,CAACG,qBAAqB;QAC5D,IAAMiH,UAAU7L,OAAO6L,OAAO;QAC9B,IAAME,UAAU/L,OAAO+L,OAAO;QAC9B,IAAMwzB,gBAAgBv/B,OAAOC,UAAU;QACvC,IAAMu/B,iBAAiBx/B,OAAOgF,WAAW;QACzC,IAAIG,MAAM;QACV,IAAI2G,OAAO;QACX,IAAI2zB,gBAAgB9lC;QACpB,IAAMijB,SAAS;QACf,IAAMlT,UAAU;QAChB,OAAQ/P;YACN,KAAK;gBACHwL,MAAMyG,KAAKzG,GAAG,GAAG0G,UAAUyzB,YAAYroC,MAAM,GAAG2lB;gBAChD9Q,OAAOF,KAAKE,IAAI,GAAGC,UAAUH,KAAK1U,KAAK,GAAG,IAAIooC,YAAYpoC,KAAK,GAAG;gBAClE,IAAI0U,KAAKzG,GAAG,GAAGm6B,YAAYroC,MAAM,GAAG2lB,SAASlT,SAAS;oBACpD+1B,gBAAgB;oBAChBt6B,MAAMyG,KAAK3G,MAAM,GAAG4G,UAAU+Q;gBAChC;gBACA;YACF,KAAK;gBACHzX,MAAMyG,KAAKzG,GAAG,GAAG0G,UAAUD,KAAK3U,MAAM,GAAG,IAAIqoC,YAAYroC,MAAM,GAAG;gBAClE6U,OAAOF,KAAK8zB,KAAK,GAAG3zB,UAAU6Q;gBAC9B,IAAIhR,KAAK8zB,KAAK,GAAGJ,YAAYpoC,KAAK,GAAG0lB,SAASlT,UAAU61B,eAAe;oBACrEE,gBAAgB;oBAChB3zB,OAAOF,KAAKE,IAAI,GAAGC,UAAUuzB,YAAYpoC,KAAK,GAAG0lB;gBACnD;gBACA;YACF,KAAK;gBACHzX,MAAMyG,KAAK3G,MAAM,GAAG4G,UAAU+Q;gBAC9B9Q,OAAOF,KAAKE,IAAI,GAAGC,UAAUH,KAAK1U,KAAK,GAAG,IAAIooC,YAAYpoC,KAAK,GAAG;gBAClE,IAAI0U,KAAK3G,MAAM,GAAGq6B,YAAYroC,MAAM,GAAG2lB,SAASlT,UAAU81B,gBAAgB;oBACxEC,gBAAgB;oBAChBt6B,MAAMyG,KAAKzG,GAAG,GAAG0G,UAAUyzB,YAAYroC,MAAM,GAAG2lB;gBAClD;gBACA;YACF,KAAK;gBACHzX,MAAMyG,KAAKzG,GAAG,GAAG0G,UAAUD,KAAK3U,MAAM,GAAG,IAAIqoC,YAAYroC,MAAM,GAAG;gBAClE6U,OAAOF,KAAKE,IAAI,GAAGC,UAAUuzB,YAAYpoC,KAAK,GAAG0lB;gBACjD,IAAIhR,KAAKE,IAAI,GAAGwzB,YAAYpoC,KAAK,GAAG0lB,SAASlT,SAAS;oBACpD+1B,gBAAgB;oBAChB3zB,OAAOF,KAAK8zB,KAAK,GAAG3zB,UAAU6Q;gBAChC;gBACA;QACJ;QACA,IAAI9Q,OAAOpC,SAASoC,OAAOpC;aACtB,IAAIoC,OAAOwzB,YAAYpoC,KAAK,GAAGqoC,gBAAgB71B,SAClDoC,OAAOyzB,gBAAgBD,YAAYpoC,KAAK,GAAGwS;QAC7C,IAAIvE,MAAM0G,UAAUnC,SAASvE,MAAM0G,UAAUnC;aACxC,IAAIvE,MAAMm6B,YAAYroC,MAAM,GAAG4U,UAAU2zB,iBAAiB91B,SAC7DvE,MAAM0G,UAAU2zB,iBAAiBF,YAAYroC,MAAM,GAAGyS;QACxDu1B,mBAAmB;YAAE95B,KAAAA;YAAK2G,MAAAA;QAAK;QAC/BqzB,oBAAoBM;QACpBZ,WAAW;IACb;IACA,IAAMc,cAAc;QAClB,IAAI,CAACN,YAAY;QACjBR,WAAW;QACXF,WAAW;QACXiB,sBAAsB;mBAAMl7B;;QAC5B,IAAIg6B,WAAW;YACb,IAAMmB,QAAQnB,UAAUoB,YAAY,IAAI;YACxCC,WAAW;uBAAMhB,iBAAiB;eAAOc;QAC3C;IACF;IACA,IAAMG,cAAc;QAClBrB,WAAW;QACXE,WAAW;QACXE,iBAAiB;QACjBI,oBAAoBxlC;IACtB;IACA4kC,eAAerpC,OAAO,CAACkF,SAAS,CAAC;QAC/B,IAAIksB,SAAS;YACX,IAAM2Z,eAAe;gBACnBL,sBAAsBl7B;YACxB;YACA1E,OAAOzF,gBAAgB,CAAC,UAAU0lC,cAAc;gBAAEC,SAAS;YAAK;YAChElgC,OAAOzF,gBAAgB,CAAC,UAAU0lC;YAClC,OAAO;gBACLjgC,OAAOxF,mBAAmB,CAAC,UAAUylC;gBACrCjgC,OAAOxF,mBAAmB,CAAC,UAAUylC;YACvC;QACF;IACF,GAAG;QAAC3Z;KAAQ;IACZ,IAAM6Z,uBAAuB;QAC3B,IAAI1B,OAAO;YACT,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqB1rC,GAAE,AAAC,EACjD,OACA;gBACEukB,KAAKonB,MAAMpnB,GAAG;gBACda,KAAKumB,MAAMvmB,GAAG,IAAI;gBAClBhhB,OAAOunC,MAAMvnC,KAAK,IAAI;gBACtBD,QAAQwnC,MAAMxnC,MAAM,IAAI;gBACxBmpC,SAAS;gBACT5uC,WAAW;YACb;QAEJ;QACA,OAAO68B;IACT;IACA,IAAMgS,kBAAkB;QACtB,IAAI,CAAC3B,aAAa,CAACI,eAAe,OAAO;QACzC,IAAMwB,qBAAqB5B,UAAU6B,SAAS;QAC9C,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG/B,qBAAqB1rC,GAAE,AAAC,EACjDwtC,oBACA;YACE9G,UAAUsF;WACPJ,UAAUrpC,KAAK;IAGxB;IACA,IAAI,CAACgqC,YAAY,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGb,qBAAqB1rC,GAAE,AAAC,EAAE0rC,qBAAqB7jC,QAAQ,EAAE;QAAEvJ,UAAAA;IAAS;IAChH,IAAMovC,eAAenqC,YAAY,YAAY,wEAAwE;IACrH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGmoC,qBAAqBtrC,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACfzB,KAAK8V;QACL5Z,WAAW,AAAC,yBAAkC,OAAVA;QACpC+1B,cAAcoY;QACdlY,cAAcuY;QACdS,SAASd;QACTe,QAAQV;QACR5uC,UAAU;YACRA;YACAivC;YACA,aAAa,GAAI,CAAA,GAAG7B,qBAAqBtrC,IAAG,AAAC,EAC3C,OACA;gBACEoC,KAAK8pC;gBACLxkC,MAAM;gBACNpF,OAAO;oBACL2P,KAAK65B,gBAAgB75B,GAAG;oBACxB2G,MAAMkzB,gBAAgBlzB,IAAI;oBAC1B9U,OAAOg7B;oBACP16B,YAAYS;gBACd;gBACAvG,WAAW,AAAC,uNAatB80B,OADAka,cAAa,MAEb/B,OADAnY,WAAWsY,UAAU,kCAAkC,oDAAmD,MAC9E,OAA5BH,QAAQ,QAAQ,aAAY;gBAElBrtC,UAAU;oBACR+uC;oBACA9pC,YAAY,aAAa,CAACooC,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqB1rC,GAAE,AAAC,EAC7E,OACA;wBACEtB,WAAW;wBACXgE,OAAO,mBACF0pC,qBAAqB,SAAS;4BAC/Bj6B,QAAQ,CAAC;4BACT6G,MAAM;4BACNrD,WAAW;4BACX8R,aAAa;4BACbD,aAAa;wBACf,GACG4kB,qBAAqB,YAAY;4BAClC/5B,KAAK,CAAC;4BACN2G,MAAM;4BACNrD,WAAW;4BACX8R,aAAa;4BACbD,aAAa;wBACf,GACG4kB,qBAAqB,UAAU;4BAChCQ,OAAO,CAAC;4BACRv6B,KAAK;4BACLsD,WAAW;4BACX8R,aAAa;4BACbD,aAAa;wBACf,GACG4kB,qBAAqB,WAAW;4BACjCpzB,MAAM,CAAC;4BACP3G,KAAK;4BACLsD,WAAW;4BACX8R,aAAa;4BACbD,aAAa;wBACf;oBAEJ;iBAEH;YACH;SAEH;IACH;AAEJ;AACA1pB,SAAS2C,WAAW,GAAG;AAEvB,kCAAkC;AAClC,IAAIotC,iBAAiB90C,QAAQmF,QAAQ;AACrC,IAAI4vC,oBAAoB/0C,QAAQmF,QAAQ;AACxC,IAAI6vC,uBAAuB7vC,QAAQ;AACnC,IAAI8vC,mBAAmB,0BAAC9nC;IACtB,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL;YACE,OAAO;IACX;AACF;AACA,IAAI+nC,cAAc,qBAAC/nC;IACjB,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL;YACE,OAAO;IACX;AACF;AACA,IAAIgoC,gBAAgB,uBAAChoC;IACnB,OAAQA;QACN,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;YACH,OAAO;QACT,KAAK;QACL;YACE,OAAO;IACX;AACF;AACA,IAAIioC,UAAU,iBAACjoC,MAAM1B;IACnB,IAAM9B,QAAQ;QAAE0B,OAAO;QAAQD,QAAQ;QAAQiqC,WAAW;IAAU;IACpE,IAAMC,UAAUnoC,KAAKk5B,MAAM,CAAC,GAAGC,WAAW,KAAKn5B,KAAKkvB,KAAK,CAAC;IAC1D,IAAI5wB,eAAe,eAAe;QAChC,OAAQ0B;YACN,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG6nC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAA2Ba,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YACpH,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAAuBa,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YAChH,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAAyBa,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YAClH;gBACE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAA6Ba,KAAKipB;oBAAS3rC,OAAAA;gBAAM;QACxH;IACF,OAAO;QACL,OAAQwD;YACN,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG6nC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAA2Ba,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YACpH,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAAuBa,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YAChH,KAAK;gBACH,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAAuBa,KAAKipB;oBAAS3rC,OAAAA;gBAAM;YAChH;gBACE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGqrC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAK;oBAA6Ba,KAAKipB;oBAAS3rC,OAAAA;gBAAM;QACxH;IACF;AACF;AACA,IAAI9E,eAAeiwC,eAAezrC,OAAO,CAACC,UAAU,CAClD;;;;4FACE6D,MAAAA,8BAAO,4BACP7H,AAAOiwC,oBAAPjwC,OACAkwC,gBAAAA,SACAznC,gBAAAA,gCACA+U,WAAAA,wCAAY,6CACZ2yB,UAAAA,sCAAW,6CACXhqC,YAAAA,0CAAa,2BACbiqC,eAAAA,QACAC,eAAAA,QACAhwC,kBAAAA,WACAuF,eAAAA,QACG0qC;;;;;;;;;;;;6CACFnsC;IACD,IAAMosC,kBAAkBpqC,eAAe,gBAAgB,aAAa;IACpE,IAAMqqC,eAAeP,wBAAAA,yBAAAA,cAAepoC,KAAKk5B,MAAM,CAAC,GAAGC,WAAW,KAAKn5B,KAAKkvB,KAAK,CAAC;IAC9E,IAAM0Z,aAAaJ,UAAUA,OAAOlvC,MAAM,GAAG;IAC5C,CAAA,GAAGquC,eAAevmC,SAAQ,AAAC,EAAE;QAC5B,IAAI,CAACR,SAAS;QACd,IAAI0nC,YAAY,GAAG;QACnB,IAAMO,QAAQ9B,WAAWnmC,SAAS0nC;QAClC,OAAO;mBAAMQ,aAAaD;;IAC5B,GAAG;QAACP;QAAU1nC;KAAQ;IACtB,IAAMmoC,eAAeR,CAAAA,mBAAAA,6BAAAA,OAAQQ,YAAY,KAAKzqC,CAAAA,eAAe,gBAAgB,2BAA2B,kBAAiB;IACzH,IAAM0qC,cAAcT,CAAAA,mBAAAA,6BAAAA,OAAQU,OAAO,IAAG,AAAgB,aAAH,GAAI,CAAA,GAAGpB,qBAAqB/tC,GAAE,AAAC,EAChF,OACA;QACEukB,KAAKkqB,OAAOU,OAAO;QACnB/pB,KAAKlf;QACLxD,OAAO;YACL0B,OAAOqqC,OAAOW,SAAS,IAAI;YAC3BjrC,QAAQsqC,OAAOY,UAAU,IAAI;YAC7BjB,WAAW;QACb;IACF,KACED,QAAQjoC,MAAM1B;IAClB,IAAM/E,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGsuC,qBAAqB3tC,IAAG,AAAC,EAC3D,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvB,OAAO;YACL8B,YAAYA,eAAe,gBAAgB,YAAYypC,YAAY/nC;QACrE;QACAxH,WAAW,AAAC,oGAElBkwC,OADAE,aAAa,sBAAsB,mCAAkC,OAErEpwC,OADAkwC,iBAAgB,MACA,OAAhBlwC,aAAa;QACPoJ,MAAM;QACN,aAAa;OACV6mC;QACHrwC,UAAU;YACR,aAAa,GAAI,CAAA,GAAGyvC,qBAAqB/tC,GAAE,AAAC,EAC1C,OACA;gBACEtB,WAAW;gBACXgE,OAAO;oBAAE8B,YAAYwpC,iBAAiB9nC;gBAAM;YAC9C;YAEF,aAAa,GAAI,CAAA,GAAG6nC,qBAAqB3tC,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAyCJ,UAAU;oBACpH,aAAa,GAAI,CAAA,GAAGyvC,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAoFJ,UAAU4wC;oBAAY;oBAC5K,aAAa,GAAI,CAAA,GAAGnB,qBAAqB3tC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAwBJ,UAAU;4BACnG,aAAa,GAAI,CAAA,GAAGyvC,qBAAqB/tC,GAAE,AAAC,EAC1C,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCACL0Z,YAAYqyB,CAAAA,mBAAAA,6BAAAA,OAAQa,eAAe,KAAI;oCACvCprC,OAAOuqC,CAAAA,mBAAAA,6BAAAA,OAAQnnB,UAAU,KAAK9iB,CAAAA,eAAe,gBAAgB0pC,cAAchoC,QAAQ,OAAM;gCAC3F;gCACA5H,UAAUuwC;4BACZ;4BAEFN,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGR,qBAAqB/tC,GAAE,AAAC,EACrD,OACA;gCACEtB,WAAW;gCACXgE,OAAO;oCACL0Z,YAAYqyB,CAAAA,mBAAAA,6BAAAA,OAAQc,iBAAiB,KAAI;oCACzCrrC,OAAOuqC,CAAAA,mBAAAA,6BAAAA,OAAQe,YAAY,KAAKhrC,CAAAA,eAAe,gBAAgB,SAAS,OAAM;gCAChF;gCACAlG,UAAUiwC;4BACZ;yBAEH;oBAAC;oBACF1yB,aAAa/U,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGinC,qBAAqB/tC,GAAE,AAAC,EAClE,UACA;wBACEM,SAASwG;wBACT,cAAc;wBACdpI,WAAW;wBACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGyvC,qBAAqB/tC,GAAE,AAAC,EACpD,OACA;4BACEukB,KAAK0qB;4BACL7pB,KAAK;4BACL1iB,OAAO;gCACL0B,OAAOqqC,CAAAA,mBAAAA,6BAAAA,OAAQgB,cAAc,KAAI;gCACjCtrC,QAAQsqC,CAAAA,mBAAAA,6BAAAA,OAAQiB,eAAe,KAAI;gCACnCtB,WAAW;4BACb;wBACF;oBAEJ;iBAEH;YAAC;YACFU,cAAc,AAAgB,aAAH,GAAI,CAAA,GAAGf,qBAAqB/tC,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAiDJ,QAAQ,EAAEowC,mBAAAA,6BAAAA,OAAQzuC,GAAG,CAAC,SAAC0vC,KAAKhwC;2BAAU,AAAgB,aAAH,GAAI,CAAA,GAAGouC,qBAAqB/tC,GAAE,AAAC,EACjN,UACA;wBACEM,SAASqvC,IAAIrvC,OAAO;wBACpB5B,WAAW;wBACXJ,UAAUqxC,IAAI1nC,KAAK;oBACrB,GACAtI;;YACC;SACJ;;IAGL,OAAOmuC,kBAAkB1rC,OAAO,CAAC+W,YAAY,CAAC1Z,SAAS+H,SAASG,IAAI;AACtE;AAEF/J,aAAa6C,WAAW,GAAG;AAE3B,uCAAuC;AACvC,IAAImvC,iBAAiB1xC,QAAQ;AAC7B,IAAI2xC,uBAAuB3xC,QAAQ;AACnC,IAAI3C,oBAAoB;QACtB0I,eAAAA,QACAyiC,iBAAAA,uCACAoJ,eAAAA,kDAAgB,oDAChBtB,UAAAA,wCAAW,6CACXttC,QAAAA,oCAAS;QACP;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD,uCACD6uC,OAAAA,kCAAQ,gDACRC,cAAAA,gDAAe,oDACfC,aAAAA,8CAAc;IAEd,IAAkC,wBAAA,AAAC,CAAA,GAAGL,eAAexwC,QAAO,AAAC,EAAE,EAAE,OAA1D8wC,YAA2B,SAAhBC,eAAgB;IAClC,IAAMC,oBAAoB,AAAC,CAAA,GAAGR,eAAe3+B,MAAK,AAAC,EAAE,KAAK;IAC1D,IAAMo/B,WAAW,AAAC,CAAA,GAAGT,eAAe3+B,MAAK,AAAC,EAAE,KAAK;IACjD,IAAMq/B,eAAe,AAAC,CAAA,GAAGV,eAAe3qB,OAAM,AAAC,EAAE;eAAM/jB;OAAQ;QAAC8c,KAAKC,SAAS,CAAC/c;KAAQ;IACtF,CAAA,GAAG0uC,eAAetoC,SAAQ,AAAC,EAAE;QAC5B,IAAIo/B,UAAU;YACZ,IAAM6J,eAAej7B,MAAM5c,IAAI,CAAC;gBAAE8G,QAAQswC;YAAc,GAAG,SAACv6B,GAAGxV;gBAC7D,IAAMupB,QAAQ9X,KAAK0oB,MAAM,KAAK1oB,KAAK2Z,EAAE,GAAG;gBACxC,IAAMqlB,QAAQ,AAACh/B,CAAAA,KAAK0oB,MAAM,KAAK,IAAI,CAAA,IAAK6V;gBACxC,IAAMU,WAAWj/B,KAAK0oB,MAAM,KAAK;gBACjC,IAAMwW,SAASD,WAAW,IAAI;gBAC9B,OAAO;oBACLnqC,IAAIvG;oBACJmE,OAAOosC,YAAY,CAAC9+B,KAAKgmB,KAAK,CAAChmB,KAAK0oB,MAAM,KAAKoW,aAAa9wC,MAAM,EAAE;oBACpEgE,MAAMgO,KAAK0oB,MAAM,KAAK8V,eAAeA,eAAe;oBACpDW,OAAO;wBAAC;wBAAU;wBAAa;qBAAO,CAACn/B,KAAKgmB,KAAK,CAAChmB,KAAK0oB,MAAM,KAAK,GAAG;oBACrE0W,UAAUp/B,KAAK0oB,MAAM,KAAK;oBAC1B2W,eAAe,AAACr/B,CAAAA,KAAK0oB,MAAM,KAAK,GAAE,IAAK;oBACvCtS,GAAG8oB;oBACHjlC,GAAG;oBACHqlC,IAAIt/B,KAAK6Z,GAAG,CAAC/B,SAASknB,QAASC,CAAAA,WAAW,IAAI,CAAC,CAAA;oBAC/CM,IAAI,CAACv/B,KAAK8Z,GAAG,CAAChC,SAASknB,QAAQ;oBAC/BQ,SAAS,MAAMx/B,KAAK0oB,MAAM,KAAK;oBAC/BvjB,SAAS;oBACTs6B,MAAM;oBACNlE,OAAOv7B,KAAK0oB,MAAM,KAAK;gBACzB;YACF;YACAiW,aAAaI;YACb,IAAIt9B;YACJ,IAAMi+B,UAAU,kBAAC7X;gBACf,IAAI,CAACpmB,WAAWA,YAAYomB;gBAC5B,IAAM8X,UAAU9X,YAAYpmB;gBAC5Bk9B,aACE,SAACiB;2BAAkBA,cAAcnxC,GAAG,CAAC,SAACoxC;wBACpC,IAAIF,UAAUE,SAAStE,KAAK,EAAE,OAAOsE;wBACrC,IAAMJ,OAAOz/B,KAAKqR,GAAG,CAAC,GAAG,IAAI,AAACsuB,CAAAA,UAAUE,SAAStE,KAAI,AAAC,IAAIyB;wBAC1D,IAAIyC,QAAQ,GAAG,OAAOI;wBACtB,OAAO,wCACFA;4BACHzpB,GAAGypB,SAASzpB,CAAC,GAAGypB,SAASP,EAAE,GAAG;4BAC9BrlC,GAAG4lC,SAAS5lC,CAAC,GAAG4lC,SAASN,EAAE,GAAG;4BAC9BA,IAAIM,SAASN,EAAE,GAAGM,SAASL,OAAO;4BAClCJ,UAAUS,SAAST,QAAQ,GAAGS,SAASR,aAAa;4BACpDl6B,SAASs6B;4BACTA,MAAAA;;oBAEJ,GAAGnxC,MAAM,CAAC,SAACuG;+BAAMA,EAAE4qC,IAAI,GAAG;;;gBAE5B,IAAIE,UAAU3C,UAAU;oBACtB4B,kBAAkBz+B,OAAO,GAAGm7B,sBAAsBoE;gBACpD;YACF;YACAd,kBAAkBz+B,OAAO,GAAGm7B,sBAAsBoE;YAClDb,SAAS1+B,OAAO,GAAGs7B,WAAW;gBAC5B,IAAImD,kBAAkBz+B,OAAO,EAAE2/B,qBAAqBlB,kBAAkBz+B,OAAO;gBAC7Ew+B,aAAa,EAAE;YACjB,GAAG3B,WAAW;YACd,OAAO;gBACL,IAAI4B,kBAAkBz+B,OAAO,EAAE2/B,qBAAqBlB,kBAAkBz+B,OAAO;gBAC7E,IAAI0+B,SAAS1+B,OAAO,EAAEq9B,aAAaqB,SAAS1+B,OAAO;YACrD;QACF,OAAO;YACLw+B,aAAa,EAAE;QACjB;IACF,GAAG;QAACzJ;QAAUoJ;QAAetB;QAAU8B;QAAcP;QAAOC;KAAa;IACzE,IAAI,CAACtJ,YAAYwJ,UAAU1wC,MAAM,KAAK,GAAG,OAAO;IAChD,OACE,AACgB,kDADkC;IAClD,aAAa,GAAI,CAAA,GAAGqwC,qBAAqB7vC,GAAE,AAAC,EAC1C,OACA;QACE,eAAeiE;QACfvF,WAAW;QACXgE,OAAO;YAAEyB,QAAQ,AAAC,GAAc,OAAZ8rC,aAAY;QAAI;QACpC3xC,UAAU4xC,UAAUjwC,GAAG,CAAC,SAACoxC;YACvB,IAAME,eAAeF,SAASV,KAAK,KAAK,SAAS,AAAC,6BAA2EU,OAA/CA,SAASntC,KAAK,EAAC,kCAAgFmtC,OAAhDA,SAASntC,KAAK,EAAC,mCAAgD,OAAfmtC,SAASntC,KAAK,EAAC,gBAAc,KAAK;YAC/M,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG2rC,qBAAqB7vC,GAAE,AAAC,EACjD,OACA;gBACEtB,WAAW;oBACT;oBACA;oBACA,gCAAgC;oBAChC2yC,SAASV,KAAK,KAAK,WAAW,iBAAiB;oBAC/CU,SAASV,KAAK,KAAK,cAAc,kBAAkB;iBAEpD,CAAC9yB,IAAI,CAAC;gBACPnb,OAAO;oBACL,oFAAoF;oBACpFsW,MAAM,AAAC,GAAa,OAAXq4B,SAASzpB,CAAC,EAAC;oBACpBzV,QAAQ,AAAC,GAAa,OAAXk/B,SAAS5lC,CAAC,EAAC;oBACtBrH,OAAO,AAAC,GAAgB,OAAditC,SAAS7tC,IAAI,EAAC;oBACxBW,QAAQ,AAAC,GAAgB,OAAdktC,SAAS7tC,IAAI,EAAC;oBACzBmT,SAAS06B,SAAS16B,OAAO;oBACzBhB,WAAW,AAAC,UAA2B,OAAlB07B,SAAST,QAAQ,EAAC;oBACvC3rC,iBAAiBosC,SAASV,KAAK,KAAK,SAAS,gBAAgBU,SAASntC,KAAK;mBACxEmtC,SAASV,KAAK,KAAK,UAAU;oBAC9BnsC,YAAY+sC;oBACZC,UAAU;gBACZ;YAEJ,GACAH,SAAS/qC,EAAE;QAEf;IACF;AAGN;AACA/K,kBAAkBkF,WAAW,GAAG;AAEhC,uCAAuC;AACvC,IAAIgxC,iBAAiBvzC,QAAQ;AAC7B,IAAIwzC,uBAAuBxzC,QAAQ;AACnC,IAAIpB,oBAAoB;QACtBmH,eAAAA,QACAyiC,iBAAAA,uCACAoJ,eAAAA,kDAAgB,oDAChBtB,UAAAA,wCAAW,6CACXttC,QAAAA,oCAAS;QACP;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD,uCACD6uC,OAAAA,kCAAQ,gDACRC,cAAAA,gDAAe,oDACfC,aAAAA,8CAAc;IAEd,IAAkC,wBAAA,AAAC,CAAA,GAAGwB,eAAeryC,QAAO,AAAC,EAAE,EAAE,OAA1D8wC,YAA2B,SAAhBC,eAAgB;IAClC,IAAMC,oBAAoB,AAAC,CAAA,GAAGqB,eAAexgC,MAAK,AAAC,EAAE,KAAK;IAC1D,IAAMo/B,WAAW,AAAC,CAAA,GAAGoB,eAAexgC,MAAK,AAAC,EAAE,KAAK;IACjD,IAAMq/B,eAAe,AAAC,CAAA,GAAGmB,eAAexsB,OAAM,AAAC,EAAE;eAAM/jB;OAAQ;QAAC8c,KAAKC,SAAS,CAAC/c;KAAQ;IACtF,CAAA,GAAGuwC,eAAenqC,SAAQ,AAAC,EAAE;QAC5B,IAAIo/B,UAAU;YACZ,IAAM6J,eAAej7B,MAAM5c,IAAI,CAAC;gBAAE8G,QAAQswC;YAAc,GAAG,SAACv6B,GAAGxV;gBAC7D,IAAMupB,QAAQ9X,KAAK0oB,MAAM,KAAK1oB,KAAK2Z,EAAE,GAAG;gBACxC,IAAMqlB,QAAQ,AAACh/B,CAAAA,KAAK0oB,MAAM,KAAK,IAAI,CAAA,IAAK6V;gBACxC,IAAMU,WAAWj/B,KAAK0oB,MAAM,KAAK;gBACjC,IAAMwW,SAASD,WAAW,IAAI;gBAC9B,OAAO;oBACLnqC,IAAIvG;oBACJmE,OAAOosC,YAAY,CAAC9+B,KAAKgmB,KAAK,CAAChmB,KAAK0oB,MAAM,KAAKoW,aAAa9wC,MAAM,EAAE;oBACpEgE,MAAMgO,KAAK0oB,MAAM,KAAK8V,eAAeA,eAAe;oBACpDW,OAAO;wBAAC;wBAAU;wBAAa;qBAAO,CAACn/B,KAAKgmB,KAAK,CAAChmB,KAAK0oB,MAAM,KAAK,GAAG;oBACrE0W,UAAUp/B,KAAK0oB,MAAM,KAAK;oBAC1B2W,eAAe,AAACr/B,CAAAA,KAAK0oB,MAAM,KAAK,GAAE,IAAK;oBACvCtS,GAAG8oB;oBACHjlC,GAAG;oBACHqlC,IAAIt/B,KAAK6Z,GAAG,CAAC/B,SAASknB,QAASC,CAAAA,WAAW,IAAI,CAAC,CAAA;oBAC/CM,IAAI,CAACv/B,KAAK8Z,GAAG,CAAChC,SAASknB,QAAQ;oBAC/BQ,SAAS,MAAMx/B,KAAK0oB,MAAM,KAAK;oBAC/BvjB,SAAS;oBACTs6B,MAAM;oBACNlE,OAAOv7B,KAAK0oB,MAAM,KAAK;gBACzB;YACF;YACAiW,aAAaI;YACb,IAAIt9B;YACJ,IAAMi+B,UAAU,kBAAC7X;gBACf,IAAI,CAACpmB,WAAWA,YAAYomB;gBAC5B,IAAM8X,UAAU9X,YAAYpmB;gBAC5Bk9B,aACE,SAACiB;2BAAkBA,cAAcnxC,GAAG,CAAC,SAACoxC;wBACpC,IAAIF,UAAUE,SAAStE,KAAK,EAAE,OAAOsE;wBACrC,IAAMJ,OAAOz/B,KAAKqR,GAAG,CAAC,GAAG,IAAI,AAACsuB,CAAAA,UAAUE,SAAStE,KAAI,AAAC,IAAIyB;wBAC1D,IAAIyC,QAAQ,GAAG,OAAOI;wBACtB,OAAO,wCACFA;4BACHzpB,GAAGypB,SAASzpB,CAAC,GAAGypB,SAASP,EAAE,GAAG;4BAC9BrlC,GAAG4lC,SAAS5lC,CAAC,GAAG4lC,SAASN,EAAE,GAAG;4BAC9BA,IAAIM,SAASN,EAAE,GAAGM,SAASL,OAAO;4BAClCJ,UAAUS,SAAST,QAAQ,GAAGS,SAASR,aAAa;4BACpDl6B,SAASs6B;4BACTA,MAAAA;;oBAEJ,GAAGnxC,MAAM,CAAC,SAACuG;+BAAMA,EAAE4qC,IAAI,GAAG;;;gBAE5B,IAAIE,UAAU3C,UAAU;oBACtB4B,kBAAkBz+B,OAAO,GAAGm7B,sBAAsBoE;gBACpD;YACF;YACAd,kBAAkBz+B,OAAO,GAAGm7B,sBAAsBoE;YAClDb,SAAS1+B,OAAO,GAAGs7B,WAAW;gBAC5B,IAAImD,kBAAkBz+B,OAAO,EAAE2/B,qBAAqBlB,kBAAkBz+B,OAAO;gBAC7Ew+B,aAAa,EAAE;YACjB,GAAG3B,WAAW;YACd,OAAO;gBACL,IAAI4B,kBAAkBz+B,OAAO,EAAE2/B,qBAAqBlB,kBAAkBz+B,OAAO;gBAC7E,IAAI0+B,SAAS1+B,OAAO,EAAEq9B,aAAaqB,SAAS1+B,OAAO;YACrD;QACF,OAAO;YACLw+B,aAAa,EAAE;QACjB;IACF,GAAG;QAACzJ;QAAUoJ;QAAetB;QAAU8B;QAAcP;QAAOC;KAAa;IACzE,IAAI,CAACtJ,YAAYwJ,UAAU1wC,MAAM,KAAK,GAAG,OAAO;IAChD,OACE,AACgB,kDADkC;IAClD,aAAa,GAAI,CAAA,GAAGkyC,qBAAqB1xC,GAAE,AAAC,EAC1C,OACA;QACE,eAAeiE;QACfvF,WAAW;QACXgE,OAAO;YAAEyB,QAAQ,AAAC,GAAc,OAAZ8rC,aAAY;QAAI;QACpC3xC,UAAU4xC,UAAUjwC,GAAG,CAAC,SAACoxC;YACvB,IAAME,eAAeF,SAASV,KAAK,KAAK,SAAS,AAAC,6BAA2EU,OAA/CA,SAASntC,KAAK,EAAC,kCAAgFmtC,OAAhDA,SAASntC,KAAK,EAAC,mCAAgD,OAAfmtC,SAASntC,KAAK,EAAC,gBAAc,KAAK;YAC/M,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGwtC,qBAAqB1xC,GAAE,AAAC,EACjD,OACA;gBACEtB,WAAW;oBACT;oBACA;oBACA,gCAAgC;oBAChC2yC,SAASV,KAAK,KAAK,WAAW,iBAAiB;oBAC/CU,SAASV,KAAK,KAAK,cAAc,kBAAkB;iBAEpD,CAAC9yB,IAAI,CAAC;gBACPnb,OAAO;oBACL,oFAAoF;oBACpFsW,MAAM,AAAC,GAAa,OAAXq4B,SAASzpB,CAAC,EAAC;oBACpBzV,QAAQ,AAAC,GAAa,OAAXk/B,SAAS5lC,CAAC,EAAC;oBACtBrH,OAAO,AAAC,GAAgB,OAAditC,SAAS7tC,IAAI,EAAC;oBACxBW,QAAQ,AAAC,GAAgB,OAAdktC,SAAS7tC,IAAI,EAAC;oBACzBmT,SAAS06B,SAAS16B,OAAO;oBACzBhB,WAAW,AAAC,UAA2B,OAAlB07B,SAAST,QAAQ,EAAC;oBACvC3rC,iBAAiBosC,SAASV,KAAK,KAAK,SAAS,gBAAgBU,SAASntC,KAAK;mBACxEmtC,SAASV,KAAK,KAAK,UAAU;oBAC9BnsC,YAAY+sC;oBACZC,UAAU;gBACZ;YAEJ,GACAH,SAAS/qC,EAAE;QAEf;IACF;AAGN;AACAxJ,kBAAkB2D,WAAW,GAAG;AAEhC,6BAA6B;AAC7B,IAAIkxC,uBAAuBzzC,QAAQ;AACnC,IAAI0zC,SAAS;QAAGtzC,iBAAAA;WAAe,AAAgB,aAAH,GAAI,CAAA,GAAGqzC,qBAAqB3xC,GAAE,AAAC,EAAE,QAAQ;QAAEtB,WAAW;QAAyGJ,UAAAA;IAAS;;AACpN,IAAIP,UAAU;4BACZyF,MAAAA,gCAAO,6CACPikB,aAAAA,8CAAc,oDACdhjB,cAAAA,gDAAe,sDACfotC,cAAAA,gDAAe,gEACf5sC,iBAAAA,sDAAkB,qEAClBurC,OAAAA,kCAAQ,kBACRvsC,eAAAA;IAEA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG0tC,qBAAqB3xC,GAAE,AAAC,EACjD,OACA;QACE,eAAeiE;QACf6D,MAAM;QACN,aAAa;QACbpF,OAAO;YACL0B,OAAOZ;YACPW,QAAQX;YACRikB,aAAAA;YACAhjB,cAAAA;YACA+iB,aAAaviB;YACb6sC,gBAAgBD;YAChBjG,WAAW,AAAC,QAAa,OAAN4E,OAAM;QAC3B;QACA9xC,WAAW;QACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGqzC,qBAAqB3xC,GAAE,AAAC,EAAE4xC,QAAQ;YAAEtzC,UAAU;QAAa;IAC3F;AAEJ;AACA,IAAIvE,kBAAkB;4BACpByJ,MAAAA,gCAAO,uCACPU,OAAAA,kCAAQ,yDACRssC,OAAAA,kCAAQ,6CACRuB,WAAAA,0CAAY,sBACZ9tC,eAAAA;IAEA,IAAM+tC,QAAQ18B,MAAM5c,IAAI,CAAC;QAAE8G,QAAQgS,KAAKqR,GAAG,CAAC,GAAGkvB;IAAW;IAC1D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGJ,qBAAqBvxC,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACf6D,MAAM;QACN,aAAa;QACbpJ,WAAW;QACXgE,OAAO;YAAE0B,OAAOZ;YAAMW,QAAQX;QAAK;QACnClF,UAAU;YACR0zC,MAAM/xC,GAAG,CAAC,SAACsV,GAAGxV;gBACZ,IAAMkyC,WAAWzuC,OAAOzD,IAAKyD,CAAAA,OAAQuuC,CAAAA,YAAY,CAAA,CAAC;gBAClD,IAAMjoB,SAAS,AAACtmB,CAAAA,OAAOyuC,QAAO,IAAK;gBACnC,IAAMt7B,UAAU,IAAI5W,IAAI;gBACxB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EACjD,QACA;oBACE0C,OAAO;wBACL0B,OAAO6tC;wBACP9tC,QAAQ8tC;wBACR5/B,KAAKyX;wBACL9Q,MAAM8Q;wBACNnT,SAAAA;wBACA8Q,aAAajW,KAAKqR,GAAG,CAAC,GAAGovB,WAAW;wBACpCzqB,aAAa;wBACbsqB,gBAAgB5tC;wBAChB0nC,WAAW,AAAC,QAAuB,OAAhB4E,QAAQzwC,IAAI,KAAI;wBACnCmyC,gBAAgB,AAAC,GAAU,OAARnyC,IAAI,KAAI;oBAC7B;oBACArB,WAAW;gBACb,GACAqB;YAEJ;YACA,aAAa,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EAAE4xC,QAAQ;gBAAEtzC,UAAU;YAAa;SAChF;IACH;AAEJ;AACA,IAAIzE,oBAAoB;4BACtB+1B,MAAAA,gCAAO,+CACPuiB,aAAAA,8CAAc,2DACdC,oBAAAA,4DAAqB,6DACrBC,gBAAAA,oDAAiB,yEACjBC,cAAAA,gDAAe,qEACfC,UAAAA,wCAAW,iEACXtqC,OAAAA,kCAAQ,6BACRhE,eAAAA;IAEA,IAAI,CAAC2rB,MAAM,OAAO;IAClB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG+hB,qBAAqB3xC,GAAE,AAAC,EACjD,OACA;QACE,eAAeiE;QACf6D,MAAM;QACN,aAAa;QACbpF,OAAO;YAAEuC,iBAAiBstC;QAAS;QACnC7zC,WAAW;QACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGqzC,qBAAqBvxC,IAAG,AAAC,EAAE,OAAO;YAAE1B,WAAW;YAAoCJ,UAAU;gBACzH,aAAa,GAAI,CAAA,GAAGqzC,qBAAqB3xC,GAAE,AAAC,EAC1CjC,SACA;oBACEyF,MAAM2uC;oBACN1qB,aAAa2qB;oBACb3tC,cAAc;oBACdotC,cAAcQ;oBACdptC,iBAAiBqtC;gBACnB;gBAEF,aAAa,GAAI,CAAA,GAAGX,qBAAqB3xC,GAAE,AAAC,EAAE,QAAQ;oBAAEtB,WAAW;oBAAqCJ,UAAU2J;gBAAM;aACzH;QAAC;IACJ;AAEJ;AACA,IAAI9N,cAAc;4BAChBqJ,MAAAA,gCAAO,sCACPU,OAAAA,kCAAQ,sDACRzB,KAAAA,8BAAM,qCACN+tC,OAAAA,kCAAQ,yCACR1M,OAAAA,kCAAQ,kBACR7/B,eAAAA;IAEA,IAAMuuC,OAAOl9B,MAAM5c,IAAI,CAAC;QAAE8G,QAAQgS,KAAKqR,GAAG,CAAC,GAAGihB;IAAO;IACrD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG6N,qBAAqBvxC,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACf6D,MAAM;QACN,cAAc;QACdpJ,WAAW;QACXJ,UAAU;YACRk0C,KAAKvyC,GAAG,CAAC,SAACsV,GAAGxV;uBAAM,AAAgB,aAAH,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EAC7D,QACA;oBACE,eAAe;oBACf0C,OAAO;wBACL0B,OAAOZ;wBACPW,QAAQX;wBACRyB,iBAAiBf;wBACjB0wB,aAAa70B,MAAMyyC,KAAKhzC,MAAM,GAAG,IAAI,IAAIiD;wBACzCmpC,WAAW,AAAC,cAAmC7rC,OAAtBywC,OAAM,kBAA0C,OAA1BzwC,IAAKywC,CAAAA,QAAQgC,KAAKhzC,MAAK,AAAC,GAAE;oBAC3E;oBACAd,WAAW;gBACb,GACAqB;;YAEF,aAAa,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EAAE4xC,QAAQ;gBAAEtzC,UAAU;YAAgB;SACnF;IACH;AAEJ;AACA,IAAIlE,oBAAoB;4BACtBoJ,MAAAA,gCAAO,sCACPU,OAAAA,kCAAQ,sDACRzB,KAAAA,8BAAM,qCACN+tC,OAAAA,kCAAQ,yCACR1M,OAAAA,kCAAQ,kBACR7/B,eAAAA;IAEA,IAAMuuC,OAAOl9B,MAAM5c,IAAI,CAAC;QAAE8G,QAAQgS,KAAKqR,GAAG,CAAC,GAAGihB;IAAO;IACrD,IAAMiJ,QAAQyD,QAAQ1M;IACtB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG6N,qBAAqBvxC,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACf6D,MAAM;QACN,cAAc;QACdpJ,WAAW;QACXJ,UAAU;YACRk0C,KAAKvyC,GAAG,CAAC,SAACsV,GAAGxV;uBAAM,AAAgB,aAAH,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EAC7D,QACA;oBACE,eAAe;oBACf0C,OAAO;wBACL0B,OAAOZ;wBACPW,QAAQX;wBACRyB,iBAAiBf;wBACjB0wB,aAAa70B,MAAMyyC,KAAKhzC,MAAM,GAAG,IAAI,IAAIiD;wBACzCmpC,WAAW,AAAC,cAAmC7rC,OAAtBywC,OAAM,kBAA0B,OAAVzwC,IAAIgtC,OAAM;oBAC3D;oBACAruC,WAAW;gBACb,GACAqB;;YAEF,aAAa,GAAI,CAAA,GAAG4xC,qBAAqB3xC,GAAE,AAAC,EAAE4xC,QAAQ;gBAAEtzC,UAAU;YAAgB;SACnF;IACH;AAEJ;AACA,IAAIxE,kBAAkB;+BACpBwzC,SAAAA,sCAAU,+CACVmF,UAAAA,wCAAW,yIACXp0C,OAAAA,kCAAQ,2DACRoB,SAAAA,sCAAU,2FACVwE,eAAAA;IAEA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG0tC,qBAAqBvxC,IAAG,AAAC,EAClD,OACA;QACE,eAAe6D;QACfvF,WAAW;QACXJ,UAAU;YACR,aAAa,GAAI,CAAA,GAAGqzC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAAoDJ,UAAU,CAACgvC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGqE,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;oBAAEukB,KAAKkuB;oBAAUrtB,KAAK/mB;oBAAOK,WAAW;gBAA6B,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGizC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;gBAAwB;YAAG;YACvW,aAAa,GAAI,CAAA,GAAGizC,qBAAqBvxC,IAAG,AAAC,EAAE,OAAO;gBAAE1B,WAAW;gBAAOJ,UAAU;oBAClF,CAACgvC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGqE,qBAAqB3xC,GAAE,AAAC,EAAE,MAAM;wBAAEtB,WAAW;wBAA4CJ,UAAUD;oBAAM,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGszC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;oBAAmC;oBAClP,CAAC4uC,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGqE,qBAAqB3xC,GAAE,AAAC,EAAE,KAAK;wBAAEtB,WAAW;wBAAyCJ,UAAUmB;oBAAQ,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGkyC,qBAAqBvxC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAuBJ,UAAU;4BAC7O,aAAa,GAAI,CAAA,GAAGqzC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;4BAA6B;4BAC/F,aAAa,GAAI,CAAA,GAAGizC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;4BAA8B;4BAChG,aAAa,GAAI,CAAA,GAAGizC,qBAAqB3xC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;4BAA8B;yBACjG;oBAAC;iBACH;YAAC;SACH;IACH;AAEJ;AAEA,oCAAoC;AACpC,IAAIg0C,iBAAiBx0C,QAAQ;AAC7B,IAAIy0C,uBAAuBz0C,QAAQ;AACnC,IAAI00C,uBAAuB10C,QAAQ;AACnC,SAASjB,mBAAmB,KAO3B;QANCgL,QAD0B,MAC1BA,OACAoQ,UAF0B,MAE1BA,SACAnf,QAH0B,MAG1BA,OACAsP,WAJ0B,MAI1BA,+BAJ0B,MAK1ByF,aAAAA,8CAAc,oCACdhK,SAN0B,MAM1BA;QA2BY;IAzBZ,IAAwB,wBAAA,AAAC,CAAA,GAAGyuC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAA4B,yBAAA,AAAC,CAAA,GAAGstC,eAAetzC,QAAO,AAAC,EAAE,SAAlDyzC,SAAqB,UAAbC,YAAa;IAC5B,IAAMtwC,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM+W,IAAI,WAAClY;mBAAM3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,KAAKiN,QAAQ;;QAC3EoC,SAASC,gBAAgB,CAAC,aAAa4W;QACvC,OAAO;mBAAM7W,SAASE,mBAAmB,CAAC,aAAa2W;;IACzD,GAAG,EAAE;IACL,IAAM8a,WAAW,CAAC9gB,oBAAAA,qBAAAA,UAAW,EAAE,EAAEvY,MAAM,CACrC,SAAC8Y;eAAMA,EAAE3Q,KAAK,CAAC/F,WAAW,GAAGrC,QAAQ,CAACgzC,OAAO3wC,WAAW;;IAE1D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG0wC,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YACpJ,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC/Bla,WAAW;gBACXJ,UAAU;oBACR,EAAA,QAAA,CAAC+Z,oBAAAA,qBAAAA,UAAW,EAAE,EAAEM,IAAI,CAAC,SAACC;+BAAMA,EAAE1f,KAAK,KAAKA;oCAAxC,4BAAA,MAAgD+O,KAAK,KAAIgG;oBACzD,aAAa,GAAI,CAAA,GAAG2kC,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEF2B,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqBxyC,IAAG,AAAC,EACnD,OACA;gBACE1B,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA0CJ,UAAU;4BACrH,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;gCACEiO,aAAa;gCACb/U,OAAO25C;gCACPrqC,UAAU,SAAVA,SAAWrC;2CAAM2sC,UAAU3sC,EAAEhO,MAAM,CAACe,KAAK;;gCACzCwF,WAAW;4BACb;4BAEFm0C,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqB5yC,GAAE,AAAC,EACpD,UACA;gCACEM,SAAS,SAATA;2CAAewyC,UAAU;;gCACzBp0C,WAAW;gCACXJ,UAAU;4BACZ;yBAEH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAiCJ,UAAU;4BAC5G66B,SAASl5B,GAAG,CAAC,SAAC2Y;uCAAM,AAAgB,aAAH,GAAI,CAAA,GAAGg6B,qBAAqB5yC,GAAE,AAAC,EAC9D,OACA;oCACEM,SAAS,SAATA;wCACEkI,SAASoQ,EAAE1f,KAAK;wCAChBkM,QAAQ;wCACR0tC,UAAU;oCACZ;oCACAp0C,WAAW;oCACXJ,UAAUsa,EAAE3Q,KAAK;gCACnB,GACA2Q,EAAE1f,KAAK;;4BAETigC,SAAS35B,MAAM,KAAK,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAsBJ,UAAU;4BAAa;yBACzI;oBAAC;iBACH;YACH;SAEH;IACH;AAEJ;AACA,SAASjC,oBAAoB,KAM5B;uBAN4B,MAC3B4L,OAAAA,kCAAQ,+BACRoQ,UAF2B,MAE3BA,SACAZ,SAH2B,MAG3BA,QACAjP,WAJ2B,MAI3BA,UACAvE,SAL2B,MAK3BA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGyuC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAA4B,yBAAA,AAAC,CAAA,GAAGstC,eAAetzC,QAAO,AAAC,EAAE,SAAlDyzC,SAAqB,UAAbC,YAAa;IAC5B,IAAMtwC,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACvC,IAAM8hC,cAAc,qBAACnM;QACnBp+B,SAASiP,OAAO3X,MAAM,CAAC,SAAC8d;mBAAMA,MAAMgpB;;IACtC;IACC,CAAA,GAAG8L,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,IAAM85B,cAAc,qBAAC95C;QACnB,IAAIue,OAAO5X,QAAQ,CAAC3G,QAAQ;YAC1BsP,SAASiP,OAAO3X,MAAM,CAAC,SAAC8d;uBAAMA,MAAM1kB;;QACtC,OAAO;YACLsP,SAAS,AAAC,qBAAGiP,eAAJ;gBAAYve;aAAM;QAC7B;IACF;IACA,IAAM+5C,kBAAkB56B,QAAQvY,MAAM,CACpC,SAAC8Y;eAAMA,EAAE3Q,KAAK,CAAC/F,WAAW,GAAGrC,QAAQ,CAACgzC,OAAO3wC,WAAW;;IAE1D,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG0wC,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YAC3I,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,CAACD;;gBACxBzG,WAAW;gBACXJ,UAAU;oBACRmZ,OAAOjY,MAAM,KAAK,IAAI,iBAAiB;oBACvC,aAAa,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEFiU,OAAOjY,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA6BJ,UAAUmZ,OAAOxX,GAAG,CAAC,SAAC2mC;wBAC5HvuB;oBAAZ,IAAM66B,OAAM76B,gBAAAA,QAAQM,IAAI,CAAC,SAACC;+BAAMA,EAAE1f,KAAK,KAAK0tC;oCAAhCvuB,oCAAAA,cAAsCpQ,KAAK;oBACvD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;wBACE1B,WAAW;wBACXJ,UAAU;4BACR40C;4BACA,aAAa,GAAI,CAAA,GAAGN,qBAAqB5yC,GAAE,AAAC,EAC1C2yC,qBAAqB5qC,CAAC,EACtB;gCACEvE,MAAM;gCACN9E,WAAW;gCACX4B,SAAS,SAATA;2CAAeyyC,YAAYnM;;4BAC7B;yBAEH;oBACH,GACAA;gBAEJ;YAAG;YACHzhC,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqBxyC,IAAG,AAAC,EACnD,OACA;gBACE1B,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA0CJ,UAAU;4BACrH,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;gCACE9G,OAAO25C;gCACPrqC,UAAU,SAAVA,SAAWrC;2CAAM2sC,UAAU3sC,EAAEhO,MAAM,CAACe,KAAK;;gCACzC+U,aAAa;gCACbvP,WAAW;4BACb;4BAEFm0C,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqB5yC,GAAE,AAAC,EACpD,UACA;gCACEM,SAAS,SAATA;2CAAewyC,UAAU;;gCACzBp0C,WAAW;gCACXJ,UAAU;4BACZ;yBAEH;oBAAC;oBACF,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAiCJ,UAAU;4BAC5G20C,gBAAgBhzC,GAAG,CAAC,SAACkY;uCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EACxE,OACA;oCACEE,SAAS,SAATA;+CAAe0yC,YAAY76B,IAAIjf,KAAK;;oCACpCwF,WAAW,AAAC,uGACoD,OAAjD+Y,OAAO5X,QAAQ,CAACsY,IAAIjf,KAAK,IAAI,iBAAiB;oCAC7DoF,UAAU;wCACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;4CACEkG,MAAM;4CACNitC,SAAS17B,OAAO5X,QAAQ,CAACsY,IAAIjf,KAAK;4CAClCsd,UAAU;wCACZ;wCAEF2B,IAAIlQ,KAAK;qCACV;gCACH,GACAkQ,IAAIjf,KAAK;;4BAEX+5C,gBAAgBzzC,MAAM,KAAK,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAsBJ,UAAU;4BAAa;yBAChJ;oBAAC;iBACH;YACH;SAEH;IACH;AAEJ;AACA,SAASlD,kBAAkB,KAM1B;uBAN0B,MACzB6M,OAAAA,kCAAQ,qCACR6W,OAFyB,MAEzBA,MACA5lB,QAHyB,MAGzBA,OACA+K,SAJyB,MAIzBA,QACAuE,WALyB,MAKzBA;QAcesW,YACAs0B;IAbf,IAAwB,wBAAA,AAAC,CAAA,GAAGV,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAAM5C,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,IAAMm6B,SAASv0B;IACf,IAAMs0B,SAASt0B,EAAAA,aAAAA,KAAKnG,IAAI,CAAC,SAAChN;eAAMA,EAAEzS,KAAK,KAAKA,MAAMm6C,MAAM;oBAAzCv0B,iCAAAA,WAA4CxgB,QAAQ,KAAI,EAAE;IACzE,IAAMg1C,SAASF,EAAAA,eAAAA,OAAOz6B,IAAI,CAAC,SAAChN;eAAMA,EAAEzS,KAAK,KAAKA,MAAMk6C,MAAM;oBAA3CA,mCAAAA,aAA8C90C,QAAQ,KAAI,EAAE;IAC3E,IAAMi1C,cAAcr6C,MAAMo6C,MAAM,IAAIp6C,MAAMk6C,MAAM,IAAIl6C,MAAMm6C,MAAM,IAAI;IACpE,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGT,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YAC3I,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC/Bla,WAAW;gBACXJ,UAAU;oBACRi1C;oBACA,aAAa,GAAI,CAAA,GAAGX,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEF2B,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqBxyC,IAAG,AAAC,EACnD,OACA;gBACE1B,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAAiCJ,UAAU+0C,OAAOpzC,GAAG,CAAC,SAACkY;mCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqB5yC,GAAE,AAAC,EAC3K,OACA;gCACEM,SAAS,SAATA;2CAAekI,SAAS;wCAAE6qC,QAAQl7B,IAAIjf,KAAK;oCAAC;;gCAC5CwF,WAAW,AAAC,+EACsD,OAAjDxF,MAAMm6C,MAAM,KAAKl7B,IAAIjf,KAAK,GAAG,iBAAiB;gCAC/DoF,UAAU6Z,IAAIlQ,KAAK;4BACrB,GACAkQ,IAAIjf,KAAK;;oBACR;oBACHk6C,OAAO5zC,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA2DJ,UAAU80C,OAAOnzC,GAAG,CAAC,SAACkY;mCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EAC3N,OACA;gCACEE,SAAS,SAATA;2CAAekI,SAAS;wCACtB6qC,QAAQn6C,MAAMm6C,MAAM;wCACpBD,QAAQj7B,IAAIjf,KAAK;oCACnB;;gCACAwF,WAAW,AAAC,iFACwD,OAAjDxF,MAAMk6C,MAAM,KAAKj7B,IAAIjf,KAAK,GAAG,iBAAiB;gCACjEoF,UAAU;oCACR;oCACA6Z,IAAIlQ,KAAK;iCACV;4BACH,GACAkQ,IAAIjf,KAAK;;oBACR;oBACHo6C,OAAO9zC,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;wBAAEtB,WAAW;wBAA2DJ,UAAUg1C,OAAOrzC,GAAG,CAAC,SAACkY;mCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EAC3N,OACA;gCACEE,SAAS,SAATA;2CAAekI,SAAS;wCACtB6qC,QAAQn6C,MAAMm6C,MAAM;wCACpBD,QAAQl6C,MAAMk6C,MAAM;wCACpBE,QAAQn7B,IAAIjf,KAAK;oCACnB;;gCACAwF,WAAW,AAAC,iFACwD,OAAjDxF,MAAMo6C,MAAM,KAAKn7B,IAAIjf,KAAK,GAAG,iBAAiB;gCACjEoF,UAAU;oCACR;oCACA6Z,IAAIlQ,KAAK;iCACV;4BACH,GACAkQ,IAAIjf,KAAK;;oBACR;iBACJ;YACH;SAEH;IACH;AAEJ;AACA,SAAS2C,gBAAgB,KAMxB;uBANwB,MACvBoM,OAAAA,kCAAQ,mCACR8zB,SAFuB,MAEvBA,QACAtkB,SAHuB,MAGvBA,QACAjP,WAJuB,MAIvBA,UACAvE,SALuB,MAKvBA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGyuC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAAM5C,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,IAAMs6B,oBAAoB,2BAAClX;eAAU7kB,CAAAA,mBAAAA,6BAAAA,OAAQ+Z,OAAO,MAAK8K,MAAMr0B,KAAK;;IACpE,IAAMwrC,iBAAiB,wBAACv6C;;uBAAUue,mBAAAA,6BAAAA,OAAQA,MAAM,CAAC5X,QAAQ,CAAC3G,6CAAU;;IACpE,IAAMw6C,gBAAgB,uBAACpX;QACrB,IAAI7kB,CAAAA,mBAAAA,6BAAAA,OAAQ+Z,OAAO,MAAK8K,MAAMr0B,KAAK,EAAE;YACnCO,SAAS;QACX,OAAO;YACLA,SAAS;gBACPgpB,SAAS8K,MAAMr0B,KAAK;gBACpBwP,QAAQ6kB,MAAMjkB,OAAO,CAACpY,GAAG,CAAC,SAAC2Y;2BAAMA,EAAE1f,KAAK;;YAC1C;QACF;IACF;IACA,IAAMy6C,cAAc,qBAACrX,OAAOpjC;QAC1B,IAAIue,CAAAA,mBAAAA,6BAAAA,OAAQ+Z,OAAO,MAAK8K,MAAMr0B,KAAK,EAAE;YACnCO,SAAS;gBAAEgpB,SAAS8K,MAAMr0B,KAAK;gBAAEwP,QAAQ;oBAACve;iBAAM;YAAC;YACjD;QACF;QACA,IAAM06C,SAASn8B,OAAOA,MAAM,CAAC5X,QAAQ,CAAC3G;QACtC,IAAM4e,YAAY87B,SAASn8B,OAAOA,MAAM,CAAC3X,MAAM,CAAC,SAAC8d;mBAAMA,MAAM1kB;aAAS,AAAC,qBAAGue,OAAOA,MAAM,SAAjB;YAAmBve;SAAM;QAC/FsP,SACEsP,UAAUtY,MAAM,KAAK,IAAI,OAAO;YAAEgyB,SAAS8K,MAAMr0B,KAAK;YAAEwP,QAAQK;QAAU;IAE9E;IACA,IAAMkN,eAAe,CAACvN,SAAS,mBAAmB,AAAC,GAAqBA,OAAnBA,OAAO+Z,OAAO,EAAC,MAEvD,OAF2D/Z,OAAOA,MAAM,CAACxX,GAAG,CACvF,SAAC2d;YAAMme;gBAAAA,uBAAAA,OAAO8X,OAAO,CAAC,SAAC9J;mBAAMA,EAAE1xB,OAAO;WAAEM,IAAI,CAAC,SAACC;mBAAMA,EAAE1f,KAAK,KAAK0kB;wBAAzDme,2CAAAA,qBAA6D9zB,KAAK;OACzE4V,IAAI,CAAC,OAAM;IACb,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG+0B,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YACpJ,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC/Bla,WAAW;gBACXJ,UAAU;oBACR0mB;oBACA,aAAa,GAAI,CAAA,GAAG4tB,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEF2B,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqB5yC,GAAE,AAAC,EAClD,OACA;gBACEtB,WAAW;gBACXJ,UAAUy9B,OAAO97B,GAAG,CAAC,SAACq8B;2BAAU,AAAgB,aAAH,GAAI,CAAA,GAAGsW,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAOJ,UAAU;4BAClH,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;gCAAE1B,WAAW;gCAAyCJ,UAAU;oCACpH,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;wCACEkG,MAAM;wCACNitC,SAASK,kBAAkBlX;wCAC3B9zB,UAAU,SAAVA;mDAAgBkrC,cAAcpX;;oCAChC;oCAEFA,MAAMr0B,KAAK;iCACZ;4BAAC;4BACFq0B,MAAMjkB,OAAO,CAACpY,GAAG,CAAC,SAACkY;uCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EACtE,SACA;oCACE1B,WAAW;oCACXJ,UAAU;wCACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;4CACEkG,MAAM;4CACNitC,SAASM,eAAet7B,IAAIjf,KAAK;4CACjCsP,UAAU,SAAVA;uDAAgBmrC,YAAYrX,OAAOnkB,IAAIjf,KAAK;;wCAC9C;wCAEFif,IAAIlQ,KAAK;qCACV;gCACH,GACAkQ,IAAIjf,KAAK;;yBAEZ;oBAAC,GAAGojC,MAAMr0B,KAAK;;YAClB;SAEH;IACH;AAEJ;AACA,SAASxN,eAAe,KAOvB;uBAPuB,MACtBwN,OAAAA,kCAAQ,qDADc,MAEtBgG,aAAAA,8CAAc,oCACdoK,UAHsB,MAGtBA,SACAnf,QAJsB,MAItBA,OACA+K,SALsB,MAKtBA,QACAuE,WANsB,MAMtBA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGkqC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAAM5C,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,IAAMmH,WAAWhI,QAAQM,IAAI,CAAC,SAACC;eAAMA,EAAE1f,KAAK,KAAKA;;IACjD,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG05C,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YACpJ,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC/Bla,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,QAAQ;wBAAEtB,WAAW;wBAAgCJ,UAAU+hB,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGuyB,qBAAqBxyC,IAAG,AAAC,EAAEwyC,qBAAqB/qC,QAAQ,EAAE;4BAAEvJ,UAAU;gCAChN,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,OACA;oCACEukB,KAAKlE,SAASsrB,KAAK;oCACnBvmB,KAAK/E,SAASpY,KAAK;oCACnBvJ,WAAW;gCACb;gCAEF2hB,SAASpY,KAAK;6BACf;wBAAC,KAAKgG;oBAAY;oBACnB,aAAa,GAAI,CAAA,GAAG2kC,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEF2B,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqB5yC,GAAE,AAAC,EAClD,OACA;gBACEtB,WAAW;gBACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAiCJ,UAAU+Z,QAAQpY,GAAG,CAAC,SAACkY;+BAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EACvL,OACA;4BACEE,SAAS,SAATA;gCACEkI,SAAS2P,IAAIjf,KAAK;gCAClBkM,QAAQ;4BACV;4BACA1G,WAAW,AAAC,0IAG8B,OAA1CyZ,IAAIjf,KAAK,KAAKA,QAAQ,iBAAiB;4BACvCoF,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,OACA;oCACEukB,KAAKpM,IAAIwzB,KAAK;oCACdvmB,KAAKjN,IAAIlQ,KAAK;oCACdvJ,WAAW;gCACb;gCAEF,aAAa,GAAI,CAAA,GAAGk0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;oCAAE9B,UAAU;wCAChE,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAAeJ,UAAU6Z,IAAIlQ,KAAK;wCAAC;wCACrGkQ,IAAIpR,QAAQ,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAG6rC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAA8BJ,UAAU6Z,IAAIpR,QAAQ;wCAAC;qCACxI;gCAAC;6BACH;wBACH,GACAoR,IAAIjf,KAAK;;gBACR;YACL;SAEH;IACH;AAEJ;AACA,SAASyB,0BAA0B,KAOlC;uBAPkC,MACjCsN,OAAAA,kCAAQ,2DADyB,MAEjCgG,aAAAA,8CAAc,qCACdoK,UAHiC,MAGjCA,SACAZ,SAJiC,MAIjCA,QACAxT,SALiC,MAKjCA,QACAuE,WANiC,MAMjCA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGkqC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAAM5C,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACL,IAAM85B,cAAc,qBAAC95C;QACnB,IAAIue,OAAO5X,QAAQ,CAAC3G,QAAQ;YAC1BsP,SAASiP,OAAO3X,MAAM,CAAC,SAAC8d;uBAAMA,MAAM1kB;;QACtC,OAAO;YACLsP,SAAS,AAAC,qBAAGiP,eAAJ;gBAAYve;aAAM;QAC7B;IACF;IACA,IAAM65C,cAAc,qBAAC75C;QACnBsP,SAASiP,OAAO3X,MAAM,CAAC,SAAC8d;mBAAMA,MAAM1kB;;IACtC;IACA,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG05C,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YACpJ,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEE,SAAS,SAATA;2BAAe8E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC/Bla,WAAW;gBACXJ,UAAU;oBACR2P;oBACA,aAAa,GAAI,CAAA,GAAG2kC,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEFiU,OAAOjY,MAAM,GAAG,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;gBAAEtB,WAAW;gBAA6BJ,UAAUmZ,OAAOxX,GAAG,CAAC,SAAC2mC;oBACxI,IAAMzuB,MAAME,QAAQM,IAAI,CAAC,SAACC;+BAAMA,EAAE1f,KAAK,KAAK0tC;;oBAC5C,IAAI,CAACzuB,KAAK,OAAO;oBACjB,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;wBACE1B,WAAW;wBACXJ,UAAU;4BACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,OACA;gCACEukB,KAAKpM,IAAIwzB,KAAK;gCACdvmB,KAAKjN,IAAIlQ,KAAK;gCACdvJ,WAAW;4BACb;4BAEFyZ,IAAIlQ,KAAK;4BACT,aAAa,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAC1C2yC,qBAAqB5qC,CAAC,EACtB;gCACEvE,MAAM;gCACN9E,WAAW;gCACX4B,SAAS,SAATA;2CAAeyyC,YAAYnM;;4BAC7B;yBAEH;oBACH,GACAA;gBAEJ;YAAG;YACHzhC,QAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGytC,qBAAqB5yC,GAAE,AAAC,EAClD,OACA;gBACEtB,WAAW;gBACXJ,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;oBAAEtB,WAAW;oBAAiCJ,UAAU+Z,QAAQpY,GAAG,CAAC,SAACkY;wBAClI,IAAMqD,SAAS/D,OAAO5X,QAAQ,CAACsY,IAAIjf,KAAK;wBACxC,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAG05C,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;4BACEE,SAAS,SAATA;uCAAe0yC,YAAY76B,IAAIjf,KAAK;;4BACpCwF,WAAW,AAAC,gJAGiB,OAA7B8c,SAAS,iBAAiB;4BAC1Bld,UAAU;gCACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;oCACEkG,MAAM;oCACNitC,SAAS33B;oCACThF,UAAU;oCACV9X,WAAW;gCACb;gCAEF,aAAa,GAAI,CAAA,GAAGk0C,qBAAqB5yC,GAAE,AAAC,EAC1C,OACA;oCACEukB,KAAKpM,IAAIwzB,KAAK;oCACdvmB,KAAKjN,IAAIlQ,KAAK;oCACdvJ,WAAW;gCACb;gCAEF,aAAa,GAAI,CAAA,GAAGk0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;oCAAE9B,UAAU;wCAChE,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAAeJ,UAAU6Z,IAAIlQ,KAAK;wCAAC;wCACrGkQ,IAAIpR,QAAQ,IAAI,AAAgB,aAAH,GAAI,CAAA,GAAG6rC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;4CAAEtB,WAAW;4CAA8BJ,UAAU6Z,IAAIpR,QAAQ;wCAAC;qCACxI;gCAAC;6BACH;wBACH,GACAoR,IAAIjf,KAAK;oBAEb;gBAAG;YACL;SAEH;IACH;AAEJ;AACA,SAASqB,cAAc,KAQtB;uBARsB,MACrB0N,OAAAA,kCAAQ,sDADa,MAErBgG,aAAAA,8CAAc,kCACd/U,QAHqB,MAGrBA,OACAmH,WAJqB,MAIrBA,UACA4D,SALqB,MAKrBA,QACA6vC,cANqB,MAMrBA,aACAtrC,WAPqB,MAOrBA;IAEA,IAAwB,wBAAA,AAAC,CAAA,GAAGkqC,eAAetzC,QAAO,AAAC,EAAE,YAA9C+F,OAAiB,SAAXC,UAAW;IACxB,IAA4B,yBAAA,AAAC,CAAA,GAAGstC,eAAetzC,QAAO,AAAC,EAAE,SAAlDyzC,SAAqB,UAAbC,YAAa;IAC5B,IAA8B,yBAAA,AAAC,CAAA,GAAGJ,eAAetzC,QAAO,AAAC,EAAE,EAAE,OAAtDiZ,UAAuB,UAAd07B,aAAc;IAC9B,IAA8B,yBAAA,AAAC,CAAA,GAAGrB,eAAetzC,QAAO,AAAC,EAAE,YAApDkuC,UAAuB,UAAd0G,aAAc;IAC9B,IAAMxxC,MAAM,AAAC,CAAA,GAAGkwC,eAAezhC,MAAK,AAAC,EAAE;IACtC,CAAA,GAAGyhC,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAM4R,UAAU,iBAAC/S;YACf,IAAI3D,IAAImP,OAAO,IAAI,CAACnP,IAAImP,OAAO,CAACc,QAAQ,CAACtM,EAAEhO,MAAM,GAAG;gBAClDiN,QAAQ;YACV;QACF;QACAoC,SAASC,gBAAgB,CAAC,aAAayR;QACvC,OAAO;mBAAM1R,SAASE,mBAAmB,CAAC,aAAawR;;IACzD,GAAG,EAAE;IACJ,CAAA,GAAGw5B,eAAeprC,SAAQ,AAAC,EAAE;QAC5B,IAAI,CAACnC,MAAM;QACX6uC,WAAW;QACXF,YAAYjB,QAAQoB,IAAI,CAACF,YAAYG,OAAO,CAAC;mBAAMF,WAAW;;IAChE,GAAG;QAAC7uC;QAAM0tC;QAAQiB;KAAY;IAC9B,OAAO,AAAgB,aAAH,GAAI,CAAA,GAAGlB,qBAAqBxyC,IAAG,AAAC,EAClD,OACA;QACEoC,KAAAA;QACA,eAAeyB;QACfvF,WAAW;QACXJ,UAAU;YACR2J,SAAS,AAAgB,aAAH,GAAI,CAAA,GAAG2qC,qBAAqB5yC,GAAE,AAAC,EAAE,SAAS;gBAAEtB,WAAW;gBAAuDJ,UAAU2J;YAAM;YACpJ,aAAa,GAAI,CAAA,GAAG2qC,qBAAqBxyC,IAAG,AAAC,EAC3C,UACA;gBACEC,UAAAA;gBACAC,SAAS,SAATA;2BAAe,CAACD,YAAY+E,QAAQ,SAACwT;+BAAM,CAACA;;;gBAC5Cla,WAAW,AAAC,+JAG8C,OAA9D2B,WAAW,kCAAkC;gBACzC/B,UAAU;oBACRpF,SAAS+U;oBACT,aAAa,GAAI,CAAA,GAAG2kC,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBnyC,WAAW,EAAE;wBAAEgD,MAAM;oBAAG;iBAC5F;YACH;YAEF2B,QAAQ,CAAC9E,YAAY,AAAgB,aAAH,GAAI,CAAA,GAAGuyC,qBAAqBxyC,IAAG,AAAC,EAChE,OACA;gBACE1B,WAAW;gBACXJ,UAAU;oBACR,aAAa,GAAI,CAAA,GAAGs0C,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAA0CJ,UAAU;4BACrH,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAC1C,SACA;gCACE9G,OAAO25C;gCACP5kC,aAAa;gCACbzF,UAAU,SAAVA,SAAWrC;2CAAM2sC,UAAU3sC,EAAEhO,MAAM,CAACe,KAAK;;gCACzCwF,WAAW;4BACb;4BAEFm0C,UAAU,AAAgB,aAAH,GAAI,CAAA,GAAGD,qBAAqB5yC,GAAE,AAAC,EACpD,UACA;gCACEM,SAAS,SAATA;2CAAewyC,UAAU;;gCACzBp0C,WAAW;gCACXJ,UAAU;4BACZ;yBAEH;oBAAC;oBACFgvC,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGsF,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAsDJ,UAAU;4BAC5I,aAAa,GAAI,CAAA,GAAGs0C,qBAAqB5yC,GAAE,AAAC,EAAE2yC,qBAAqBwB,OAAO,EAAE;gCAAE3wC,MAAM;gCAAI9E,WAAW;4BAAoB;4BACvH;yBACD;oBAAC;oBACF,CAAC4uC,WAAW,AAAgB,aAAH,GAAI,CAAA,GAAGsF,qBAAqBxyC,IAAG,AAAC,EAAE,OAAO;wBAAE1B,WAAW;wBAAiCJ,UAAU;4BACxH+Z,QAAQpY,GAAG,CAAC,SAACkY;uCAAQ,AAAgB,aAAH,GAAI,CAAA,GAAGy6B,qBAAqB5yC,GAAE,AAAC,EAC/D,OACA;oCACEM,SAAS,SAATA;wCACEkI,SAAS2P,IAAIjf,KAAK;wCAClBkM,QAAQ;wCACR0tC,UAAU;oCACZ;oCACAp0C,WAAW;oCACXJ,UAAU6Z,IAAIlQ,KAAK;gCACrB,GACAkQ,IAAIjf,KAAK;;4BAEXmf,QAAQ7Y,MAAM,KAAK,KAAK,AAAgB,aAAH,GAAI,CAAA,GAAGozC,qBAAqB5yC,GAAE,AAAC,EAAE,OAAO;gCAAEtB,WAAW;gCAAsBJ,UAAU;4BAAa;yBACxI;oBAAC;iBACH;YACH;SAEH;IACH;AAEJ;AAEA,iCAAiC;AACjC,IAAI81C,iBAAiBl2C,QAAQ;AAC7B,IAAIm2C,uBAAuBn2C,QAAQ;AACnC,IAAIo2C,cAAc;QAAG/vB,YAAAA;WAAU,AAAgB,aAAH,GAAI,CAAA,GAAG8vB,qBAAqBr0C,GAAE,AAAC,EACzE,OACA;QACE0C,OAAO;YACL0B,OAAO;YACPD,QAAQ;YACRowC,iBAAiB,AAAC,OAAU,OAAJhwB,KAAI;YAC5BiwB,kBAAkB;YAClBC,oBAAoB;YACpBC,gBAAgB;QAClB;IACF;;AAEF,IAAIC,eAAe;IACjBC,MAAM;IACNC,OAAO;IACPC,MAAM;IACNC,QAAQ;IACRC,aAAa;IACbC,cAAc;IACdC,YAAY;IACZC,aAAa;AACf;AACA,IAAIz3C,cAAc;6BAAG03C,OAAAA,kCAAQT;IAC3B,IAAMU,mBAAmB;IACzB,IAAwB,wBAAA,AAAC,CAAA,GAAGjB,eAAeh1C,QAAO,AAAC,EAAE,SAA9Cm8B,OAAiB,SAAX+Z,UAAW;IACxB,IAAwB,yBAAA,AAAC,CAAA,GAAGlB,eAAeh1C,QAAO,AAAC,EAAE,iBAA9CskB,OAAiB,UAAX6xB,UAAW;IACxB,IAA8B,yBAAA,AAAC,CAAA,GAAGnB,eAAeh1C,QAAO,AAAC,EAAE,YAApDo2C,UAAuB,UAAdC,aAAc;IAC9B,IAAsC,yBAAA,AAAC,CAAA,GAAGrB,eAAeh1C,QAAO,AAAC,EAAE,QAA5DyV,cAA+B,UAAlB6gC,iBAAkB;IACtC,IAAgC,yBAAA,AAAC,CAAA,GAAGtB,eAAeh1C,QAAO,AAAC,EAAE,QAAtDovC,WAAyB,UAAfmH,cAAe;IAChC,IAA4B,yBAAA,AAAC,CAAA,GAAGvB,eAAeh1C,QAAO,AAAC,EAAE,QAAlDw2C,SAAqB,UAAbC,YAAa;IAC5B,IAA0B,yBAAA,AAAC,CAAA,GAAGzB,eAAeh1C,QAAO,AAAC,EAAE,QAAhDoxC,QAAmB,UAAZsF,WAAY;IAC1B,IAAwB,yBAAA,AAAC,CAAA,GAAG1B,eAAeh1C,QAAO,AAAC,EAAE,YAA9C22C,OAAiB,UAAXC,UAAW;IACxB,IAAMC,eAAe,AAAC,CAAA,GAAG7B,eAAenjC,MAAK,AAAC,EAAE;IAChD,IAAMo/B,WAAW,AAAC,CAAA,GAAG+D,eAAenjC,MAAK,AAAC,EAAE;IAC5C,IAAMilC,eAAe,AAAC,CAAA,GAAG9B,eAAenjC,MAAK,AAAC,EAAE;IAChD,IAAMklC,cAAc,AAAC,CAAA,GAAG/B,eAAenjC,MAAK,AAAC,EAAE;IAC/C,IAAMmlC,qBAAqB,AAAC,CAAA,GAAGhC,eAAenjC,MAAK,AAAC,EAAE;IACtD,IAA8B,yBAAA,AAAC,CAAA,GAAGmjC,eAAeh1C,QAAO,AAAC,EAAE,SAApDsiB,UAAuB,UAAd20B,aAAc;IAC9B,IAAgC,yBAAA,AAAC,CAAA,GAAGjC,eAAeh1C,QAAO,AAAC,EAAE,QAAtDk3C,WAAyB,UAAfC,cAAe;IAChC,IAAMC,eAAe,AAAC,CAAA,GAAGpC,eAAenjC,MAAK,AAAC,EAAE;IAChD,IAAMwlC,cAAc,AAAC,CAAA,GAAGrC,eAAenjC,MAAK,AAAC,EAAE;IAC/C,IAAMylC,kBAAkB,AAAC,CAAA,GAAGtC,eAAenjC,MAAK,AAAC,EAAE;IACnD,IAAM0lC,eAAe,AAAC,CAAA,GAAGvC,eAAenjC,MAAK,AAAC,EAAE;IAChD,IAAM2lC,YAAY,AAAC,CAAA,GAAGxC,eAAenjC,MAAK,AAAC,EAAE2kC;IAC7C,IAAMiB,WAAW,AAAC,CAAA,GAAGzC,eAAenjC,MAAK,AAAC,EAAEu/B;IAC5C,IAAMsG,iBAAiB,wBAACC;QACtB,IAAI,CAACA,MAAMt9B,IAAI,IAAI,OAAO;QAC1B,IAAMu9B,QAAQD,MAAM70C,WAAW;QAC/B,IAAM+0C,aAAa;YACjBC,YAAY;gBACVC,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA01B,UAAU;gBACRD,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA21B,WAAW;gBACTF,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA41B,OAAO;gBACLH,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA61B,OAAO;gBACLJ,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA81B,WAAW;gBACTL,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD;gBACDz1B,SAAS;YACX;YACA+1B,QAAQ;gBACNN,UAAU;oBACR;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;oBACA;iBACD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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/assets/icons/down_4.png\nvar require_down_4 = __commonJS({\n \"src/assets/icons/down_4.png\"(exports2, module2) {\n module2.exports = \"./down_4-X52SETBJ.png\";\n }\n});\n\n// src/assets/icons/performance-peak-icon.png\nvar require_performance_peak_icon = __commonJS({\n \"src/assets/icons/performance-peak-icon.png\"(exports2, module2) {\n module2.exports = \"./performance-peak-icon-QXFZTZUB.png\";\n }\n});\n\n// src/assets/icons/calendar-3.png\nvar require_calendar_3 = __commonJS({\n \"src/assets/icons/calendar-3.png\"(exports2, module2) {\n module2.exports = \"./calendar-3-SFJ52KIR.png\";\n }\n});\n\n// src/assets/icons/increase.png\nvar require_increase = __commonJS({\n \"src/assets/icons/increase.png\"(exports2, module2) {\n module2.exports = \"./increase-QM2727GU.png\";\n }\n});\n\n// src/assets/icons/decrease.png\nvar require_decrease = __commonJS({\n \"src/assets/icons/decrease.png\"(exports2, module2) {\n module2.exports = \"./decrease-SMWSBU7A.png\";\n }\n});\n\n// src/index.ts\nvar index_exports = {};\n__export(index_exports, {\n Accordion: () => Accordion,\n CardOverlayLoader: () => CardOverlayLoader,\n CardWithLoading: () => CardWithLoading,\n CircularSpinner: () => CircularSpinner,\n DEFAULT_ACTIVITY_OPTIONS: () => DEFAULT_ACTIVITY_OPTIONS,\n DEFAULT_STATUS_OPTIONS: () => DEFAULT_STATUS_OPTIONS,\n Filter: () => Filter,\n LoadingDots: () => LoadingDots,\n LoadingDotsLinear: () => LoadingDotsLinear,\n MahatiActivity: () => MahatiActivity,\n MahatiAsyncDropdown: () => AsyncDropdown,\n MahatiAvatarDropdown: () => AvatarDropdown,\n MahatiAvatarMultiSelectDropdown: () => AvatarMultiSelectDropdown,\n MahatiButton: () => Button,\n MahatiCalendar: () => Calendar,\n MahatiCameraAccessModal: () => MahatiCameraAccessModal,\n MahatiCard: () => Card,\n MahatiCascadingDropdown: () => CascadingDropdown,\n MahatiChartAnalyticsWidget: () => MahatiChartAnalyticsWidget,\n MahatiConfettiExplosion: () => ConfettiExplosion,\n MahatiDropdown: () => Dropdown,\n MahatiFormContainer: () => FormContainer,\n MahatiGroupedDropdown: () => GroupedDropdown,\n MahatiInput: () => Input,\n MahatiLocationAccessModal: () => MahatiLocationAccessModal,\n MahatiMicrophoneAccessModal: () => MahatiMicrophoneAccessModal,\n MahatiModal: () => Modal,\n MahatiMultiSelectDropdown: () => MultiSelectDropdown,\n MahatiNotificationCard: () => MahatiNotificationCard,\n MahatiPromotionModal_V1: () => MahatiPromotionModal,\n MahatiPromotionModal_V2: () => MahatiPromotionModalV2Modal,\n MahatiPromotionModal_V3: () => MahatiPromotionModalV3Modal,\n MahatiRealisticConfetti: () => RealisticConfetti,\n MahatiSearch: () => MahatiSearch,\n MahatiSearchableDropdown: () => SearchableDropdown,\n MahatiStatus: () => MahatiStatus,\n MahatiTabbedInterface: () => TabbedInterface,\n MahatiTable: () => Table,\n MahatiTableWithTab: () => TableWithTab,\n MahatiTexttoAudio: () => TexttoAudio,\n MahatiToastMessage: () => ToastMessage,\n MahatiTooltip: () => Tooltip2,\n Spinner: () => Spinner\n});\nmodule.exports = __toCommonJS(index_exports);\n\n// src/components/accordion.tsx\nvar import_react = require(\"react\");\nvar import_lucide_react = require(\"lucide-react\");\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nfunction Accordion({\n title,\n children,\n items = [],\n defaultOpenIndex = null,\n defaultOpen,\n className = \"\",\n headerClassName = \"\",\n contentClassName = \"\",\n icon,\n iconPosition = \"right\",\n multipleOpen = false,\n onToggle,\n accordionTestId,\n headerTestId,\n contentTestId\n}) {\n const [openIndexes, setOpenIndexes] = (0, import_react.useState)(\n defaultOpen ? [0] : defaultOpenIndex !== null && defaultOpenIndex !== void 0 ? [defaultOpenIndex] : []\n );\n const normalizedItems = items && items.length > 0 ? items : title !== void 0 ? [{ title, content: children }] : [];\n const handleToggle = (index) => {\n let newIndexes;\n if (multipleOpen) {\n if (openIndexes.includes(index)) {\n newIndexes = openIndexes.filter((i) => i !== index);\n } else {\n newIndexes = [...openIndexes, index];\n }\n } else {\n newIndexes = openIndexes.includes(index) ? [] : [index];\n }\n setOpenIndexes(newIndexes);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n \"div\",\n {\n \"data-testid\": accordionTestId,\n className: `w-full max-w-[684px] border border-slate-200 rounded-xl overflow-hidden bg-white ${className}`,\n children: normalizedItems.map((item, index) => {\n const isOpen = openIndexes.includes(index);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\n \"button\",\n {\n \"data-testid\": headerTestId,\n disabled: item.disabled,\n onClick: () => handleToggle(index),\n className: `\n w-full flex items-center justify-between\n px-6 min-h-[60px]\n font-medium transition\n ${item.disabled ? \"opacity-50 cursor-not-allowed\" : \"cursor-pointer\"}\n ${isOpen ? \"text-white bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\" : \"text-slate-800 bg-white\"}\n ${headerClassName}\n `,\n children: [\n iconPosition === \"left\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { className: \"mr-2\", children: icon || (isOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, {})) }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { className: \"flex-1 text-left\", children: item.title }),\n iconPosition === \"right\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"span\", { children: icon || (isOpen ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, {})) })\n ]\n }\n ),\n isOpen && !item.disabled && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n \"div\",\n {\n \"data-testid\": contentTestId,\n className: `px-6 py-4 text-slate-600 border-t border-slate-200 ${contentClassName}`,\n children: item.content\n }\n ),\n index !== normalizedItems.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\"div\", { className: \"border-t border-slate-200\" })\n ] }, index);\n })\n }\n );\n}\nAccordion.displayName = \"Accordion\";\n\n// src/components/Button.tsx\nvar import_react2 = __toESM(require(\"react\"));\nvar import_jsx_runtime2 = require(\"react/jsx-runtime\");\nvar parseHeightWidth = (className) => {\n if (!className) return \"36px\";\n const match = className.match(/[hw]-(\\d+)/);\n if (match) {\n return `${parseInt(match[1]) * 4}px`;\n }\n return \"36px\";\n};\nvar parseGap = (gapClass) => {\n if (!gapClass) return \"8px\";\n const match = gapClass.match(/gap-(\\d+)/);\n if (match) {\n return `${parseInt(match[1]) * 4}px`;\n }\n return \"8px\";\n};\nvar getColorByName = (name) => {\n const colors = {\n blue: \"#3b82f6\",\n green: \"#10b981\",\n red: \"#ef4444\",\n orange: \"#f59e0b\",\n purple: \"#8b5cf6\",\n yellow: \"#f59e0b\",\n pink: \"#ec4899\",\n teal: \"#14b8a6\",\n indigo: \"#6366f1\",\n primary: \"linear-gradient(to right, rgba(23, 97, 163, 1), rgba(77, 175, 131, 1))\",\n secondary: \"#6b7280\",\n success: \"#10b981\",\n danger: \"#ef4444\",\n warning: \"#f59e0b\",\n info: \"#3b82f6\"\n };\n return colors[name?.toLowerCase()] || colors.primary;\n};\nvar IconButtonGroup = import_react2.default.forwardRef(\n ({ className, direction = \"row\", gapClass, children, ...props }, ref) => {\n const gap = parseGap(gapClass);\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"div\",\n {\n ref,\n style: { gap },\n className: `inline-flex ${direction === \"col\" ? \"flex-col items-start\" : \"flex-row items-center\"} ${className || \"\"}`,\n ...props,\n children\n }\n );\n }\n);\nIconButtonGroup.displayName = \"IconButtonGroup\";\nvar variantClasses = {\n // ✅ Fixed: was from-[31761A3] — missing #\n default: \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white rounded-md hover:opacity-90 active:opacity-95\",\n destructive: \"bg-[#ef4444] text-white rounded-md hover:bg-[#dc2626] active:bg-[#b91c1c]\",\n outline: \"border border-[#e5e7eb] bg-white text-[#374151] rounded-md hover:bg-[#f9fafb] hover:border-[#d1d5db] active:bg-[#f3f4f6]\",\n // ✅ Fixed: was bg-gray-200 text-gray-700 — now matches CSS-in-JS blue\n secondary: \"bg-[#3b82f6] text-white rounded-md hover:bg-[#2563eb] active:bg-[#1d4ed8]\",\n ghost: \"bg-transparent text-[#374151] rounded-md hover:bg-[#f3f4f6] active:bg-[#e5e7eb]\",\n link: \"bg-transparent text-[#2563eb] underline underline-offset-4 p-0 h-auto hover:no-underline hover:text-[#1d4ed8]\",\n danger: \"bg-transparent text-[#ef4444] rounded-md hover:bg-[#ef44441a] active:bg-[#ef444433]\",\n dotted: \"relative [background:linear-gradient(to_right,#1e73be,#28a97d)] text-white rounded-lg border-2 border-dashed border-white/50 hover:opacity-90\",\n pill: \"[background:linear-gradient(to_right,#1761A3,#4DAF83)] text-white rounded-full hover:opacity-90 active:opacity-95\"\n};\nvar sizeClasses = {\n sm: \"h-[36px] px-3 text-[13px]\",\n md: \"h-[40px] px-4 text-[14px]\",\n lg: \"h-[44px] px-6 text-[15px]\",\n icon: \"h-[40px] w-[40px]\",\n default: \"h-[40px] px-4\"\n};\nvar ButtonBase = import_react2.default.forwardRef(\n ({\n className,\n variant = \"default\",\n size = \"default\",\n name,\n iconButton = false,\n iconButtonHeightClass,\n iconButtonWidthClass,\n iconButtonBgClass,\n iconButtonRadiusClass,\n iconButtonBgPaddingClass,\n iconButtonHoverBgClass,\n iconButtonHoverIntensity,\n children,\n testId,\n style,\n ...props\n }, ref) => {\n const color = getColorByName(name);\n if (iconButton) {\n const height = parseHeightWidth(iconButtonHeightClass);\n const width = parseHeightWidth(iconButtonWidthClass);\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"button\",\n {\n ref,\n style: {\n height,\n width,\n minHeight: height,\n minWidth: width,\n color: color.startsWith(\"linear\") ? \"white\" : color,\n ...style\n },\n className: `\n inline-flex items-center justify-center\n transition-all duration-200\n focus-visible:outline focus-visible:outline-2 focus-visible:outline-white\n ${iconButtonRadiusClass || \"rounded-md\"}\n ${iconButtonBgPaddingClass || \"p-[2px]\"}\n ${iconButtonBgClass || \"bg-white/10\"}\n hover:opacity-85 active:opacity-70\n ${className || \"\"}\n `,\n ...props,\n children\n }\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n \"button\",\n {\n ref,\n \"data-testid\": testId,\n style: name ? {\n background: color,\n color: \"white\",\n borderRadius: variant === \"pill\" ? \"9999px\" : \"6px\",\n ...style\n } : style,\n className: `\n inline-flex items-center justify-center\n whitespace-nowrap\n font-medium\n text-[14px]\n transition-all duration-200\n cursor-pointer\n focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-400\n disabled:pointer-events-none disabled:opacity-50\n ${!name ? variantClasses[variant] : \"\"}\n ${sizeClasses[size]}\n ${className || \"\"}\n `,\n ...props,\n children\n }\n );\n }\n);\nButtonBase.displayName = \"Button\";\nvar Button = ButtonBase;\nButton.IconButtonGroup = IconButtonGroup;\n\n// src/components/card.tsx\nvar import_react3 = __toESM(require(\"react\"));\nvar import_lucide_react2 = require(\"lucide-react\");\nvar import_jsx_runtime3 = require(\"react/jsx-runtime\");\nvar Card = import_react3.default.forwardRef(\n ({\n title,\n cardContent,\n cardBackContent,\n collapsible = false,\n flippable = false,\n backgroundColor,\n borderRadius,\n variant = \"default\",\n size = \"default\",\n className = \"\",\n children,\n defaultOpen = true,\n onFlip,\n style,\n testId,\n ...props\n }, ref) => {\n const [open, setOpen] = (0, import_react3.useState)(defaultOpen);\n const [isFlipped, setIsFlipped] = (0, import_react3.useState)(false);\n const contentId = import_react3.default.useId();\n const handleFlip = () => {\n if (!flippable) return;\n const newState = !isFlipped;\n setIsFlipped(newState);\n onFlip?.(newState);\n };\n const mainContent = cardContent || children;\n const variantStyles = {\n default: \"bg-white text-slate-800 border border-slate-200 hover:shadow-xl\",\n elevated: \"bg-white border border-transparent shadow-md\",\n outlined: \"bg-slate-50 border border-slate-200\",\n subtle: \"bg-slate-50 border border-transparent\",\n figma: \"border border-[#1761A3] shadow-[0_4px_4px_rgba(0,0,0,0.25)]\"\n };\n const sizeStyles = {\n sm: \"p-4\",\n default: \"p-6\",\n lg: \"p-8\",\n figma: \"w-full max-w-full p-5 box-border\"\n };\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n className: flippable ? \"perspective-[1000px]\" : \"\",\n onClick: flippable ? handleFlip : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: `\n rounded-[14px]\n transition-all duration-300 ease-in-out\n shadow-[0_4px_4px_rgba(0,0,0,0.25)]\n ${variantStyles[variant]}\n ${sizeStyles[size]}\n ${flippable ? \"relative cursor-pointer transform-style-preserve-3d transition-transform duration-700 ease-in-out\" : \"\"}\n ${isFlipped ? \"rotate-y-180\" : \"\"}\n ${className}\n `,\n style: {\n backgroundColor: variant !== \"figma\" && backgroundColor ? backgroundColor : variant === \"figma\" ? backgroundColor || \"rgba(77,175,131,0.10)\" : void 0,\n borderRadius: borderRadius || \"14px\",\n ...style\n },\n ...props,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\"div\", { className: flippable ? \"backface-hidden\" : \"\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(\n \"div\",\n {\n className: `flex items-center justify-between ${open && mainContent ? \"mb-4\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"h4\", { className: \"text-xl font-semibold text-slate-800 leading-7\", children: title }),\n collapsible && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: (e) => {\n if (flippable) e.stopPropagation();\n setOpen((p) => !p);\n },\n \"aria-label\": open ? \"Hide content\" : \"Show content\",\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n className: \"\\r\\n z-10 flex items-center justify-center\\r\\n w-8 h-8 rounded-full\\r\\n bg-[#1761A3]\\r\\n hover:opacity-80\\r\\n focus:outline-none\\r\\n focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-[#1761A3]\\r\\n \",\n children: open ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronUp, { className: \"w-5 h-5 text-white\" }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronDown, { className: \"w-5 h-5 text-white\" })\n }\n )\n ]\n }\n ),\n mainContent && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n id: contentId,\n className: `\n grid overflow-hidden\n transition-[grid-template-rows,opacity]duration-500 ease-in-out\n ${open ? \"grid-rows-[1fr] opacity-100\" : \"grid-rows-[0fr] opacity-0\"}\n `,\n children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"div\", { className: \"overflow-hidden\", children: mainContent })\n }\n )\n ] }),\n flippable && cardBackContent && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n \"div\",\n {\n className: \"\\r\\n absolute inset-0\\r\\n w-full h-full\\r\\n p-6\\r\\n rotate-y-180\\r\\n backface-hidden\\r\\n \",\n children: cardBackContent\n }\n )\n ]\n }\n )\n }\n );\n }\n);\nCard.displayName = \"Card\";\n\n// src/components/Modal.tsx\nvar React4 = __toESM(require(\"react\"));\nvar import_lucide_react3 = require(\"lucide-react\");\nvar import_jsx_runtime4 = require(\"react/jsx-runtime\");\nvar MODAL_WIDTH_MAP = {\n sm: \"360px\",\n default: \"562px\",\n md: \"720px\",\n lg: \"760px\",\n xl: \"800px\"\n};\nvar getPositionClass = (position) => {\n switch (position) {\n case \"top-left\":\n return \"items-start justify-start\";\n case \"top-right\":\n return \"items-start justify-end\";\n case \"top-center\":\n return \"items-start justify-center\";\n case \"bottom-left\":\n return \"items-end justify-start\";\n case \"bottom-right\":\n return \"items-end justify-end\";\n case \"bottom-center\":\n return \"items-end justify-center\";\n case \"center-left\":\n return \"items-center justify-start\";\n case \"center-right\":\n return \"items-center justify-end\";\n default:\n return \"items-center justify-center\";\n }\n};\nfunction Modal({\n testId,\n isOpen,\n onClose,\n title,\n subtitle,\n children,\n className = \"\",\n width: customWidth,\n height,\n margin,\n primaryAction,\n secondaryAction,\n headerIcon,\n showDivider = true,\n position = \"center\",\n size = \"default\"\n}) {\n const width = customWidth ?? MODAL_WIDTH_MAP[size];\n React4.useEffect(() => {\n if (!isOpen) return;\n const onKey = (e) => e.key === \"Escape\" && onClose();\n document.addEventListener(\"keydown\", onKey);\n return () => document.removeEventListener(\"keydown\", onKey);\n }, [isOpen, onClose]);\n React4.useEffect(() => {\n document.body.style.overflow = isOpen ? \"hidden\" : \"unset\";\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n if (!isOpen) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-overlay` : void 0,\n onClick: onClose,\n className: \"fixed inset-0 bg-black/40 z-[9998] animate-[fadeIn_.2s_ease-out]\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n className: `fixed inset-0 z-[9999] pointer-events-none flex p-4 ${getPositionClass(\n position\n )}`,\n children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n onClick: (e) => e.stopPropagation(),\n style: {\n width: typeof width === \"number\" ? `${width}px` : width,\n height: height ?? (position.includes(\"left\") || position.includes(\"right\") ? \"90vh\" : \"auto\"),\n margin: typeof margin === \"number\" ? `${margin}px` : margin\n },\n className: `pointer-events-auto relative bg-white border border-gray-200 rounded-lg shadow-[0px_4px_24px_rgba(0,0,0,0.15)] flex flex-col animate-[scaleIn_.2s_ease-out] ${!position.includes(\"left\") && !position.includes(\"right\") ? \"max-h-[90vh]\" : \"\"} ${className}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-header` : void 0,\n className: \"px-6 py-4 flex items-center justify-between border-b border-gray-200\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\"div\", { className: \"flex items-center gap-3 flex-1\", children: [\n headerIcon && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\"div\", { children: headerIcon }),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\"div\", { className: \"flex-1\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"h3\",\n {\n \"data-testid\": testId ? `${testId}-title` : void 0,\n className: \"text-[#333] font-semibold text-[16px]\",\n children: title\n }\n ),\n subtitle && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"p\",\n {\n \"data-testid\": testId ? `${testId}-subtitle` : void 0,\n className: \"text-sm text-gray-500 mt-1\",\n children: subtitle\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-close-btn` : void 0,\n onClick: onClose,\n \"aria-label\": \"Close dialog\",\n className: \" p-1 text-gray-400 hover:text-gray-600 flex items-center justify-center transition-colors\",\n children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react3.X, { size: 20, strokeWidth: 2 })\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-body` : void 0,\n className: \"flex-grow overflow-y-auto custom-scrollbar\",\n children\n }\n ),\n (primaryAction || secondaryAction) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-footer` : void 0,\n className: \"px-6 py-4 flex justify-center gap-3 border-t border-gray-200\",\n children: [\n secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-secondary-btn` : void 0,\n onClick: secondaryAction.onClick,\n className: \"min-w-[140px] h-[36px] px-4 rounded-md border border-[#1761A3] text-[#1761A3] bg-white text-sm font-medium hover:bg-gray-50 focus:ring-2 focus:ring-[#1761A3]/20\",\n children: secondaryAction.label ?? \"Cancel\"\n }\n ),\n primaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(\n \"button\",\n {\n \"data-testid\": testId ? `${testId}-primary-btn` : void 0,\n onClick: primaryAction.onClick,\n disabled: primaryAction.disabled,\n className: `min-w-[140px] h-[36px] px-4 rounded-md text-white text-sm font-medium ${primaryAction.disabled ? \"bg-blue-300 cursor-not-allowed\" : \"bg-[#1761A3] hover:bg-[#134a7a]\"} focus:ring-2 focus:ring-[#1761A3]/30`,\n children: primaryAction.label ?? \"Save\"\n }\n )\n ]\n }\n )\n ]\n }\n )\n }\n )\n ] });\n}\nModal.displayName = \"Modal\";\n\n// src/components/FormContainer.tsx\nvar import_jsx_runtime5 = require(\"react/jsx-runtime\");\nvar FormContainer = ({\n children,\n onSubmit,\n style,\n testId,\n className = \"\"\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(\n \"form\",\n {\n \"data-testid\": testId,\n onSubmit,\n style,\n className: `\n form-container\n flex flex-col gap-4\n w-full max-w-[560px] min-w-0\n mx-auto\n p-4 max-[480px]:p-3\n bg-white\n shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)]\n rounded-lg\n box-border\n ${className}\n `,\n children\n }\n );\n};\nFormContainer.displayName = \"FormContainer\";\n\n// src/components/Input.tsx\nvar import_react4 = __toESM(require(\"react\"));\nvar import_jsx_runtime6 = require(\"react/jsx-runtime\");\nvar Input = import_react4.default.forwardRef(\n ({\n hasError = false,\n errorMessage = \"\",\n className = \"\",\n onChange,\n children,\n testId,\n ...props\n }, ref) => {\n const handleChange = (e) => {\n if (props.disabled) return;\n onChange?.(e);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n \"input\",\n {\n ref,\n \"data-testid\": testId ? `${testId}-input` : void 0,\n onChange: handleChange,\n className: `\n w-full max-w-full min-w-0\n h-[44px]\n px-3\n text-base\n rounded-md\n border\n outline-none\n box-border\n transition-all duration-200\n\n ${hasError ? \"border-red-500 focus:border-red-600 focus:ring-2 focus:ring-red-100\" : \"border-[#D9D9D9] focus:border-blue-500 focus:ring-2 focus:ring-blue-100 hover:border-gray-400 focus:border-blue-500\"}\n\n disabled:bg-gray-100\n disabled:text-gray-400\n disabled:border-gray-200\n disabled:cursor-not-allowed\n\n file:py-2 file:px-3 file:cursor-pointer\n\n placeholder:text-gray-400\n\n ${className}\n `,\n ...props\n }\n ),\n hasError && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(\n \"span\",\n {\n \"data-testid\": testId ? `${testId}-error` : void 0,\n className: \"text-red-500 text-sm mt-1 min-h-[1.25rem] block\",\n children: errorMessage\n }\n )\n ] });\n }\n);\nInput.displayName = \"Input\";\n\n// src/components/Filter.tsx\nvar import_react6 = require(\"react\");\nvar import_lucide_react4 = require(\"lucide-react\");\nvar import_react_dom = require(\"react-dom\");\n\n// src/components/Calendar.tsx\nvar import_react5 = require(\"react\");\nvar import_hi = require(\"react-icons/hi\");\nvar import_hi2 = require(\"react-icons/hi2\");\nvar import_jsx_runtime7 = require(\"react/jsx-runtime\");\nvar convertToDateString = (date) => {\n if (!date) return \"\";\n const year = date.year;\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n return `${year}-${month}-${day}`;\n};\nvar isSameDate = (date1, date2) => {\n if (!date1 || !date2) return false;\n return date1.year === date2.year && date1.month === date2.month && date1.day === date2.day;\n};\nvar formatDate = (date) => {\n if (!date) return \"\";\n const month = String(date.month + 1).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n return `${month}-${day}-${year}`;\n};\nvar formatDateWithFormat = (date, format) => {\n if (!date) return \"\";\n const monthNum = date.month + 1;\n const month = String(monthNum).padStart(2, \"0\");\n const day = String(date.day).padStart(2, \"0\");\n const year = String(date.year);\n const monthNames = [\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"];\n const monthAbbr = monthNames[date.month];\n if (format === \"none\") {\n return `${month}-${day}-${year}`;\n }\n switch (format) {\n case \"MM/DD/YYYY\":\n return `${month}/${day}/${year}`;\n case \"DD/MM/YYYY\":\n return `${day}/${month}/${year}`;\n case \"YYYY/MM/DD\":\n return `${year}/${month}/${day}`;\n case \"MMM/DD/YYYY\":\n return `${monthAbbr}/${day}/${year}`;\n case \"DD/MMM/YYYY\":\n return `${day}/${monthAbbr}/${year}`;\n case \"YYYY/MMM/DD\":\n return `${year}/${monthAbbr}/${day}`;\n case \"MMM DD, YYYY\":\n return `${monthAbbr} ${day}, ${year}`;\n case \"DD MMM YYYY\":\n return `${day} ${monthAbbr} ${year}`;\n case \"YYYY MMM DD\":\n return `${year} ${monthAbbr} ${day}`;\n case \"MM-DD-YYYY\":\n return `${month}-${day}-${year}`;\n case \"DD-MM-YYYY\":\n return `${day}-${month}-${year}`;\n case \"YYYY-MM-DD\":\n return `${year}-${month}-${day}`;\n case \"MMM-DD-YYYY\":\n return `${monthAbbr}-${day}-${year}`;\n case \"DD-MMM-YYYY\":\n return `${day}-${monthAbbr}-${year}`;\n case \"YYYY-MMM-DD\":\n return `${year}-${monthAbbr}-${day}`;\n case \"DD.MM.YYYY\":\n return `${day}.${month}.${year}`;\n case \"MM.DD.YYYY\":\n return `${month}.${day}.${year}`;\n case \"YYYY.MM.DD\":\n return `${year}.${month}.${day}`;\n default:\n return `${month}-${day}-${year}`;\n }\n};\nvar formatTime = (time, format = \"12h\") => {\n if (!time) return \"\";\n if (format === \"24h\") {\n let hour24 = time.hour;\n if (time.period === \"PM\" && time.hour !== 12) {\n hour24 = time.hour + 12;\n } else if (time.period === \"AM\" && time.hour === 12) {\n hour24 = 0;\n }\n const hour2 = String(hour24).padStart(2, \"0\");\n const minute2 = String(time.minute).padStart(2, \"0\");\n return `${hour2}:${minute2}`;\n }\n const hour = String(time.hour).padStart(2, \"0\");\n const minute = String(time.minute).padStart(2, \"0\");\n return `${hour}:${minute} ${time.period}`;\n};\nvar getDaysInMonth = (year, monthIndex) => {\n return new Date(year, monthIndex + 1, 0).getDate();\n};\nvar getFirstDayOfMonth = (year, monthIndex) => {\n return new Date(year, monthIndex, 1).getDay();\n};\nvar getMonthName = (monthIndex) => {\n return new Date(2024, monthIndex, 1).toLocaleDateString(\"en-US\", {\n month: \"long\"\n });\n};\nvar DATE_FORMAT_OPTIONS = [\n \"none\",\n \"MM/DD/YYYY\",\n \"DD/MM/YYYY\",\n \"YYYY/MM/DD\",\n \"MMM/DD/YYYY\",\n \"DD/MMM/YYYY\",\n \"YYYY/MMM/DD\",\n \"MMM DD, YYYY\",\n \"DD MMM YYYY\",\n \"YYYY MMM DD\",\n \"MM-DD-YYYY\",\n \"DD-MM-YYYY\",\n \"YYYY-MM-DD\",\n \"MMM-DD-YYYY\",\n \"DD-MMM-YYYY\",\n \"YYYY-MMM-DD\",\n \"DD.MM.YYYY\",\n \"MM.DD.YYYY\",\n \"YYYY.MM.DD\"\n];\nvar TIME_ZONE_OPTIONS = [\n \"none\",\n \"UTC\",\n \"GMT\",\n \"EST\",\n \"EDT\",\n \"CST\",\n \"CDT\",\n \"MST\",\n \"MDT\",\n \"PST\",\n \"PDT\",\n \"IST\",\n \"JST\",\n \"KST\",\n \"AEST\",\n \"AEDT\",\n \"NZST\",\n \"NZDT\",\n \"CET\",\n \"CEST\",\n \"BST\",\n \"AST\",\n \"HST\",\n \"AKST\",\n \"AKDT\",\n \"SST\",\n \"NST\",\n \"WET\",\n \"WEST\",\n \"EET\",\n \"EEST\",\n \"MSK\",\n \"HKT\",\n \"SGT\",\n \"PKT\",\n \"BDT\",\n \"AWST\",\n \"ACST\",\n \"ACDT\",\n \"NFT\"\n];\nvar compareInternalDates = (a, b) => {\n if (a.year !== b.year) return a.year - b.year;\n if (a.monthIndex !== b.monthIndex) return a.monthIndex - b.monthIndex;\n return a.day - b.day;\n};\nvar addDaysInternal = (start, daysToAdd) => {\n let y = start.year;\n let m = start.monthIndex;\n let d = start.day + daysToAdd;\n while (true) {\n const dim = getDaysInMonth(y, m);\n if (d <= dim) break;\n d -= dim;\n m += 1;\n if (m > 11) {\n m = 0;\n y += 1;\n }\n }\n return { year: y, monthIndex: m, day: d };\n};\nvar isBlockedDateHelper = (date, config) => {\n if (!config || config.days <= 0) return false;\n const startInternal = {\n year: config.startDate.year,\n monthIndex: config.startDate.month,\n day: config.startDate.day\n };\n const endInternal = addDaysInternal(startInternal, config.days - 1);\n const currentInternal = {\n year: date.year,\n monthIndex: date.month,\n day: date.day\n };\n const afterOrOnStart = compareInternalDates(currentInternal, startInternal) >= 0;\n const beforeOrOnEnd = compareInternalDates(currentInternal, endInternal) <= 0;\n return afterOrOnStart && beforeOrOnEnd;\n};\nvar getLocalTimeZone = () => {\n const timeZoneString = Intl.DateTimeFormat().resolvedOptions().timeZone;\n const date = /* @__PURE__ */ new Date();\n const shortTimeZone = date.toLocaleTimeString(\"en-us\", { timeZoneName: \"short\" }).split(\" \")[2];\n return shortTimeZone || timeZoneString;\n};\nvar SIZE_SCALES = {\n \"small\": 0.65,\n \"medium\": 0.8,\n \"large\": 0.9,\n \"extra-large\": 1\n};\nvar getDeviceScale = () => {\n if (typeof window === \"undefined\") return 1;\n const width = window.innerWidth;\n if (width < 640) return 0.7;\n if (width < 1024) return 0.85;\n return 1;\n};\nvar Calendar = ({\n calendartestId,\n value,\n onChange,\n enableRangeSelection = false,\n rangeValue,\n onRangeChange,\n enableTimeSelection = false,\n timeValue,\n onTimeChange,\n showTimeFormatToggle = false,\n timeFormat = \"12h\",\n onTimeFormatChange,\n autoHide = false,\n showTodayButton = false,\n showClearButton = false,\n placeholder = \"Select date\",\n className,\n disabled = false,\n onShow,\n onHide,\n icon,\n showIcon = true,\n size = \"extra-large\",\n enableYearDropdown = false,\n showDateFormatSelector = false,\n dateFormat = \"none\",\n onDateFormatChange,\n showTimeZoneSelector = false,\n timeZoneFormat = \"none\",\n onTimeZoneFormatChange,\n blockDateConfig,\n previewTextStyles = {},\n globalTypography = {}\n}) => {\n const today = /* @__PURE__ */ new Date();\n const [currentYear, setCurrentYear] = (0, import_react5.useState)(\n value?.year || today.getFullYear()\n );\n const [currentMonth, setCurrentMonth] = (0, import_react5.useState)(\n value?.month ?? today.getMonth()\n );\n const [internalRangeValue, setInternalRangeValue] = (0, import_react5.useState)({ start: null, end: null });\n const [isOpen, setIsOpen] = (0, import_react5.useState)(false);\n const [activeField, setActiveField] = (0, import_react5.useState)(\"start\");\n const [showTimeSelector, setShowTimeSelector] = (0, import_react5.useState)(false);\n const [selectedHour, setSelectedHour] = (0, import_react5.useState)(timeValue?.hour || 12);\n const [selectedMinute, setSelectedMinute] = (0, import_react5.useState)(timeValue?.minute || 0);\n const [selectedPeriod, setSelectedPeriod] = (0, import_react5.useState)(timeValue?.period || \"AM\");\n const [internalTimeFormat, setInternalTimeFormat] = (0, import_react5.useState)(timeFormat);\n const [showYearDropdown, setShowYearDropdown] = (0, import_react5.useState)(false);\n const [internalDateFormat, setInternalDateFormat] = (0, import_react5.useState)(dateFormat);\n const [internalTimeZoneFormat, setInternalTimeZoneFormat] = (0, import_react5.useState)(timeZoneFormat);\n const [deviceScale, setDeviceScale] = (0, import_react5.useState)(1);\n const [positionAbove, setPositionAbove] = (0, import_react5.useState)(false);\n const containerRef = (0, import_react5.useRef)(null);\n const calendarRef = (0, import_react5.useRef)(null);\n const sizeScale = SIZE_SCALES[size];\n const scale = sizeScale * deviceScale;\n const finalRangeValue = rangeValue ?? internalRangeValue;\n const scaled = (value2) => Math.round(value2 * scale);\n (0, import_react5.useEffect)(() => {\n const handleResize = () => {\n setDeviceScale(getDeviceScale());\n };\n handleResize();\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n (0, import_react5.useEffect)(() => {\n if (!isOpen || !containerRef.current || !calendarRef.current) return;\n const calculatePosition = () => {\n const containerRect = containerRef.current?.getBoundingClientRect();\n const calendarHeight = calendarRef.current?.offsetHeight || 580 * scale;\n if (!containerRect) return;\n const spaceBelow = window.innerHeight - containerRect.bottom;\n const spaceAbove = containerRect.top;\n const bufferSpace = 20;\n if (spaceBelow < calendarHeight + bufferSpace && spaceAbove > calendarHeight + bufferSpace) {\n setPositionAbove(true);\n } else {\n setPositionAbove(false);\n }\n };\n calculatePosition();\n window.addEventListener(\"resize\", calculatePosition);\n window.addEventListener(\"scroll\", calculatePosition, true);\n return () => {\n window.removeEventListener(\"resize\", calculatePosition);\n window.removeEventListener(\"scroll\", calculatePosition, true);\n };\n }, [isOpen, scale]);\n (0, import_react5.useEffect)(() => {\n if (value) {\n setCurrentYear(value.year);\n setCurrentMonth(value.month);\n }\n }, [value]);\n (0, import_react5.useEffect)(() => {\n if (timeValue) {\n setSelectedHour(timeValue.hour);\n setSelectedMinute(timeValue.minute);\n setSelectedPeriod(timeValue.period);\n }\n }, [timeValue]);\n (0, import_react5.useEffect)(() => {\n setInternalTimeFormat(timeFormat);\n }, [timeFormat]);\n (0, import_react5.useEffect)(() => {\n setInternalDateFormat(dateFormat);\n }, [dateFormat]);\n (0, import_react5.useEffect)(() => {\n setInternalTimeZoneFormat(timeZoneFormat);\n }, [timeZoneFormat]);\n (0, import_react5.useEffect)(() => {\n const handleClickOutside = (event) => {\n if (containerRef.current && !containerRef.current.contains(event.target)) {\n if (isOpen) {\n setIsOpen(false);\n setShowTimeSelector(false);\n setShowYearDropdown(false);\n onHide?.();\n }\n }\n };\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen, onHide]);\n const daysInMonth = getDaysInMonth(currentYear, currentMonth);\n const firstDay = getFirstDayOfMonth(currentYear, currentMonth);\n const monthName = getMonthName(currentMonth);\n const previousMonth = () => {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n setCurrentYear(currentYear - 1);\n } else {\n setCurrentMonth(currentMonth - 1);\n }\n };\n const nextMonth = () => {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n setCurrentYear(currentYear + 1);\n } else {\n setCurrentMonth(currentMonth + 1);\n }\n };\n const selectDate = (day) => {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n if (enableRangeSelection) {\n if (activeField === \"start\") {\n const newRange = { start: date, end: finalRangeValue?.end || null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"end\");\n } else {\n const start = finalRangeValue?.start;\n if (start) {\n const startTime = new Date(start.year, start.month, start.day).getTime();\n const endTime = new Date(date.year, date.month, date.day).getTime();\n let newRange;\n if (endTime < startTime) {\n newRange = { start: date, end: start };\n } else {\n newRange = { start, end: date };\n }\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n } else {\n const newRange = { start: date, end: null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"end\");\n }\n }\n } else {\n const dateString = convertToDateString(date);\n onChange?.(date, dateString);\n }\n if (showTimeSelector) {\n setShowTimeSelector(false);\n }\n if (autoHide && (!enableRangeSelection || enableRangeSelection && activeField === \"end\" && finalRangeValue?.start)) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const selectToday = () => {\n const todayDate = {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n };\n setCurrentYear(todayDate.year);\n setCurrentMonth(todayDate.month);\n const dateString = convertToDateString(todayDate);\n onChange?.(todayDate, dateString);\n if (enableTimeSelection && showTimeSelector) {\n const now = /* @__PURE__ */ new Date();\n const currentHour = now.getHours();\n const currentMinute = now.getMinutes();\n let hour12;\n let period;\n if (currentHour === 0) {\n hour12 = 12;\n period = \"AM\";\n } else if (currentHour === 12) {\n hour12 = 12;\n period = \"PM\";\n } else if (currentHour > 12) {\n hour12 = currentHour - 12;\n period = \"PM\";\n } else {\n hour12 = currentHour;\n period = \"AM\";\n }\n setSelectedHour(hour12);\n setSelectedMinute(currentMinute);\n setSelectedPeriod(period);\n onTimeChange?.({\n hour: hour12,\n minute: currentMinute,\n period\n });\n if (showTimeZoneSelector) {\n const localTZ = getLocalTimeZone();\n setInternalTimeZoneFormat(localTZ);\n onTimeZoneFormatChange?.(localTZ);\n }\n }\n if (autoHide) {\n setIsOpen(false);\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const clearDate = () => {\n if (enableRangeSelection) {\n const newRange = { start: null, end: null };\n if (!rangeValue) setInternalRangeValue(newRange);\n onRangeChange?.(newRange);\n setActiveField(\"start\");\n } else {\n onChange?.(null, \"\");\n }\n if (enableTimeSelection) {\n onTimeChange?.(null);\n setSelectedHour(12);\n setSelectedMinute(0);\n setSelectedPeriod(\"AM\");\n }\n };\n const toggleCalendar = () => {\n if (disabled) return;\n const newState = !isOpen;\n setIsOpen(newState);\n if (newState) {\n setShowTimeSelector(false);\n onShow?.();\n } else {\n setShowTimeSelector(false);\n onHide?.();\n }\n };\n const handleStartFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"start\");\n setShowTimeSelector(false);\n };\n const handleEndFieldClick = () => {\n if (!isOpen) {\n setIsOpen(true);\n onShow?.();\n }\n setActiveField(\"end\");\n setShowTimeSelector(false);\n };\n const handleChooseTimeClick = () => {\n setShowTimeSelector(!showTimeSelector);\n };\n const handleChooseDateClick = () => {\n setShowTimeSelector(false);\n };\n const handleTimeFormatToggle = () => {\n const newFormat = internalTimeFormat === \"12h\" ? \"24h\" : \"12h\";\n setInternalTimeFormat(newFormat);\n onTimeFormatChange?.(newFormat);\n };\n const handleTimeConfirm = () => {\n onTimeChange?.({\n hour: selectedHour,\n minute: selectedMinute,\n period: selectedPeriod\n });\n setShowTimeSelector(false);\n };\n const handleDateConfirm = () => {\n setIsOpen(false);\n onHide?.();\n };\n const handleMonthYearClick = () => {\n if (enableYearDropdown) {\n setShowYearDropdown(!showYearDropdown);\n }\n };\n const handleYearSelect = (year) => {\n setCurrentYear(year);\n setShowYearDropdown(false);\n };\n const renderDays = () => {\n const days = [];\n for (let i = 0; i < firstDay; i++) {\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n },\n `empty-start-${i}`\n )\n );\n }\n for (let day = 1; day <= daysInMonth; day++) {\n const date = {\n year: currentYear,\n month: currentMonth,\n day\n };\n const isSelected = enableRangeSelection ? isSameDate(finalRangeValue?.start, date) || isSameDate(finalRangeValue?.end, date) : isSameDate(value, date);\n const isInRange = enableRangeSelection && finalRangeValue?.start && finalRangeValue?.end ? (() => {\n const currentTime = new Date(date.year, date.month, date.day).getTime();\n const startTime = new Date(\n finalRangeValue.start.year,\n finalRangeValue.start.month,\n finalRangeValue.start.day\n ).getTime();\n const endTime = new Date(\n finalRangeValue.end.year,\n finalRangeValue.end.month,\n finalRangeValue.end.day\n ).getTime();\n return currentTime > startTime && currentTime < endTime;\n })() : false;\n const isToday = isSameDate(\n {\n year: today.getFullYear(),\n month: today.getMonth(),\n day: today.getDate()\n },\n date\n );\n const isBlocked = isBlockedDateHelper(date, blockDateConfig);\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => {\n if (!isBlocked) selectDate(day);\n },\n disabled: isBlocked,\n className: `\n flex items-center justify-center rounded\n font-semibold transition-all\n ${isSelected ? \"text-white shadow\" : \"\"}\n ${!isSelected && isToday ? \"border-2 border-[#1761A3] text-[#1761A3]\" : \"\"}\n ${!isSelected && !isToday && !isInRange ? \"bg-[rgba(0,123,255,0.05)] text-gray-700\" : \"\"}\n ${isInRange && !isSelected ? \"bg-[rgba(23,97,163,0.15)] text-gray-700\" : \"\"}\n ${!isBlocked && !isSelected ? \"hover:bg-[rgba(23,97,163,0.1)]\" : \"\"}\n ${isBlocked ? \"opacity-40 cursor-not-allowed text-gray-400\" : \"cursor-pointer\"}\n `,\n style: {\n width: scale * 32,\n height: scale * 30,\n fontSize: scale * 14,\n background: isSelected ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : void 0\n },\n children: day\n },\n `current-${day}`\n )\n );\n }\n const totalCells = firstDay + daysInMonth;\n const remainingCells = totalCells % 7 === 0 ? 0 : 7 - totalCells % 7;\n for (let i = 0; i < remainingCells; i++) {\n days.push(\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n style: { width: `${scaled(44)}px`, height: `${scaled(44)}px` }\n },\n `empty-end-${i}`\n )\n );\n }\n return days;\n };\n const renderTimeSelector = () => {\n const hours12 = Array.from({ length: 12 }, (_, i) => i + 1);\n const hours24 = Array.from({ length: 24 }, (_, i) => i);\n const minutes = Array.from({ length: 60 }, (_, i) => i);\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col h-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 overflow-y-auto\", children: [\n (showTimeFormatToggle || showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginBottom: scaled(12) }, children: [\n showTimeFormatToggle && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"div\", { style: { marginBottom: scaled(12) }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black\",\n style: { fontSize: scale * 12 },\n children: \"Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { gap: scale * 8 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: `font-semibold ${internalTimeFormat === \"12h\" ? \"text-[#111827]\" : \"text-[#6b7280]\"}`,\n style: { fontSize: scale * 12 },\n children: \"12h\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: handleTimeFormatToggle,\n role: \"switch\",\n \"aria-checked\": internalTimeFormat === \"24h\",\n className: \"relative inline-flex items-center rounded-lg transition-all\",\n style: {\n width: scale * 38,\n height: scale * 17,\n background: internalTimeFormat === \"24h\" ? \"#1761A3\" : \"#cbd5e1\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"bg-white rounded-full shadow\",\n style: {\n width: scale * 13,\n height: scale * 13,\n transform: internalTimeFormat === \"24h\" ? `translateX(${scale * 23}px)` : `translateX(${scale * 2}px)`\n }\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: `font-semibold ${internalTimeFormat === \"24h\" ? \"text-[#111827]\" : \"text-[#6b7280]\"}`,\n style: { fontSize: scale * 12 },\n children: \"24h\"\n }\n )\n ]\n }\n )\n ] }) }),\n (showDateFormatSelector || showTimeZoneSelector) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex items-start\",\n style: { gap: scale * 15 },\n children: [\n showDateFormatSelector && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black text-center\",\n style: { fontSize: scale * 12 },\n children: \"Date Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"relative\",\n style: { height: scale * 40 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: internalDateFormat,\n onChange: (e) => {\n setInternalDateFormat(e.target.value);\n onDateFormatChange?.(e.target.value);\n },\n className: \"appearance-none border rounded-md font-semibold text-[#111827] cursor-pointer\",\n style: {\n height: \"100%\",\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 36,\n paddingRight: scale * 32,\n border: \"1px solid rgba(77,175,131,0.25)\",\n background: \"#F0F8FF\"\n },\n children: DATE_FORMAT_OPTIONS.map((format) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { children: format }, format))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ]\n }\n )\n ] }),\n showTimeZoneSelector && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"font-semibold text-black text-right\",\n style: { fontSize: scale * 12 },\n children: \"Time Format\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"relative\",\n style: { height: scale * 40 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: internalTimeZoneFormat,\n onChange: (e) => {\n setInternalTimeZoneFormat(e.target.value);\n onTimeZoneFormatChange?.(e.target.value);\n },\n className: \"appearance-none border rounded-md font-semibold text-[#111827] cursor-pointer\",\n style: {\n height: \"100%\",\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32,\n border: \"1px solid rgba(77,175,131,0.25)\"\n },\n children: TIME_ZONE_OPTIONS.map((zone) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { children: zone }, zone))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ]\n }\n )\n ] })\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginTop: scale * 16 }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"label\",\n {\n className: \"block text-[#374151] font-semibold\",\n style: {\n marginBottom: scale * 12,\n fontSize: scale * 12\n },\n children: \"Time Select\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex\",\n style: { gap: scale * 12 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: selectedHour,\n onChange: (e) => setSelectedHour(Number(e.target.value)),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: (internalTimeFormat === \"24h\" ? hours24 : hours12).map((hour) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: hour, children: String(hour).padStart(2, \"0\") }, hour))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"select\",\n {\n value: selectedMinute,\n onChange: (e) => setSelectedMinute(Number(e.target.value)),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: minutes.map((minute) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: minute, children: String(minute).padStart(2, \"0\") }, minute))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] }),\n internalTimeFormat === \"12h\" && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"select\",\n {\n value: selectedPeriod,\n onChange: (e) => setSelectedPeriod(e.target.value),\n className: \"appearance-none border rounded-md font-semibold cursor-pointer\",\n style: {\n height: scale * 40,\n width: \"100%\",\n fontSize: scale * 12,\n paddingLeft: scale * 16,\n paddingRight: scale * 32\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: \"AM\", children: \"AM\" }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"option\", { value: \"PM\", children: \"PM\" })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiChevronDown,\n {\n className: \"absolute right-2 top-1/2 -translate-y-1/2 text-[#6b7280]\",\n style: { fontSize: scale * 18 }\n }\n )\n ] })\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { style: { marginTop: scale * 12 }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"label\",\n {\n className: \"block font-semibold text-[#374151]\",\n style: {\n marginBottom: scale * 8,\n fontSize: scale * 12\n },\n children: \"Preview\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"p\",\n {\n className: \"text-[#1761A3] font-semibold\",\n style: { fontSize: scale * 12 },\n children: [\n formatDateWithFormat(value ?? null, internalDateFormat),\n \" \",\n formatTime(\n { hour: selectedHour, minute: selectedMinute, period: selectedPeriod },\n internalTimeFormat\n ),\n internalTimeZoneFormat !== \"none\" ? ` ${internalTimeZoneFormat}` : \"\"\n ]\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"border-t border-[#e5e7eb]\",\n style: { paddingTop: scale * 15 },\n children: [\n (showTodayButton || showClearButton) && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex\",\n style: {\n gap: scale * 12,\n marginBottom: scale * 8\n },\n children: [\n showTodayButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: selectToday,\n className: \"flex items-center justify-center rounded-md font-semibold\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"rgba(23,97,163,0.15)\",\n color: \"#1761A3\",\n gap: scale * 8,\n flex: !showClearButton ? \"none\" : 1\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiOutlineClock,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n \"Current Time\"\n ]\n }\n ),\n showClearButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: clearDate,\n className: \"rounded-md font-semibold\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"rgba(239,68,68,0.15)\",\n color: \"#EF4444\",\n flex: !showTodayButton ? \"none\" : 1\n },\n children: \"Clear\"\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: handleTimeConfirm,\n className: \"w-full rounded-md font-semibold text-white\",\n style: {\n height: scale * 38,\n fontSize: scale * 12,\n background: \"linear-gradient(to right,#1761A3,#4DAF83)\"\n },\n children: \"Confirm Time\"\n }\n )\n ]\n }\n )\n ] });\n };\n const defaultIcon = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi2.HiCalendarDays, { style: {\n width: `${scaled(14)}px`,\n height: `${scaled(14)}px`\n } });\n return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n ref: containerRef,\n className: `relative ${className ?? \"\"}`,\n \"data-testid\": calendartestId,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative\", children: [\n showIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"pointer-events-none absolute inset-y-0 left-0 flex items-center\",\n style: { paddingLeft: scaled(12) },\n children: icon || defaultIcon\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"input\",\n {\n type: \"text\",\n readOnly: true,\n disabled,\n placeholder,\n onClick: toggleCalendar,\n value: enableRangeSelection && finalRangeValue ? finalRangeValue.start && finalRangeValue.end ? `${formatDate(finalRangeValue.start)} - ${formatDate(finalRangeValue.end)}` : finalRangeValue.start ? `${formatDate(finalRangeValue.start)} - ...` : \"\" : enableTimeSelection && value && timeValue ? `${formatDate(value)} ${formatTime(timeValue, internalTimeFormat)}` : formatDate(value ?? null),\n className: \"block w-full rounded-full border border-gray-300 bg-gray-50 font-semibold text-gray-900 shadow-sm transition-all focus:outline-none focus:border-blue-500\",\n style: {\n paddingTop: scale * 10,\n paddingBottom: scale * 10,\n paddingLeft: showIcon ? scale * 40 : scale * 12,\n paddingRight: scale * 12,\n fontSize: scale * 12,\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : 1\n }\n }\n )\n ] }),\n isOpen && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n ref: calendarRef,\n className: \"absolute left-0 z-[9999] overflow-hidden bg-white\",\n style: {\n width: scale * 406,\n borderRadius: scale * 22,\n border: \"1px solid #1761A3\",\n marginTop: positionAbove ? void 0 : scale * 8,\n marginBottom: positionAbove ? scale * 8 : void 0\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex flex-col\",\n style: {\n padding: scale * 24,\n background: \"linear-gradient(to bottom, rgba(23,97,163,0.08), rgba(77,175,131,0.08))\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"font-bold text-gray-900\",\n style: {\n fontSize: scale * 20,\n marginBottom: scale * 20\n },\n children: enableRangeSelection ? \"Select Date Range\" : \"Select Date & Time\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: `flex items-center ${!enableTimeSelection ? \"justify-center\" : \"justify-center\"}`,\n style: {\n gap: enableTimeSelection ? scale * 20 : 0,\n marginBottom: scale * 24,\n width: \"100%\"\n },\n children: enableRangeSelection ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleStartFieldClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n background: activeField === \"start\" ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: activeField === \"start\" ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"flex flex-col items-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"span\",\n {\n className: \"text-gray-500\",\n style: {\n fontSize: scale * 12,\n gap: scale * 24\n },\n children: \"From Date\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: finalRangeValue?.start ? formatDate(finalRangeValue.start) : \"Select date\" })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleEndFieldClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n background: activeField === \"end\" ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: activeField === \"end\" ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex flex-col items-start\",\n style: { gap: scale * 4 },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: {\n fontSize: scale * 12\n }, children: \"To Date\" }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: finalRangeValue?.end ? formatDate(finalRangeValue.end) : \"Select date\" })\n ]\n }\n )\n ]\n }\n )\n ] }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseDateClick,\n className: \"flex items-center justify-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n minWidth: enableTimeSelection ? scale * 140 : scale * 220,\n background: !showTimeSelector && enableTimeSelection ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: !showTimeSelector && enableTimeSelection ? \"white\" : \"#111827\"\n },\n children: [\n defaultIcon,\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: formatDate(value ?? null) || \"Choose Date\" })\n ]\n }\n ),\n enableTimeSelection && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: handleChooseTimeClick,\n className: \"flex items-center rounded-md shadow-sm\",\n style: {\n height: scale * 40,\n padding: `0 ${scale * 16}px`,\n marginLeft: scale * 16,\n background: showTimeSelector ? \"linear-gradient(to bottom,#1761A3,#4DAF83)\" : \"white\",\n color: showTimeSelector ? \"white\" : \"#111827\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi.HiOutlineClock,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"span\", { style: { fontSize: scale * 14 }, children: timeValue ? formatTime(\n timeValue,\n internalTimeFormat\n ) : \"Choose Time\" })\n ]\n }\n )\n ] })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\"div\", { style: { marginBottom: scale * 22 }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n \"aria-label\": \"Previous month\",\n onClick: previousMonth,\n className: \"flex items-center justify-center rounded-md bg-[#1761A3] text-white\",\n style: {\n width: scale * 32,\n height: scale * 30\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi.HiChevronLeft, { style: { width: scaled(10), height: scaled(10) } })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: handleMonthYearClick,\n className: \"font-bold text-[#1761A3]\",\n style: { fontSize: scale * 18 },\n children: [\n monthName,\n \" \",\n currentYear\n ]\n }\n ),\n showYearDropdown && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"absolute bg-white border rounded-md shadow-md z-[9999] max-h-40 overflow-y-auto\",\n style: {\n marginTop: scale * 8,\n width: scale * 120\n },\n children: Array.from({ length: 100 }, (_, i) => currentYear - 50 + i).map((year) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n onClick: () => handleYearSelect(year),\n className: \"px-3 py-2 cursor-pointer hover:bg-gray-100\",\n style: { fontSize: scale * 12 },\n children: year\n },\n year\n ))\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n \"aria-label\": \"Next month\",\n onClick: nextMonth,\n className: \"flex items-center justify-center rounded-md bg-[#1761A3] text-white\",\n style: {\n width: scale * 32,\n height: scale * 30\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_hi.HiChevronRight, { style: { width: scaled(10), height: scaled(10) } })\n }\n )\n ] }) }),\n !showTimeSelector ? /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"div\",\n {\n className: \"grid grid-cols-7\",\n style: { gap: scale * 24 },\n children: renderDays()\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"div\",\n {\n className: \"flex justify-between\",\n style: {\n gap: scale * 12,\n marginTop: scale * 8\n },\n children: [\n showTodayButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(\n \"button\",\n {\n onClick: selectToday,\n className: \"flex items-center justify-center font-semibold\",\n style: {\n width: scale * 165,\n height: scale * 38,\n borderRadius: scale * 6,\n background: \"rgba(23, 97, 163, 0.15)\",\n color: \"#1761A3\",\n fontSize: scale * 12,\n gap: scale * 8\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n import_hi2.HiCalendarDays,\n {\n style: {\n width: scaled(14),\n height: scaled(14)\n }\n }\n ),\n \"Today\"\n ]\n }\n ),\n showClearButton && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: clearDate,\n className: \"flex items-center justify-center font-semibold\",\n style: {\n width: scale * 165,\n height: scale * 38,\n borderRadius: scale * 6,\n background: \"rgba(239, 68, 68, 0.15)\",\n color: \"#EF4444\",\n fontSize: scale * 12\n },\n children: \"\\u{1F5D1} Clear\"\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(\n \"button\",\n {\n onClick: handleDateConfirm,\n className: \"w-full rounded-md font-semibold text-white\",\n style: {\n height: scale * 38,\n marginTop: scale * 12,\n background: \"linear-gradient(to right,#1761A3,#4DAF83)\"\n },\n children: \"Confirm Date\"\n }\n )\n ] }) : renderTimeSelector()\n ]\n }\n )\n }\n )\n ]\n }\n );\n};\nCalendar.displayName = \"Calendar\";\n\n// src/components/Filter.tsx\nvar import_jsx_runtime8 = require(\"react/jsx-runtime\");\nvar DEFAULT_ACTIVITY_OPTIONS = [\n { label: \"Select Activity\", value: \"\" },\n { label: \"Activity List\", value: \"Activity List\" },\n { label: \"Login\", value: \"Login\" },\n { label: \"Update\", value: \"Update\" },\n { label: \"Delete\", value: \"Delete\" }\n];\nvar DEFAULT_STATUS_OPTIONS = [\n { label: \"Select Status\", value: \"\" },\n { label: \"Pending\", value: \"Pending\" },\n { label: \"Approved\", value: \"Approved\" },\n { label: \"Rejected\", value: \"Rejected\" }\n];\nvar Filter = ({\n onApply,\n onReset,\n activityOptions = DEFAULT_ACTIVITY_OPTIONS,\n statusOptions = DEFAULT_STATUS_OPTIONS,\n searchPlaceholder = \"Search...\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const [values, setValues] = (0, import_react6.useState)({\n date: { start: null, end: null },\n activity: \"\",\n status: \"\",\n keyword: \"\"\n });\n const handleChange = (name, value) => {\n setValues((prev) => ({ ...prev, [name]: value }));\n };\n const resetField = (name) => {\n if (name === \"date\") {\n setValues((prev) => ({\n ...prev,\n date: { start: null, end: null }\n }));\n } else {\n setValues((prev) => ({ ...prev, [name]: \"\" }));\n }\n };\n const resetAll = () => {\n const newValues = {\n date: { start: null, end: null },\n activity: \"\",\n status: \"\",\n keyword: \"\"\n };\n setValues(newValues);\n if (onReset) onReset();\n else if (onApply) onApply(newValues);\n };\n const applyFilters = () => {\n if (onApply) onApply(values);\n setOpen(false);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"relative\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-button` : void 0,\n onClick: () => setOpen((p) => !p),\n className: \"\\r\\n flex items-center gap-2\\r\\n px-5 py-3\\r\\n rounded-lg\\r\\n border border-[rgba(23,97,163,0.35)]\\r\\n bg-gradient-to-r from-[#f2fbf8] to-[#eef6fb]\\r\\n text-slate-900 font-semibold\\r\\n shadow-sm\\r\\n hover:from-[#e8f5f0] hover:to-[#e0f0f6]\\r\\n focus:outline-none focus:ring-2 focus:ring-[#1761a3]\\r\\n \",\n children: \"Filter\"\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n className: \"absolute right-0 mt-3 z-50\",\n \"data-testid\": testId ? `${testId}-model` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"w-[360px] bg-white border border-slate-200 rounded-lg shadow\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between items-center px-5 py-3 border-b border-[rgba(23,97,163,0.35)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"h3\", { className: \"text-base font-semibold\", children: \"Add Filter\" }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-close` : void 0,\n onClick: () => setOpen(false),\n className: \"w-8 h-8 rounded-full flex items-center justify-center bg-slate-100 hover:bg-slate-200\",\n children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react4.X, { className: \"w-4 h-4 text-slate-600\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Section, { title: \"Date Range\", onReset: () => resetField(\"date\"), children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n Calendar,\n {\n enableRangeSelection: true,\n rangeValue: values.date,\n onRangeChange: (range) => handleChange(\"date\", range),\n size: \"small\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(SelectWrapper, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"select\",\n {\n className: \"w-full appearance-none px-4 py-3 pr-10 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.activity,\n onChange: (e) => handleChange(\"activity\", e.target.value),\n children: activityOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"option\", { value: opt.value, children: opt.label }, opt.value))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectIcon, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(SelectWrapper, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"select\",\n {\n className: \"w-full appearance-none px-4 py-3 pr-10 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.status,\n onChange: (e) => handleChange(\"status\", e.target.value),\n children: statusOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"option\", { value: opt.value, children: opt.label }, opt.value))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SelectIcon, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"input\",\n {\n className: \"w-full px-4 py-3 border border-slate-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#1761a3]\",\n value: values.keyword,\n placeholder: searchPlaceholder,\n onChange: (e) => handleChange(\"keyword\", e.target.value)\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between items-center px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-resetall` : void 0,\n onClick: resetAll,\n className: \"border border-[#1761a3] bg-[#f0f8ff] px-4 py-2 rounded-md hover:bg-[#e6f3ff]\",\n children: \"Reset all\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"button\",\n {\n type: \"button\",\n \"data-testid\": testId ? `${testId}-apply` : void 0,\n onClick: applyFilters,\n className: \"px-4 py-2 rounded-md text-white bg-gradient-to-r from-[#1761a3] to-[#4daf83] hover:opacity-90\",\n children: \"Apply Now\"\n }\n )\n ] })\n ] })\n }\n )\n ] });\n};\nvar Section = ({\n title,\n onReset,\n children\n}) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"px-5 py-4 bg-gradient-to-r from-[#f3fbf8] to-[#eef6fb] border-b border-[rgba(23,97,163,0.35)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\"div\", { className: \"flex justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"h6\", { className: \"font-semibold text-sm\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"button\", { type: \"button\", onClick: onReset, className: \"text-[#1761a3] text-sm font-semibold hover:opacity-80\", children: \"Reset\" })\n ] }),\n children\n] });\nvar SelectWrapper = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"div\", { className: \"relative w-full mb-3\", children });\nvar SelectIcon = () => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"absolute right-3 top-1/2 -translate-y-1/2 text-slate-500 pointer-events-none\", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_lucide_react4.ChevronDown, { className: \"w-4 h-4\" }) });\nvar MahatiActivity = ({\n value,\n onChange,\n options = DEFAULT_ACTIVITY_OPTIONS,\n size = \"medium\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const triggerRef = (0, import_react6.useRef)(null);\n const dropdownRef = (0, import_react6.useRef)(null);\n const [pos, setPos] = (0, import_react6.useState)(null);\n const selectedLabel = options.find((o) => o.value == value)?.label || \"Select Activity\";\n const updatePosition = () => {\n if (!triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n setPos({\n top: rect.bottom + window.scrollY + 6,\n left: rect.left + window.scrollX,\n width: rect.width\n });\n };\n (0, import_react6.useEffect)(() => {\n if (!open) return;\n updatePosition();\n window.addEventListener(\"scroll\", updatePosition, true);\n window.addEventListener(\"resize\", updatePosition);\n return () => {\n window.removeEventListener(\"scroll\", updatePosition, true);\n window.removeEventListener(\"resize\", updatePosition);\n };\n }, [open]);\n (0, import_react6.useEffect)(() => {\n const handler = (e) => {\n if (triggerRef.current?.contains(e.target) || dropdownRef.current?.contains(e.target)) {\n return;\n }\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-trigger` : void 0,\n ref: triggerRef,\n onClick: () => setOpen((p) => !p),\n className: `\n w-full\n flex items-center justify-between\n bg-white\n border\n rounded-md\n cursor-pointer\n transition\n ${open ? \"border-[#1761a3] ring-2 ring-[#1761a333]\" : \"border-slate-300\"}\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"text-sm truncate\", children: selectedLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n import_lucide_react4.ChevronDown,\n {\n className: `w-4 h-4 text-slate-500 transition ${open ? \"rotate-180\" : \"\"}`\n }\n )\n ]\n }\n ),\n open && pos && (0, import_react_dom.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-dropdown` : void 0,\n ref: dropdownRef,\n style: {\n top: pos.top,\n left: pos.left,\n width: pos.width,\n position: \"absolute\"\n },\n className: \"\\r\\n z-[9999]\\r\\n bg-white\\r\\n border border-slate-300\\r\\n rounded-md\\r\\n shadow-xl\\r\\n max-h-[240px]\\r\\n overflow-y-auto\\r\\n \",\n children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-option-${String(opt.value)}` : void 0,\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: \"\\r\\n px-4 py-2\\r\\n text-sm\\r\\n cursor-pointer\\r\\n hover:bg-[#1761a3]\\r\\n hover:text-white\\r\\n \",\n children: opt.label\n },\n String(opt.value)\n ))\n }\n ),\n document.body\n )\n ] });\n};\nvar MahatiStatus = ({\n value,\n onChange,\n options = DEFAULT_STATUS_OPTIONS,\n size = \"medium\",\n testId\n}) => {\n const [open, setOpen] = (0, import_react6.useState)(false);\n const triggerRef = (0, import_react6.useRef)(null);\n const dropdownRef = (0, import_react6.useRef)(null);\n const [pos, setPos] = (0, import_react6.useState)(null);\n const selectedLabel = options.find((o) => o.value == value)?.label || \"Select Status\";\n const updatePosition = () => {\n if (!triggerRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n setPos({\n top: rect.bottom + window.scrollY + 6,\n left: rect.left + window.scrollX,\n width: rect.width\n });\n };\n (0, import_react6.useEffect)(() => {\n if (!open) return;\n updatePosition();\n window.addEventListener(\"scroll\", updatePosition, true);\n window.addEventListener(\"resize\", updatePosition);\n return () => {\n window.removeEventListener(\"scroll\", updatePosition, true);\n window.removeEventListener(\"resize\", updatePosition);\n };\n }, [open]);\n (0, import_react6.useEffect)(() => {\n const handler = (e) => {\n if (triggerRef.current?.contains(e.target) || dropdownRef.current?.contains(e.target)) return;\n setOpen(false);\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-trigger` : void 0,\n ref: triggerRef,\n onClick: () => setOpen((p) => !p),\n className: `\n w-full\n flex items-center justify-between\n bg-white\n border\n rounded-md\n cursor-pointer\n transition\n ${open ? \"border-[#1761a3] ring-2 ring-[#1761a333]\" : \"border-slate-300\"}\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\"span\", { className: \"text-sm truncate\", children: selectedLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n import_lucide_react4.ChevronDown,\n {\n className: `w-4 h-4 text-slate-500 transition ${open ? \"rotate-180\" : \"\"}`\n }\n )\n ]\n }\n ),\n open && pos && (0, import_react_dom.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n \"data-testid\": testId ? `${testId}-dropdown` : void 0,\n ref: dropdownRef,\n style: {\n top: pos.top,\n left: pos.left,\n width: pos.width,\n position: \"absolute\"\n },\n className: \"\\r\\n z-[9999]\\r\\n bg-white\\r\\n border border-slate-300\\r\\n rounded-md\\r\\n shadow-xl\\r\\n max-h-[240px]\\r\\n overflow-y-auto\\r\\n \",\n children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: \"\\r\\n px-4 py-2\\r\\n text-sm\\r\\n cursor-pointer\\r\\n hover:bg-[#1761a3]\\r\\n hover:text-white\\r\\n \",\n children: opt.label\n },\n String(opt.value)\n ))\n }\n ),\n document.body\n )\n ] });\n};\nvar MahatiSearch = ({\n value,\n onChange,\n placeholder = \"Search...\",\n size = \"medium\",\n testId\n}) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(\n \"input\",\n {\n \"data-testid\": testId,\n type: \"text\",\n value,\n placeholder,\n onChange: (e) => onChange(e.target.value),\n className: `\n w-full\n border border-slate-300\n rounded-md\n bg-white\n text-sm\n focus:outline-none\n focus:ring-2\n focus:ring-[#1761a3]\n ${size === \"small\" ? \"px-3 py-2\" : \"px-4 py-3\"}\n `\n }\n);\nFilter.displayName = \"Filter\";\nMahatiActivity.displayName = \"MahatiActivity\";\nMahatiStatus.displayName = \"MahatiStatus\";\nMahatiSearch.displayName = \"MahatiSearch\";\n\n// src/components/TabbedInterface.tsx\nvar import_react7 = require(\"react\");\nvar import_jsx_runtime9 = require(\"react/jsx-runtime\");\nvar getFontFamily = (font) => {\n if (!font) return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n const lower = font.toLowerCase().trim();\n if (lower === \"sans\" || lower === \"sans-serif\")\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n if (lower === \"serif\")\n return \"Georgia, 'Times New Roman', serif\";\n if (lower === \"mono\" || lower === \"monospace\")\n return \"'Courier New', Courier, monospace\";\n if (lower === \"poppins\")\n return \"'Poppins', sans-serif\";\n return `'${font}', sans-serif`;\n};\nvar TabbedInterface = ({\n tabs,\n variant = \"underline\",\n defaultActiveTab = 0,\n onTabChange,\n draggableTabs = false,\n onReorderTabs,\n orientation = \"horizontal\",\n verticalPosition = \"left\",\n showTabCloseIconInHeader = false,\n tabCloseIconPosition = \"right\",\n tabCloseIconContent,\n onCloseTab,\n tabHeaderFont,\n tabContentFont,\n sectionTitleFont,\n sectionDescriptionFont,\n testId\n}) => {\n const [activeIndex, setActiveIndex] = (0, import_react7.useState)(defaultActiveTab);\n const [draggingIndex, setDraggingIndex] = (0, import_react7.useState)(null);\n const effectiveCloseIconContent = tabCloseIconContent ?? \"\\xD7\";\n const tabHeaderFontFamily = getFontFamily(tabHeaderFont);\n const tabContentFontFamily = getFontFamily(tabContentFont);\n (0, import_react7.useEffect)(() => {\n if (defaultActiveTab !== activeIndex) {\n setActiveIndex(defaultActiveTab);\n }\n }, [defaultActiveTab]);\n (0, import_react7.useEffect)(() => {\n if (!tabs.length) {\n setActiveIndex(0);\n return;\n }\n setActiveIndex(\n (prev) => prev < 0 ? 0 : prev >= tabs.length ? tabs.length - 1 : prev\n );\n }, [tabs.length]);\n const handleTabClick = (index) => {\n setActiveIndex(index);\n onTabChange?.(index);\n };\n const handleDragStart = (index) => {\n if (!draggableTabs) return;\n setDraggingIndex(index);\n };\n const handleDragOver = (event) => {\n if (!draggableTabs) return;\n event.preventDefault();\n };\n const handleDrop = (index) => {\n if (!draggableTabs) return;\n if (draggingIndex === null) {\n setDraggingIndex(null);\n return;\n }\n const fromIndex = draggingIndex;\n const toIndex = index;\n if (fromIndex === toIndex) {\n setDraggingIndex(null);\n return;\n }\n setActiveIndex((prevActive) => {\n let active = prevActive;\n if (active === fromIndex) return toIndex;\n if (fromIndex < toIndex) {\n if (active > fromIndex && active <= toIndex) return active - 1;\n } else if (fromIndex > toIndex) {\n if (active >= toIndex && active < fromIndex) return active + 1;\n }\n return active;\n });\n onReorderTabs?.(fromIndex, toIndex);\n setDraggingIndex(null);\n };\n const handleDragEnd = () => {\n if (!draggableTabs) return;\n setDraggingIndex(null);\n };\n const headerButtons = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: tabs.map((tab, index) => {\n const active = index === activeIndex;\n const isDragging = draggableTabs && draggingIndex === index;\n const showClose = showTabCloseIconInHeader && !!onCloseTab;\n const closeIcon = showClose ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"span\",\n {\n role: \"button\",\n \"aria-label\": \"Close tab\",\n onClick: (e) => {\n e.stopPropagation();\n onCloseTab?.(index);\n },\n className: \"inline-flex h-6 w-6 items-center justify-center rounded-full text-lg font-bold hover:bg-[#e2e8f0] hover:text-[#334155]\",\n children: effectiveCloseIconContent\n }\n ) : null;\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: () => handleTabClick(index),\n draggable: draggableTabs,\n onDragStart: () => handleDragStart(index),\n onDragOver: handleDragOver,\n onDrop: () => handleDrop(index),\n onDragEnd: handleDragEnd,\n className: `relative flex items-center px-4 py-2 text-sm font-semibold transition-all duration-300 select-none\n ${orientation === \"vertical\" ? \"text-left w-full\" : \"text-center\"}\n ${isDragging ? \"ring-2 ring-[#1761A3]\" : \"\"}\n ${variant === \"pill\" ? active ? \"rounded-full bg-[#1761A3] text-white shadow\" : \"rounded-full text-[#1761A3] hover:bg-[#1761A3]/10\" : variant === \"outline\" ? active ? \"rounded-md border-2 border-[#1761A3] bg-[#F3F8FF] text-[#1761A3]\" : \"rounded-md border-2 border-transparent text-slate-700 hover:border-slate-300\" : variant === \"filled\" ? active ? \"rounded-md bg-[#1761A3] text-white\" : \"rounded-md bg-[#EAF3FD] text-[#1761A3]\" : variant === \"gradient\" ? active ? \"rounded-md bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white\" : \"rounded-md bg-[#F0F4F8] text-[#1761A3]\" : variant === \"shadow\" ? active ? \"rounded-md bg-white text-[#1761A3] shadow-lg\" : \"rounded-md bg-[#F8FAFD]\" : variant === \"glass\" ? active ? \"rounded-md bg-[#1761A3]/40 text-white border border-white/30 backdrop-blur-[24px]\" : \"rounded-md bg-white/20 border border-white/30\" : variant === \"dark\" ? active ? \"text-blue-300 border-b-4 border-blue-400\" : \"text-slate-300 hover:text-blue-400\" : active ? \"text-[#1761A3]\" : \"text-slate-700 hover:text-[#1761A3]\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"flex w-full items-center justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"flex min-w-0 items-center gap-2\", children: [\n tabCloseIconPosition === \"left\" && closeIcon,\n tab.icon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"span\", { children: tab.icon }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"span\", { className: \"truncate\", children: tab.label })\n ] }),\n tabCloseIconPosition === \"right\" && closeIcon\n ] }),\n variant === \"underline\" && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"span\",\n {\n className: `absolute ${orientation === \"vertical\" ? \"left-0 top-0 h-full w-[3px]\" : \"bottom-[-2px] left-0 h-[3px] w-full\"}\n bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\n transition-transform duration-300\n ${active ? \"scale-x-100\" : \"scale-x-0\"}\n `\n }\n )\n ]\n },\n index\n );\n }) });\n const content = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n className: \"relative min-h-[180px]\",\n style: { fontFamily: tabContentFontFamily },\n children: tabs.map((tab, index) => {\n const active = index === activeIndex;\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n className: `transition-opacity duration-300 ${active ? \"relative opacity-100\" : \"absolute inset-0 opacity-0 pointer-events-none\"}`,\n children: tab.content\n },\n index\n );\n })\n }\n );\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: `w-full mx-auto rounded-xl border p-8 box-border transition-all duration-300 overflow-hidden\n ${variant === \"dark\" ? \"bg-[#45484f] border-slate-700 text-slate-100 shadow-lg\" : variant === \"glass\" ? \"bg-white/10 border-white/30 backdrop-blur-xl text-slate-900 shadow-lg\" : \"bg-white border-[#b8d1f3] text-slate-900 shadow-sm\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"mb-5 flex justify-around max-[600px]:flex-col max-[600px]:items-center\", children: headerButtons }),\n content\n ]\n }\n );\n }\n return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: `w-full mx-auto rounded-xl border p-8 box-border transition-all duration-300 overflow-hidden\n ${variant === \"dark\" ? \"bg-[#45484f] border-slate-700 text-slate-100 shadow-lg\" : variant === \"glass\" ? \"bg-white/10 border-white/30 backdrop-blur-xl text-slate-900 shadow-lg\" : \"bg-white border-[#b8d1f3] text-slate-900 shadow-sm\"}`,\n children: verticalPosition === \"left\" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"grid gap-6 md:grid-cols-[minmax(180px,220px)_1fr]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"flex flex-col gap-2 border-b pb-3 md:border-b-0 md:border-r md:pr-4\", children: headerButtons }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { children: content })\n ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(\"div\", { className: \"grid gap-6 md:grid-cols-[1fr_minmax(180px,220px)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { children: content }),\n /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(\"div\", { className: \"flex flex-col gap-2 border-b pb-3 md:border-b-0 md:border-l md:pl-4\", children: headerButtons })\n ] })\n }\n );\n};\nTabbedInterface.displayName = \"TabbedInterface\";\n\n// src/components/Dropdown.tsx\nvar import_react8 = require(\"react\");\nvar import_jsx_runtime10 = require(\"react/jsx-runtime\");\nvar Dropdown = ({\n options,\n value,\n onSelect,\n variant = \"basic\",\n className = \"\",\n placeholder = \"Select an option\",\n disabled = false,\n testId\n}) => {\n const [open, setOpen] = (0, import_react8.useState)(false);\n const [internalSelected, setInternalSelected] = (0, import_react8.useState)(null);\n const dropdownRef = (0, import_react8.useRef)(null);\n const selectedOption = value !== void 0 ? options.find((opt) => opt.value === value) : internalSelected;\n (0, import_react8.useEffect)(() => {\n function handleClickOutside(event) {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setOpen(false);\n }\n }\n if (open) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [open]);\n const handleSelect = (option) => {\n if (disabled) return;\n if (value === void 0) setInternalSelected(option);\n onSelect(option.value);\n setOpen(false);\n };\n const handleButtonClick = () => {\n if (!disabled) {\n setOpen(!open);\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(\n \"div\",\n {\n ref: dropdownRef,\n className: `relative w-full max-w-[14rem] min-w-0 box-border ${className || \"\"}`,\n \"data-testid\": testId,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"button\",\n {\n onClick: handleButtonClick,\n disabled,\n type: \"button\",\n className: `\n w-full text-left px-4 py-2 rounded-[0.375rem] text-[1rem] leading-[1.5]\n transition-all duration-200 ease-in-out border-none\n ${disabled ? \"bg-[#e5e7eb] text-[#9ca3af] cursor-not-allowed opacity-50\" : \"\"}\n\n ${!disabled && {\n basic: \"bg-[#2563eb] text-white hover:bg-[#1d4ed8]\",\n outline: \"border border-[#2563eb] bg-transparent text-[#2563eb] hover:bg-[#eff6ff]\",\n pill: \"bg-[#2563eb] text-white rounded-full hover:bg-[#1d4ed8]\",\n dark: \"bg-[#1f2937] text-white hover:bg-[#374151]\",\n underline: \"border-none border-b-2 border-[#3b82f6] rounded-none bg-transparent text-[#1d4ed8] hover:bg-[#eff6ff]\",\n shadow: \"bg-white text-[#374151] border border-[#e5e7eb] shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)] hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]\",\n glass: \"bg-[rgba(255,255,255,0.2)] [backdrop-filter:blur(12px)][-webkit-backdrop-filter:blur(12px)] text-white border border-[rgba(255,255,255,0.4)] hover:bg-[rgba(255,255,255,0.3)]\",\n gradient: \"bg-gradient-to-r from-[#3b82f6] to-[#a855f7] text-white hover:opacity-90\"\n }[variant]}\n `,\n children: selectedOption?.key || placeholder\n }\n ),\n open && !disabled && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"div\",\n {\n className: `\n absolute mt-2 w-full rounded-[0.375rem] border border-[#e5e7eb]\n shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]\n max-h-[16rem] overflow-y-auto scrollbar-thin scrollbar-thumb-slate-300 scrollbar-track-100 z-20\n ${variant === \"glass\" ? \"bg-[rgba(255,255,255,0.9)] backdrop-blur-[12px] border-[rgba(255,255,255,0.6)]\" : \"bg-white\"}\n `,\n children: options.map((opt, index) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(\n \"div\",\n {\n onClick: () => handleSelect(opt),\n className: `\n px-4 py-2 cursor-pointer text-[#374151]\n transition-colors duration-150\n ${variant === \"glass\" ? \"hover:bg-[rgba(59,130,246,0.1)]\" : \"hover:bg-[#f3f4f6]\"}\n ${index === 0 ? \"rounded-t-[0.375rem]\" : \"\"}\n ${index === options.length - 1 ? \"rounded-b-[0.375rem]\" : \"\"}\n `,\n children: opt.key\n },\n opt.value\n ))\n }\n )\n ]\n }\n );\n};\nDropdown.displayName = \"Dropdown\";\n\n// src/components/TableWithTab.tsx\nvar import_react9 = __toESM(require(\"react\"));\nvar import_outline = require(\"@heroicons/react/24/outline\");\nvar import_jsx_runtime11 = require(\"react/jsx-runtime\");\nvar getFontFamily2 = (font) => {\n if (!font)\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n const lower = font.toLowerCase().trim();\n if (lower === \"sans\" || lower === \"sans-serif\")\n return \"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";\n if (lower === \"serif\") return \"Georgia, 'Times New Roman', serif\";\n if (lower === \"mono\" || lower === \"monospace\")\n return \"'Courier New', Courier, monospace\";\n if (lower === \"poppins\") return \"'Poppins', sans-serif\";\n return `'${font}', sans-serif`;\n};\nfunction renderCellValue(value) {\n if (import_react9.default.isValidElement(value)) return value;\n if (value === null || value === void 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"text-slate-300\", children: \"-\" });\n }\n if (Array.isArray(value)) {\n if (value.some((v) => import_react9.default.isValidElement(v))) return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: value });\n return value.join(\", \");\n }\n if (value instanceof Date) return value.toLocaleString();\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (typeof value === \"number\") return value.toString();\n if (typeof value === \"object\") return JSON.stringify(value);\n return String(value);\n}\nfunction DefaultTabContent({\n headers,\n row\n}) {\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"flex flex-col gap-2\", children: headers.map((h) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"div\",\n {\n className: \"flex flex-col sm:flex-row sm:items-center gap-1 rounded-lg bg-white p-3 text-sm shadow-sm\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"w-full sm:w-48 text-xs font-semibold uppercase tracking-wide text-slate-500\", children: h.label }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { className: \"flex-1 break-words text-slate-800\", children: renderCellValue(row[h.key]) })\n ]\n },\n h.key\n )) });\n}\nfunction TableWithTab({\n tableProps,\n tabProps,\n rearrange = false,\n getRowId,\n renderTabContent,\n onRowOpenInTab,\n title,\n description,\n tabLabelKey,\n sectionTitleFont,\n sectionDescriptionFont,\n testId\n}) {\n const { headers, data } = tableProps;\n const [tabs, setTabs] = (0, import_react9.useState)([]);\n const labelColumnKey = tabLabelKey ?? headers[0]?.key;\n const sectionTitleFontFamily = getFontFamily2(sectionTitleFont);\n const sectionDescriptionFontFamily = getFontFamily2(sectionDescriptionFont);\n (0, import_react9.useEffect)(() => {\n if (!tabs.length) return;\n setTabs(\n (prev) => prev.map((t) => {\n const row = t.row;\n const rawLabel = labelColumnKey && row[labelColumnKey] !== void 0 ? row[labelColumnKey] : t.id;\n const label = typeof rawLabel === \"string\" || typeof rawLabel === \"number\" ? String(rawLabel) : `Row ${t.rowIndex + 1}`;\n return { ...t, label };\n })\n );\n }, [tabLabelKey, headers]);\n const handleRowClick = (row, index) => {\n const id = getRowId ? getRowId(row, index) : index;\n setTabs((prev) => {\n const existsIndex = prev.findIndex((t) => t.id === id);\n if (existsIndex !== -1) {\n const next2 = [...prev];\n next2.splice(existsIndex, 1);\n return next2;\n }\n const rawLabel = labelColumnKey && row[labelColumnKey] !== void 0 ? row[labelColumnKey] : id;\n const label = typeof rawLabel === \"string\" || typeof rawLabel === \"number\" ? String(rawLabel) : `Row ${index + 1}`;\n const next = [...prev, { id, label, row, rowIndex: index }];\n onRowOpenInTab?.(row);\n return next;\n });\n };\n const handleCloseTab = (id) => {\n setTabs((prev) => prev.filter((t) => t.id !== id));\n };\n const isRowSelected = (row, index) => {\n const id = getRowId ? getRowId(row, index) : index;\n return tabs.some((t) => t.id === id);\n };\n const handleReorderTabs = (fromIndex, toIndex) => {\n setTabs((prev) => {\n const next = [...prev];\n const [moved] = next.splice(fromIndex, 1);\n next.splice(toIndex, 0, moved);\n return next;\n });\n };\n const tabbedInterfaceTabs = tabs.map((t) => ({\n label: t.label,\n content: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"flex flex-col gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"flex justify-end\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"button\",\n {\n type: \"button\",\n onClick: () => handleCloseTab(t.id),\n className: \"inline-flex items-center gap-1 rounded-full bg-[#f1f5f9] px-3 py-1 text-xs font-medium text-[#334155] transition-colors hover:bg-[#e2e8f0]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_outline.XMarkIcon, { className: \"h-3 w-3\" }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"span\", { children: \"Close tab\" })\n ]\n }\n ) }),\n renderTabContent ? renderTabContent(t.row) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(DefaultTabContent, { headers, row: t.row })\n ] })\n }));\n const effectiveShowHeaderClose = tabProps?.showTabCloseIconInHeader ?? true;\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"w-full rounded-xl border border-slate-200 bg-white p-6 shadow-sm\",\n children: [\n (title || description) && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mb-4\", children: [\n title && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"h2\",\n {\n className: \"text-xl font-semibold text-slate-900\",\n style: { fontFamily: sectionTitleFontFamily },\n children: title\n }\n ),\n description && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"p\",\n {\n className: \"mt-1 text-sm text-slate-500\",\n style: { fontFamily: sectionDescriptionFontFamily },\n children: description\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"overflow-x-auto w-full rounded-xl border border-slate-200\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"div\", { className: \"min-w-[900px]\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"table\", { className: \"min-w-full border-collapse text-sm\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"thead\", { className: \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83]\", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"tr\", { children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"th\",\n {\n className: \"px-3 py-2 text-left text-xs font-semibold uppercase tracking-wide text-white\",\n children: header.label\n },\n header.key\n )) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"tbody\", { className: \"bg-white\", children: [\n data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"td\",\n {\n colSpan: headers.length,\n className: \"px-4 py-6 text-center text-sm text-slate-500\",\n children: \"No records to display.\"\n }\n ) }),\n data.map((row, index) => {\n const selected = isRowSelected(row, index);\n const rowId = getRowId ? getRowId(row, index) : index;\n return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"tr\",\n {\n onClick: () => handleRowClick(row, index),\n className: `cursor-pointer border-b border-slate-100 transition hover:bg-slate-50 ${selected ? \"bg-blue-100/70\" : \"\"}`,\n children: headers.map((header) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n \"td\",\n {\n className: \"px-3 py-2 text-slate-800\",\n children: renderCellValue(\n row[header.key]\n )\n },\n header.key\n ))\n },\n String(rowId)\n );\n })\n ] })\n ] }) }) }),\n tabs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mt-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"div\", { className: \"mb-3 flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(\"h3\", { className: \"text-sm font-semibold uppercase tracking-wide text-slate-500\", children: [\n \"Open Rows (\",\n tabs.length,\n \")\"\n ] }),\n rearrange && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\"p\", { className: \"text-xs text-slate-500\", children: \"Drag the tab headers to change their order.\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(\n TabbedInterface,\n {\n ...tabProps,\n tabs: tabbedInterfaceTabs,\n draggableTabs: rearrange,\n onReorderTabs: rearrange ? handleReorderTabs : void 0,\n showTabCloseIconInHeader: effectiveShowHeaderClose,\n onCloseTab: (index) => {\n const target = tabs[index];\n if (!target) return;\n handleCloseTab(target.id);\n }\n }\n )\n ] })\n ]\n }\n );\n}\nTableWithTab.displayName = \"TableWithTab\";\n\n// src/components/Table.tsx\nvar import_react10 = __toESM(require(\"react\"));\nvar import_outline2 = require(\"@heroicons/react/24/outline\");\nvar import_jsx_runtime12 = require(\"react/jsx-runtime\");\nvar Table = ({\n headers,\n data,\n page,\n setPage,\n limit,\n setLimit,\n totalCount,\n highlightRowColor,\n actions,\n paginationRequired,\n paginationPosition = \"bottom-center\",\n onDownloadPDF,\n onDownloadExcel,\n searchable = false,\n searchTerm = \"\",\n onResetSearch,\n onSearch,\n searchModeOptions = [\"includes\", \"startsWith\"],\n summary,\n summaryKey = \"summary\",\n summaryTitleField = \"name\",\n summaryColumn = false,\n summaryColumnKey,\n summaryColumnMaxLength = 120,\n textWrapColumns,\n textWrapMaxLength = 120,\n textWrapColumnMaxLengths,\n tableTestId\n}) => {\n const [searchMode, setSearchMode] = (0, import_react10.useState)(\n searchModeOptions[0]\n );\n const [expandedRowIndex, setExpandedRowIndex] = (0, import_react10.useState)(null);\n const [expandedRowIndexes, setExpandedRowIndexes] = (0, import_react10.useState)(\n /* @__PURE__ */ new Set()\n );\n const isPaginated = paginationRequired;\n const handleChange = (e) => {\n onSearch?.(e.target.value, searchMode);\n };\n const totalPages = isPaginated ? Math.max(1, Math.ceil((totalCount || 0) / (limit || 1))) : 0;\n const currentPage = isPaginated ? typeof page === \"number\" && page > 0 ? page : 1 : 1;\n const goToPage = (p) => {\n if (!isPaginated) return;\n const clamped = Math.max(1, Math.min(totalPages, p));\n setPage?.(clamped);\n };\n const renderPageNumbers = () => {\n if (!isPaginated || totalPages <= 1) return null;\n const pages = [];\n const siblings = 1;\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(1),\n disabled: currentPage === 1,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === 1 ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: \"1\"\n },\n 1\n )\n );\n const start = Math.max(2, currentPage - siblings);\n const end = Math.min(totalPages - 1, currentPage + siblings);\n if (start > 2) pages.push(/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"span\", { children: \"...\" }, \"s\"));\n for (let i = start; i <= end; i++) {\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(i),\n disabled: currentPage === i,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === i ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: i\n },\n i\n )\n );\n }\n if (end < totalPages - 1) pages.push(/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"span\", { children: \"...\" }, \"e\"));\n if (totalPages > 1) {\n pages.push(\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(totalPages),\n disabled: currentPage === totalPages,\n className: `px-3 py-1 rounded text-sm font-medium text-white ${currentPage === totalPages ? \"bg-gray-300 cursor-not-allowed\" : \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\"}`,\n children: totalPages\n },\n totalPages\n )\n );\n }\n return pages;\n };\n const summaryColKeyToUse = summaryColumnKey || summaryKey;\n const renderCell = (value, key) => {\n if (value == null) return \"-\";\n if (import_react10.default.isValidElement(value)) return value;\n if (typeof value === \"boolean\") return value ? \"Yes\" : \"No\";\n if (value instanceof Date) return value.toLocaleString();\n if (Array.isArray(value)) {\n if (value.some((item) => import_react10.default.isValidElement(item))) return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, { children: value });\n return value.join(\", \");\n }\n if (typeof value === \"object\") return JSON.stringify(value);\n if (typeof value === \"string\") {\n if (textWrapColumns?.includes(key)) {\n const max = textWrapColumnMaxLengths?.[key] ?? textWrapMaxLength ?? 120;\n const truncated = value.length <= max ? value : value.substring(0, max) + \"...\";\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"div\",\n {\n className: \"text-sm text-slate-600 line-clamp-2\",\n title: value,\n children: truncated\n }\n );\n }\n }\n return String(value);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [\n (searchable || onDownloadExcel || onDownloadPDF) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"mb-3 flex flex-wrap justify-between gap-3\", children: [\n searchable && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"input\",\n {\n value: searchTerm,\n onChange: handleChange,\n placeholder: \"Search...\",\n className: \"w-56 rounded-lg px-3 py-2 pr-8 text-sm text-[#1761A3] shadow focus:ring-2 focus:ring-emerald-500\"\n }\n ),\n searchTerm && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: onResetSearch,\n className: \"absolute right-2 top-2\",\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_outline2.XMarkIcon, { className: \"h-4 w-4\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"select\",\n {\n value: searchMode,\n onChange: (e) => setSearchMode(e.target.value),\n className: \"rounded-lg px-2 py-2 text-sm shadow\",\n children: searchModeOptions.map((mode) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"option\", { value: mode, children: mode === \"startsWith\" ? \"Starts With\" : \"Includes\" }, mode))\n }\n )\n ] }),\n (onDownloadPDF || onDownloadExcel) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex gap-2\", children: [\n onDownloadPDF && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => onDownloadPDF(data, headers),\n className: \"px-3 py-2 text-white rounded bg-gradient-to-r from-[#1e73be] to-[#28a97d]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_outline2.ArrowDownOnSquareIcon, { className: \"h-5 w-5\" })\n }\n ),\n onDownloadExcel && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => onDownloadExcel(data, headers),\n className: \"px-3 py-2 text-white rounded bg-gradient-to-r from-[#1e73be] to-[#28a97d]\",\n children: \"Excel\"\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"div\",\n {\n className: \"overflow-x-auto rounded-xl border border-[#1761A3] bg-white\",\n \"data-testid\": tableTestId,\n children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"table\", { className: \"w-full min-w-[900px] table-fixed\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"thead\", { className: \"bg-gradient-to-r from-[#1e73be] to-[#28a97d]\", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"tr\", { children: [\n headers.map((header, idx) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"th\",\n {\n className: \" h-[50px] px-3 py-2 text-left text-sm font-bold text-white\",\n children: header.label\n },\n idx\n )),\n actions && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"th\", { className: \"px-3 py-2 text-white font-bold\", children: \"Actions\" })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tbody\", { children: data.length > 0 ? data.map((row, rowIndex) => {\n const isExpanded = summary === \"single\" ? expandedRowIndex === rowIndex : expandedRowIndexes.has(rowIndex);\n const toggleRow = () => {\n if (!summary) return;\n if (summary === \"single\") {\n setExpandedRowIndex((prev) => prev === rowIndex ? null : rowIndex);\n } else {\n setExpandedRowIndexes((prev) => {\n const next = new Set(prev);\n next.has(rowIndex) ? next.delete(rowIndex) : next.add(rowIndex);\n return next;\n });\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_react10.default.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\n \"tr\",\n {\n onClick: toggleRow,\n className: \" h-[57px] border-b even:bg-slate-50 hover:bg-slate-100\",\n style: highlightRowColor ? { backgroundColor: highlightRowColor } : void 0,\n children: [\n headers.map((header, i) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"td\", { className: \"px-3 py-2 text-sm whitespace-nowrap overflow-hidden text-ellipsis max-w-[1px] break-words\", children: renderCell(row[header.key], header.key) }, i)),\n actions && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"td\", { className: \"px-3 py-2 text-center\", children: actions(row) })\n ]\n }\n ),\n summary && isExpanded && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"px-4 py-4 bg-gradient-to-r from-[rgba(239,246,255,0.5)] to-[rgba(219,234,254,0.5)]\",\n children: row[summaryKey]\n }\n ) })\n ] }, rowIndex);\n }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\"tr\", { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"td\",\n {\n colSpan: headers.length + (actions ? 1 : 0),\n className: \"text-center py-6 text-slate-500\",\n children: \"No records found\"\n }\n ) }) })\n ] })\n }\n ),\n paginationRequired && totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(\"div\", { className: \"flex justify-center mt-3 gap-2 items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(currentPage - 1),\n disabled: currentPage === 1,\n className: \"px-3 py-1 rounded text-white text-sm bg-gradient-to-r from-[#1e73be] to-[#28a97d] disabled:bg-gray-300\",\n children: \"Previous\"\n }\n ),\n renderPageNumbers(),\n /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(\n \"button\",\n {\n onClick: () => goToPage(currentPage + 1),\n disabled: currentPage === totalPages,\n className: \"px-3 py-1 rounded text-white text-sm bg-gradient-to-r from-[#1e73be] to-[#28a97d] disabled:bg-gray-300\",\n children: \"Next\"\n }\n )\n ] })\n ] });\n};\n\n// src/components/MahatiChartAnalyticsWidget.tsx\nvar import_react17 = require(\"react\");\n\n// src/components/ChartDropdown.tsx\nvar import_react11 = require(\"react\");\nvar import_jsx_runtime13 = require(\"react/jsx-runtime\");\nvar assetSrc = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar arrowDownIcon = require_down_4();\nvar getTriggerClasses = (variant) => {\n const base = \"cursor-pointer outline-none transition-all duration-200\";\n switch (variant) {\n case \"mahatiFilter\":\n return `${base} w-[130px] h-[30px] rounded-[4px] border border-[rgba(210,210,210,1)] bg-gradient-to-r from-[rgba(23,97,163,0.07)] to-[rgba(77,175,131,0.07)] px-2 text-xs text-[rgba(17,24,39,1)] flex items-center justify-between gap-2 hover:opacity-95 focus:shadow-[0_0_0_2px_rgba(23,97,163,0.25)]`;\n case \"basic\":\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n case \"outline\":\n return `${base} border border-[rgba(37,99,235,1)] text-[rgba(37,99,235,1)] bg-transparent rounded-md px-4 py-2 hover:bg-[rgba(239,246,255,1)]`;\n case \"pill\":\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-full px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n case \"dark\":\n return `${base} bg-[rgba(31,41,55,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(55,65,81,1)]`;\n case \"underline\":\n return `${base} border-b-2 border-[rgba(59,130,246,1)] bg-transparent text-[rgba(29,78,216,1)] rounded-none px-2 py-2 hover:bg-[rgba(239,246,255,1)]`;\n case \"shadow\":\n return `${base} bg-white text-[rgba(55,65,81,1)] shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1)] border border-[rgba(229,231,235,1)] rounded-md px-4 py-2 hover:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1)]`;\n case \"glass\":\n return `${base} bg-[rgba(255,255,255,0.2)] backdrop-blur-md text-white border border-[rgba(255,255,255,0.4)] rounded-md px-4 py-2 hover:bg-[rgba(255,255,255,0.3)]`;\n case \"gradient\":\n return `${base} bg-gradient-to-r from-[rgba(59,130,246,1)] to-[rgba(168,85,247,1)] text-white border-none rounded-md px-4 py-2 hover:opacity-90`;\n default:\n return `${base} bg-[rgba(37,99,235,1)] text-white rounded-md px-4 py-2 hover:bg-[rgba(29,78,216,1)]`;\n }\n};\nvar getMenuClasses = (variant) => {\n const base = \"absolute mt-1 z-20 bg-white rounded-md shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1)] overflow-hidden\";\n if (variant === \"mahatiFilter\") {\n return `${base} w-[130px] rounded-[4px] border border-[rgba(210,210,210,1)] shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]`;\n }\n return `${base} min-w-[160px] border border-[rgba(229,231,235,1)]`;\n};\nvar getOptionClasses = (variant, isSelected) => {\n const base = \"w-full text-left cursor-pointer outline-none border-none transition-colors duration-200\";\n if (variant === \"mahatiFilter\") {\n return `${base} h-[30px] px-2 flex items-center text-xs text-[rgba(31,41,55,1)] rounded-none ${isSelected ? \"bg-[rgba(243,244,246,1)]\" : \"bg-white\"} hover:bg-[rgba(243,244,246,1)] focus:bg-[rgba(243,244,246,1)]`;\n }\n return `${base} px-3 py-2 text-sm text-[rgba(31,41,55,1)] ${isSelected ? \"bg-[rgba(239,246,255,1)]\" : \"bg-white\"} hover:bg-[rgba(243,244,246,1)] focus:bg-[rgba(239,246,255,1)]`;\n};\nvar ChartDropdown = ({\n options,\n value,\n onSelect,\n label,\n variant = \"basic\",\n className,\n testId\n}) => {\n const [isOpen, setIsOpen] = (0, import_react11.useState)(false);\n const [internalValue, setInternalValue] = (0, import_react11.useState)(value);\n const dropdownRef = (0, import_react11.useRef)(null);\n (0, import_react11.useEffect)(() => {\n if (value !== void 0) setInternalValue(value);\n }, [value]);\n const displayValue = value !== void 0 ? value : internalValue;\n const selectedOption = (0, import_react11.useMemo)(\n () => options.find((opt) => opt.value === displayValue),\n [options, displayValue]\n );\n (0, import_react11.useEffect)(() => {\n const handleClickOutside = (event) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handleClickOutside);\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\n }, []);\n const handleSelect = (optionValue) => {\n onSelect(optionValue);\n if (value === void 0) {\n setInternalValue(optionValue);\n }\n setIsOpen(false);\n };\n return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(\n \"div\",\n {\n ref: dropdownRef,\n className: `relative inline-block ${className || \"\"}`,\n \"data-testid\": testId,\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"label\", { className: \"block mb-1 text-xs font-medium text-[rgba(55,65,81,1)]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(\n \"button\",\n {\n type: \"button\",\n className: getTriggerClasses(variant),\n onClick: () => setIsOpen(!isOpen),\n onKeyDown: (e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setIsOpen(!isOpen);\n }\n },\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": isOpen,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"span\", { className: \"overflow-hidden text-ellipsis whitespace-nowrap\", children: selectedOption?.key || \"Select...\" }),\n /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n \"img\",\n {\n src: assetSrc(arrowDownIcon),\n alt: \"\",\n className: \"w-3 h-3 flex-shrink-0\"\n }\n )\n ]\n }\n ),\n isOpen && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\"div\", { className: getMenuClasses(variant), role: \"listbox\", children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(\n \"button\",\n {\n type: \"button\",\n className: getOptionClasses(variant, option.value === displayValue),\n onClick: () => handleSelect(option.value),\n role: \"option\",\n \"aria-selected\": option.value === displayValue,\n children: option.key\n },\n option.key\n )) })\n ]\n }\n );\n};\nChartDropdown.displayName = \"ChartDropdown\";\n\n// src/components/PieLineBarChart.tsx\nvar import_react12 = __toESM(require(\"react\"));\nvar import_chart = require(\"chart.js\");\nvar import_react_chartjs_2 = require(\"react-chartjs-2\");\nvar import_jsx_runtime14 = require(\"react/jsx-runtime\");\nimport_chart.Chart.register(\n import_chart.ArcElement,\n import_chart.Tooltip,\n import_chart.Legend,\n import_chart.CategoryScale,\n import_chart.LinearScale,\n import_chart.PointElement,\n import_chart.LineElement,\n import_chart.BarElement,\n import_chart.Filler\n);\nvar makeAreaDataStraight = (data) => {\n const datasets = Array.isArray(data.datasets) ? data.datasets : [];\n return {\n ...data,\n datasets: datasets.map((ds) => ({\n ...ds,\n tension: 0,\n cubicInterpolationMode: \"default\"\n }))\n };\n};\nvar PieLineBarChart = ({\n chartType,\n data,\n options\n}) => {\n const defaultOptions = import_react12.default.useMemo(() => {\n const isLineFamily = chartType === \"line\" || chartType === \"area\";\n if (isLineFamily) {\n return {\n responsive: true,\n maintainAspectRatio: false,\n elements: { line: { tension: 0 } },\n plugins: {\n legend: { display: false },\n tooltip: {\n mode: \"index\",\n intersect: false,\n backgroundColor: \"rgba(255,255,255,0.95)\",\n titleColor: \"rgba(31,41,55,1)\",\n bodyColor: \"rgba(107,114,128,1)\",\n borderColor: \"rgba(229,231,235,1)\",\n borderWidth: 1,\n padding: 12,\n displayColors: true\n }\n },\n scales: {\n x: {\n grid: { display: true, color: \"rgba(229,231,235,1)\", drawBorder: false },\n ticks: { color: \"rgba(107,114,128,1)\", font: { size: 11 } }\n },\n y: {\n grid: { display: true, color: \"rgba(229,231,235,1)\", drawBorder: false },\n ticks: { color: \"rgba(107,114,128,1)\", font: { size: 11 } },\n min: 40,\n max: 90\n }\n },\n interaction: { mode: \"nearest\", axis: \"x\", intersect: false }\n };\n }\n return {\n responsive: true,\n maintainAspectRatio: false,\n cutout: chartType === \"pie\" || chartType === \"doughnut\" ? \"50%\" : void 0,\n plugins: { legend: { display: false } }\n };\n }, [chartType]);\n const chartOptions = options || defaultOptions;\n const renderChart = () => {\n switch (chartType) {\n case \"line\":\n case \"area\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Line, { data, options: chartOptions }, chartType);\n case \"bar\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Bar, { data, options: chartOptions }, chartType);\n case \"pie\":\n case \"doughnut\":\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_chartjs_2.Doughnut, { data, options: chartOptions }, chartType);\n default:\n return null;\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(\"div\", { className: \"w-full h-full relative flex items-center justify-center\", children: renderChart() });\n};\nPieLineBarChart.displayName = \"PieLineBarChart\";\n\n// src/components/BulletChart.tsx\nvar import_jsx_runtime15 = require(\"react/jsx-runtime\");\nvar BulletChart = ({ title, bullets, testId }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-sm font-semibold leading-normal sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"mt-4 flex flex-col gap-[35px] sm:gap-[45px]\", children: bullets.map((b) => {\n const percentageAchieved = Math.round(b.achieved / b.target * 100);\n const achievedWidth = Math.min(b.achieved / b.target * 100, 100);\n const markerPosition = Math.min(b.marker / b.target * 100, 100);\n return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\n \"div\",\n {\n className: \"flex flex-col gap-[9px]\",\n \"data-testid\": testId ? `${testId}-item-${b.name}` : void 0,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-xs font-semibold leading-normal sm:text-sm\", children: b.name }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"relative w-full sm:w-[500px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"absolute top-[-29px] right-0 text-black font-[Poppins,sans-serif] text-xs font-semibold leading-normal whitespace-nowrap sm:text-sm\", children: [\n \"$\",\n b.achieved.toLocaleString(),\n \"/$\",\n b.target.toLocaleString()\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"relative w-full h-5 rounded-[20px] bg-[rgba(183,232,214,0.9)] overflow-hidden\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\n \"div\",\n {\n className: \"h-5 rounded-l-[20px] rounded-r-none bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\",\n style: { width: `${achievedWidth}%` },\n \"data-testid\": testId ? `${testId}-bar-${b.name}` : void 0\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\n \"div\",\n {\n className: \"absolute top-0 h-5 w-1 rounded-sm bg-[rgba(15,74,122,1)]\",\n style: { left: `${markerPosition}%`, transform: \"translateX(-50%)\" },\n \"data-testid\": testId ? `${testId}-marker-${b.name}` : void 0\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"div\", { className: \"absolute top-[29px] left-0 w-full\", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\"div\", { className: \"flex justify-between items-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", children: \"0\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"2k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"4k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"6k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-4px\" }, children: \"8k\" }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium leading-normal sm:text-xs\", style: { marginLeft: \"-8px\" }, children: \"10k\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(\n \"div\",\n {\n className: \"text-[rgba(115,115,115,1)] font-[Poppins,sans-serif] text-[9px] font-semibold leading-normal whitespace-nowrap sm:ml-[27px] sm:text-[10px]\",\n \"data-testid\": testId ? `${testId}-percentage-${b.name}` : void 0,\n children: [\n percentageAchieved,\n \"% of target achieved\"\n ]\n }\n )\n ] })\n ]\n },\n b.name\n );\n }) })\n ] });\n};\nBulletChart.displayName = \"BulletChart\";\n\n// src/components/GaugeChart.tsx\nvar import_jsx_runtime16 = require(\"react/jsx-runtime\");\nvar GaugeChart = ({ title, gauges, testId }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: {\n color: \"rgba(23,97,163,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"18px\",\n fontWeight: 600\n },\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-col gap-10\", children: gauges.map((gauge, index) => {\n const percentage = Math.min(gauge.value / gauge.max * 100, 100);\n const angle = percentage / 100 * 180 - 90;\n const remaining = gauge.max - gauge.value;\n const dailyAvg = Math.round(gauge.value / 30);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col gap-6 lg:flex-row lg:gap-8\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"relative w-full flex-shrink-0 lg:w-[340px]\",\n style: { height: \"220px\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"svg\", { className: \"w-full h-full\", viewBox: \"0 0 340 220\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"linearGradient\", { id: `gaugeGradient${index}`, x1: \"0%\", y1: \"0%\", x2: \"100%\", y2: \"0%\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(23,97,163,1)\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(77,175,131,1)\" })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M 40 170 A 130 130 0 0 1 300 170\",\n fill: \"none\",\n stroke: \"rgba(230,230,230,1)\",\n strokeWidth: \"16\",\n strokeLinecap: \"round\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M 40 170 A 130 130 0 0 1 300 170\",\n fill: \"none\",\n stroke: `url(#gaugeGradient${index})`,\n strokeWidth: \"16\",\n strokeLinecap: \"round\",\n style: { transition: \"all 0.7s ease-in-out\" },\n strokeDasharray: `${percentage / 100 * 408.4} 408.4`\n }\n ),\n [\n { x: 36, y: 198, t: \"0\" },\n { x: 42, y: 75, t: \"25\" },\n { x: 162, y: 25, t: \"50\" },\n { x: 282, y: 75, t: \"75\" },\n { x: 290, y: 198, t: \"100\" }\n ].map(({ x, y, t }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x,\n y,\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"14px\",\n fontWeight: 500,\n fill: \"rgba(94,94,94,1)\"\n },\n children: t\n },\n t\n )),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"g\", { transform: \"translate(90, 100)\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"linearGradient\",\n {\n id: `centerGradient${index}`,\n x1: \"80\",\n y1: \"0\",\n x2: \"80\",\n y2: \"160\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(23,97,163,1)\", stopOpacity: \"0.1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(77,175,131,1)\", stopOpacity: \"0.1\" })\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M160 80C160 58.7827 151.571 38.4344 136.569 23.4315C121.566 8.42855 101.217 1.60186e-06 80 0C58.7827 -1.60186e-06 38.4344 8.42854 23.4315 23.4315C8.42855 38.4344 3.20373e-06 58.7827 0 80L80 80H160Z\",\n fill: `url(#centerGradient${index})`\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x: \"170\",\n y: \"125\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 400, fill: \"rgba(120,120,120,1)\" },\n children: \"score\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"text\",\n {\n x: \"175\",\n y: \"165\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"42px\", fontWeight: 700, fill: \"rgba(0,0,0,1)\" },\n children: [\n Math.round(percentage),\n \"%\"\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { transform: \"translate(170, 170)\", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"g\",\n {\n style: {\n transition: \"all 0.7s ease-in-out\",\n transform: `rotate(${angle}deg)`,\n transformOrigin: \"0 0\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"path\", { d: \"M 0 -115 L -3.4 -80 L 3.4 -80 Z\", fill: \"rgba(76,76,76,1)\" })\n }\n ) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"absolute bottom-0 left-0 right-0 text-center\",\n style: {\n color: \"rgba(100,100,100,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400\n },\n children: [\n \"You've completed \",\n Math.round(percentage),\n \"% of the total target\"\n ]\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex-1 flex flex-col justify-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36 mb-[98px]\", children: [\n { label: \"Target\", value: gauge.max.toLocaleString() },\n { label: \"Achieved\", value: gauge.value.toLocaleString() }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36\", children: [\n { label: \"Remaining\", value: remaining.toLocaleString() },\n { label: \"Daily Avg Needed\", value: `${dailyAvg.toLocaleString()} / day` }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) })\n ] })\n ] }),\n index < gauges.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"mt-10 h-px\", style: { background: \"rgba(220,220,220,1)\" } })\n ] }, index);\n }) })\n ] });\n};\nGaugeChart.displayName = \"GaugeChart\";\nvar DEFAULT_RISK_BANDS = [\n { label: \"Critical Risk\", color: \"#DC2626\", rangeStart: 0, rangeEnd: 20 },\n { label: \"High Risk\", color: \"#F97316\", rangeStart: 20, rangeEnd: 40 },\n { label: \"Stable\", color: \"#FBBF24\", rangeStart: 40, rangeEnd: 60 },\n { label: \"Strong\", color: \"#4ADE80\", rangeStart: 60, rangeEnd: 80 },\n { label: \"Top Performer\", color: \"#059669\", rangeStart: 80, rangeEnd: 100 }\n];\nvar createRiskArcPath = (centerX, centerY, radius, startAngle, endAngle) => {\n const startRad = (startAngle - 180) * Math.PI / 180;\n const endRad = (endAngle - 180) * Math.PI / 180;\n const x1 = centerX + radius * Math.cos(startRad);\n const y1 = centerY + radius * Math.sin(startRad);\n const x2 = centerX + radius * Math.cos(endRad);\n const y2 = centerY + radius * Math.sin(endRad);\n const largeArcFlag = endAngle - startAngle > 180 ? 1 : 0;\n return `M ${x1} ${y1} A ${radius} ${radius} 0 ${largeArcFlag} 1 ${x2} ${y2}`;\n};\nvar getRiskLevel = (score, bands) => {\n for (const band of bands) {\n if (score >= band.rangeStart && score <= band.rangeEnd) return band.label;\n }\n return bands[0].label;\n};\nvar RiskGaugeChart = ({ title, gauges }) => {\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"18px\", fontWeight: 600 },\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-col gap-10\", children: gauges.map((gauge, index) => {\n const bands = gauge.bands || DEFAULT_RISK_BANDS;\n const maxScore = gauge.max || 100;\n const percentage = Math.min(gauge.score / maxScore * 100, 100);\n const angle = percentage / 100 * 180 - 90;\n const currentLevel = getRiskLevel(percentage, bands);\n const remaining = maxScore - gauge.score;\n const dailyAvg = Math.round(gauge.score / 30);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col gap-6 lg:flex-row lg:gap-8\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"relative w-full flex-shrink-0 lg:w-[340px]\", style: { height: \"220px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"svg\", { className: \"w-full h-full\", viewBox: \"0 0 340 220\", children: [\n bands.map((band, bandIndex) => {\n const startAngle = band.rangeStart / 100 * 180;\n const endAngle = band.rangeEnd / 100 * 180;\n const arcPath = createRiskArcPath(170, 170, 130, startAngle, endAngle);\n return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: arcPath,\n fill: \"none\",\n stroke: band.color,\n strokeWidth: \"16\",\n strokeLinecap: \"butt\",\n style: { transition: \"all 0.7s ease-in-out\" }\n },\n bandIndex\n );\n }),\n [\n { x: 36, y: 198, t: \"0\" },\n { x: 42, y: 75, t: \"25\" },\n { x: 162, y: 25, t: \"50\" },\n { x: 282, y: 75, t: \"75\" },\n { x: 290, y: 198, t: \"100\" }\n ].map(({ x, y, t }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x,\n y,\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 500, fill: \"rgba(94,94,94,1)\" },\n children: t\n },\n t\n )),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"g\", { transform: \"translate(90, 100)\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"linearGradient\",\n {\n id: `riskCenterGradient${index}`,\n x1: \"80\",\n y1: \"0\",\n x2: \"80\",\n y2: \"160\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"0%\", stopColor: \"rgba(148,163,184,1)\", stopOpacity: \"0.1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"stop\", { offset: \"100%\", stopColor: \"rgba(71,85,105,1)\", stopOpacity: \"0.05\" })\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"path\",\n {\n d: \"M160 80C160 58.7827 151.571 38.4344 136.569 23.4315C121.566 8.42855 101.217 1.60186e-06 80 0C58.7827 -1.60186e-06 38.4344 8.42854 23.4315 23.4315C8.42855 38.4344 3.20373e-06 58.7827 0 80L80 80H160Z\",\n fill: `url(#riskCenterGradient${index})`\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"text\",\n {\n x: \"170\",\n y: \"125\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 400, fill: \"rgba(120,120,120,1)\" },\n children: \"score\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"text\",\n {\n x: \"175\",\n y: \"165\",\n textAnchor: \"middle\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"42px\", fontWeight: 700, fill: \"rgba(0,0,0,1)\" },\n children: [\n Math.round(percentage),\n \"%\"\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { transform: \"translate(170, 170)\", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"g\", { style: { transition: \"all 0.7s ease-in-out\", transform: `rotate(${angle}deg)`, transformOrigin: \"0 0\" }, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"path\", { d: \"M 0 -115 L -3.4 -80 L 3.4 -80 Z\", fill: \"rgba(76,76,76,1)\" }) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\n \"div\",\n {\n className: \"absolute bottom-0 left-0 right-0 text-center\",\n style: { color: \"rgba(100,100,100,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"11px\", fontWeight: 400 },\n children: [\n \"Current Status: \",\n currentLevel\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex-1 flex flex-col justify-start\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36 mb-[98px]\", children: [\n { label: \"Maximum\", value: maxScore.toLocaleString() },\n { label: \"Current Score\", value: gauge.score.toLocaleString() }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex gap-36\", children: [\n { label: \"Gap to Max\", value: remaining.toLocaleString() },\n { label: \"Daily Average\", value: `${dailyAvg.toLocaleString()} / day` }\n ].map(({ label, value }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(109,109,109,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, marginBottom: \"6px\" }, children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"span\", { style: { color: \"rgba(0,0,0,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"16px\", fontWeight: 600 }, children: value })\n ] }, label)) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"flex flex-wrap gap-[30px] mt-[30px] justify-center\", children: bands.map((band, bandIdx) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"div\",\n {\n className: \"w-5 h-3 rounded-sm\",\n style: { backgroundColor: band.color }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\n \"span\",\n {\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n color: \"rgba(75,85,99,1)\",\n fontWeight: 500\n },\n children: band.label\n }\n )\n ] }, bandIdx)) }),\n index < gauges.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(\"div\", { className: \"mt-10 h-px\", style: { background: \"rgba(220,220,220,1)\" } })\n ] }, index);\n }) })\n ] });\n};\nRiskGaugeChart.displayName = \"RiskGaugeChart\";\n\n// src/components/HorizontalBarChart.tsx\nvar import_jsx_runtime17 = require(\"react/jsx-runtime\");\nvar HorizontalBarChart = ({\n title,\n bars,\n xAxisConfig,\n topPerformer,\n testId\n}) => {\n const safeBars = bars || [];\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex items-center justify-end mb-[2px]\", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"button\",\n {\n className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded transition-colors hover:bg-[rgba(243,244,246,1)] bg-transparent border-none cursor-pointer\",\n \"data-testid\": testId ? `${testId}-menu-button` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) })\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"mb-6\",\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 },\n \"data-testid\": testId ? `${testId}-title` : void 0,\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"flex items-start gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex flex-col justify-start pt-1\", style: { minHeight: \"180px\" }, children: safeBars.map((bar, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { height: \"45px\", marginBottom: index < safeBars.length - 1 ? \"10px\" : 0 },\n \"data-testid\": testId ? `${testId}-label-${index}` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"12px\",\n fontWeight: 400,\n whiteSpace: \"nowrap\"\n },\n className: \"sm:text-sm\",\n children: bar.name\n }\n )\n },\n bar.name\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", style: { height: \"180px\" }, children: [\n xAxisConfig && xAxisConfig.labels.map((label, idx) => {\n const totalLabels = xAxisConfig.labels.length;\n const position = idx / (totalLabels - 1) * 100;\n const approxCharWidth = 7;\n const centerOffset = String(label).length * approxCharWidth / 2;\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"absolute top-0 w-px z-[1]\",\n style: {\n left: `calc(${position}% - ${centerOffset}px)`,\n height: \"165px\",\n backgroundColor: \"rgba(229,231,235,1)\"\n }\n },\n idx\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"absolute left-0 top-0 w-[2px] z-[2]\", style: { height: \"165px\", backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"absolute left-0 right-0 h-[2px] z-[2]\", style: { bottom: \"15px\", backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex flex-col pt-1 relative z-10\", style: { minHeight: \"180px\" }, children: safeBars.map((bar, index) => {\n const maxVal = xAxisConfig?.max || 250;\n const barLengthPercentage = bar.value / maxVal * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"flex items-center\",\n style: { height: \"45px\", marginBottom: index < safeBars.length - 1 ? \"10px\" : 0 },\n \"data-testid\": testId ? `${testId}-row-${index}` : void 0,\n children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"relative h-[30px] w-full\", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"div\",\n {\n className: \"absolute top-0 left-0 h-[30px] rounded\",\n style: { width: `${barLengthPercentage}%`, background: bar.color },\n \"data-testid\": testId ? `${testId}-bar-${index}` : void 0\n }\n ) })\n },\n bar.name\n );\n }) }),\n /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\"div\", { className: \"flex justify-between items-start w-full relative z-10\", style: { marginTop: \"-8px\" }, children: xAxisConfig && xAxisConfig.labels.map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(\n \"span\",\n {\n style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 },\n className: \"sm:text-xs\",\n children: label\n },\n idx\n )) })\n ] })\n ] })\n ] });\n};\nHorizontalBarChart.displayName = \"HorizontalBarChart\";\n\n// src/components/GanttChart.tsx\nvar import_react13 = __toESM(require(\"react\"));\nvar import_jsx_runtime18 = require(\"react/jsx-runtime\");\nvar assetSrc2 = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar arrowDownIcon2 = require_down_4();\nvar GANTT_COLORS = {\n green: \"rgba(44, 160, 44, 1)\",\n blue: \"rgba(37, 99, 235, 1)\",\n orange: \"rgba(255, 127, 14, 1)\",\n red: \"rgba(239, 68, 68, 1)\",\n purple: \"rgba(147, 51, 234, 1)\",\n teal: \"rgba(20, 184, 166, 1)\",\n pink: \"rgba(236, 72, 153, 1)\",\n yellow: \"rgba(234, 179, 8, 1)\",\n indigo: \"rgba(99, 102, 241, 1)\",\n emerald: \"rgba(16, 185, 129, 1)\"\n};\nvar GanttChart = ({\n data,\n selectedYear,\n selectedMonth,\n selectedProject,\n onProjectChange,\n testId\n}) => {\n const [isProjectDropdownOpen, setIsProjectDropdownOpen] = import_react13.default.useState(false);\n const projects = [\"Project 1\", \"Project 2\"];\n const projectData = data;\n const getMonthNames = (monthRange) => {\n const monthMap = {\n Jan: \"January\",\n Feb: \"February\",\n Mar: \"March\",\n Apr: \"April\",\n May: \"May\",\n Jun: \"June\",\n Jul: \"July\",\n Aug: \"August\",\n Sep: \"September\",\n Oct: \"October\",\n Nov: \"November\",\n Dec: \"December\"\n };\n const [month1, month2] = monthRange.split(\" - \").map((m) => m.trim());\n return [monthMap[month1], monthMap[month2]];\n };\n const getMonthNumber = (monthRange) => {\n const monthNumberMap = {\n Jan: \"01\",\n Feb: \"02\",\n Mar: \"03\",\n Apr: \"04\",\n May: \"05\",\n Jun: \"06\",\n Jul: \"07\",\n Aug: \"08\",\n Sep: \"09\",\n Oct: \"10\",\n Nov: \"11\",\n Dec: \"12\"\n };\n const [month1, month2] = monthRange.split(\" - \").map((m) => m.trim());\n return [monthNumberMap[month1], monthNumberMap[month2]];\n };\n const getTodayPosition = () => {\n const today = /* @__PURE__ */ new Date();\n const currentYear = today.getFullYear();\n const currentMonth = today.getMonth() + 1;\n const currentDay = today.getDate();\n const [month1, month2] = selectedMonth.split(\" - \").map((m) => m.trim());\n const monthToNumber = {\n Jan: 1,\n Feb: 2,\n Mar: 3,\n Apr: 4,\n May: 5,\n Jun: 6,\n Jul: 7,\n Aug: 8,\n Sep: 9,\n Oct: 10,\n Nov: 11,\n Dec: 12\n };\n const selectedMonth1 = monthToNumber[month1];\n const selectedMonth2 = monthToNumber[month2];\n const selectedYearNum = parseInt(selectedYear);\n if (currentYear !== selectedYearNum) return null;\n let monthIndex = -1;\n if (currentMonth === selectedMonth1) monthIndex = 0;\n else if (currentMonth === selectedMonth2) monthIndex = 1;\n else return null;\n const daysInMonth = 31;\n const dayPercent = (currentDay - 1) / daysInMonth;\n const positionInMonth = dayPercent * 320;\n const mobileLeft = monthIndex === 0 ? 120 + positionInMonth : 450 + positionInMonth;\n const desktopLeft = monthIndex === 0 ? 137 + positionInMonth : 467 + positionInMonth;\n return {\n show: true,\n mobileLeft: Math.round(mobileLeft * 100) / 100,\n desktopLeft: Math.round(desktopLeft * 100) / 100\n };\n };\n const todayPosition = getTodayPosition();\n const months = getMonthNames(selectedMonth);\n const displayMonths = months.map((m) => `${m} ${selectedYear}`);\n const [month1Num, month2Num] = getMonthNumber(selectedMonth);\n const getTaskPosition = (startDate, endDate) => {\n const [startDay, startMonth] = startDate.split(\"/\").map(Number);\n const [endDay, endMonth] = endDate.split(\"/\").map(Number);\n const [month1, month2] = selectedMonth.split(\" - \").map((m) => m.trim());\n const monthToNumber = {\n Jan: 1,\n Feb: 2,\n Mar: 3,\n Apr: 4,\n May: 5,\n Jun: 6,\n Jul: 7,\n Aug: 8,\n Sep: 9,\n Oct: 10,\n Nov: 11,\n Dec: 12\n };\n const selectedMonth1Num = monthToNumber[month1];\n const selectedMonth2Num = monthToNumber[month2];\n const daysInMonth = 31;\n let monthIndex = -1;\n let startPercent = 0;\n let width = 0;\n let isInSecondMonth = false;\n if (startMonth === selectedMonth1Num && endMonth === selectedMonth1Num) {\n monthIndex = 0;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = endDay / daysInMonth * 100 - startPercent;\n } else if (startMonth === selectedMonth2Num && endMonth === selectedMonth2Num) {\n monthIndex = 1;\n isInSecondMonth = true;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = endDay / daysInMonth * 100 - startPercent;\n } else if (startMonth === selectedMonth1Num && endMonth === selectedMonth2Num) {\n monthIndex = 2;\n startPercent = (startDay - 1) / daysInMonth * 100;\n width = 100 + endDay / daysInMonth * 100 - startPercent;\n }\n return { startPercent, width, monthIndex, isInSecondMonth };\n };\n const lineHeight = import_react13.default.useMemo(() => {\n const baseHeight = 30;\n const taskHeight = 32;\n const taskSpacing = 24;\n return baseHeight + projectData.tasks.length * (taskHeight + taskSpacing);\n }, [projectData.tasks.length]);\n const DateRangeBoxes = ({ monthNum }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex gap-2\", children: [\n `01/${monthNum} - 10/${monthNum}`,\n `11/${monthNum} - 20/${monthNum}`,\n `21/${monthNum} - 25/${monthNum}`,\n `26/${monthNum} - 31/${monthNum}`\n ].map((range) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"w-[74px] h-6 rounded\",\n style: { background: \"rgba(225, 237, 241, 1)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"8px\",\n fontWeight: 600\n },\n children: range\n }\n )\n },\n range\n )) });\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4 sm:mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\n \"button\",\n {\n className: \"flex items-center gap-2 bg-transparent px-2 py-1 rounded cursor-pointer border-none transition-colors hover:bg-[rgba(249,250,251,1)]\",\n onClick: () => setIsProjectDropdownOpen(!isProjectDropdownOpen),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(51,51,51,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"16px\",\n fontWeight: 600\n },\n children: selectedProject\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n style: {\n width: \"12px\",\n height: \"12px\",\n background: `url(${assetSrc2(arrowDownIcon2)}) transparent 50% / cover no-repeat`,\n aspectRatio: \"1/1\",\n transform: isProjectDropdownOpen ? \"rotate(180deg)\" : \"rotate(0deg)\",\n transition: \"transform 0.2s\"\n }\n }\n )\n ]\n }\n ),\n isProjectDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute top-full left-0 mt-1 bg-white border rounded-lg z-50 min-w-[150px]\",\n style: {\n border: \"1px solid rgba(229,231,235,1)\",\n boxShadow: \"0 10px 15px -3px rgba(0,0,0,0.1)\"\n },\n children: projects.map((project, idx) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"button\",\n {\n className: `w-full text-left px-4 py-2 bg-white border-none cursor-pointer transition-colors hover:bg-[rgba(249,250,251,1)] ${idx === 0 ? \"rounded-tl-lg rounded-tr-lg\" : \"\"} ${idx === projects.length - 1 ? \"rounded-bl-lg rounded-br-lg\" : \"\"}`,\n onClick: () => {\n onProjectChange(project);\n setIsProjectDropdownOpen(false);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(51,51,51,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"16px\",\n fontWeight: 600\n },\n children: project\n }\n )\n },\n project\n ))\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"button\",\n {\n className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\",\n style: { background: \"rgba(107,114,128,1)\" }\n },\n i\n )) })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative h-8 mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute left-0 w-[120px] sm:w-[137px] h-8\" }),\n [\n { left: \"120px\", smLeft: \"137px\", label: displayMonths[0] },\n { left: \"450px\", smLeft: \"467px\", label: displayMonths[1] }\n ].map(({ left, smLeft, label }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute top-0 w-[320px] h-8 rounded flex items-center justify-center\",\n style: {\n left,\n background: \"linear-gradient(90deg, rgba(23,97,163,1) 0%, rgba(77,175,131,1) 100%)\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 600,\n color: \"white\"\n },\n children: label\n }\n )\n },\n label\n ))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative h-6 mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute\", style: { left: \"120px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DateRangeBoxes, { monthNum: month1Num }) }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"absolute\", style: { left: \"450px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(DateRangeBoxes, { monthNum: month2Num }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"relative\", children: [\n [0, 1, 2, 3, 4, 5, 6, 7, 8].map((section) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${120 + section * 40}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n },\n `m1-${section}`\n )),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${120 + 8 * 40 + 20}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n }\n ),\n [1, 2, 3, 4, 5, 6, 7, 8, 9].map((section) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-px\",\n style: {\n backgroundColor: \"rgba(234,234,234,1)\",\n left: `${450 + section * 40 - 40}px`,\n top: \"-30px\",\n height: `${lineHeight}px`\n }\n },\n `m2-${section}`\n )),\n todayPosition?.show && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-[2px] z-0\",\n style: {\n background: \"rgba(32,148,243,1)\",\n left: `${todayPosition.mobileLeft}px`,\n top: \"-24px\",\n height: `${lineHeight - 30}px`\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute w-10 h-[18px] flex items-center justify-center rounded-r\",\n style: {\n background: \"rgba(32,148,243,1)\",\n top: \"10px\",\n left: \"0px\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n style: {\n color: \"white\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"8px\",\n fontWeight: 500\n },\n children: \"Today\"\n }\n )\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"flex flex-col gap-4 sm:gap-6 mt-6 sm:mt-8\", children: projectData.tasks.map((task) => {\n const { startPercent, width, monthIndex, isInSecondMonth } = getTaskPosition(\n task.startDate,\n task.endDate\n );\n if (monthIndex === -1) return null;\n const taskColor = GANTT_COLORS[task.color] || GANTT_COLORS.blue;\n return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\"div\", { className: \"flex items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"flex-shrink-0 pr-2 sm:pr-4 overflow-hidden text-ellipsis whitespace-nowrap\",\n style: {\n width: \"120px\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n children: task.name\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\"div\", { className: \"relative flex-1 h-7 sm:h-8\", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"absolute h-full\",\n style: {\n left: isInSecondMonth ? \"330px\" : \"0\",\n width: \"320px\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(\n \"div\",\n {\n className: \"absolute h-full rounded-full flex items-center justify-between px-2 sm:px-3\",\n \"data-testid\": `gantt-task-${task.id}`,\n style: {\n left: `${startPercent}%`,\n width: `${width}%`,\n backgroundColor: taskColor\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"span\",\n {\n className: \"text-white overflow-hidden text-ellipsis whitespace-nowrap ml-5\",\n style: {\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 600\n },\n children: task.name\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(\n \"div\",\n {\n className: \"rounded-full py-[2px] px-2 sm:px-3 sm:py-1 whitespace-nowrap\",\n style: {\n fontSize: \"8px\",\n fontFamily: \"Poppins, sans-serif\",\n fontWeight: 600,\n backgroundColor: \"rgba(255,255,255,1)\",\n color: taskColor\n },\n children: task.status\n }\n )\n ]\n }\n )\n }\n ) })\n ] }, task.id);\n }) })\n ] })\n ] });\n};\nGanttChart.displayName = \"GanttChart\";\n\n// src/components/CalendarHeatmapChart.tsx\nvar import_react14 = __toESM(require(\"react\"));\nvar import_jsx_runtime19 = require(\"react/jsx-runtime\");\nvar LEGEND_COLORS = [\n \"rgba(224, 242, 254, 1)\",\n \"rgba(154, 219, 255, 1)\",\n \"rgba(102, 194, 241, 1)\",\n \"rgba(43, 160, 209, 1)\",\n \"rgba(23, 97, 163, 1)\"\n];\nfunction getActivityColor(value) {\n if (value === 0) return \"rgba(224, 242, 254, 1)\";\n if (value < 1e3) return \"rgba(154, 219, 255, 1)\";\n if (value < 3e3) return \"rgba(102, 194, 241, 1)\";\n if (value < 5e3) return \"rgba(43, 160, 209, 1)\";\n return \"rgba(23, 97, 163, 1)\";\n}\nfunction getYearWeeks(year, calendarheatmapData, project, type) {\n const weeks = [];\n const startDate = new Date(year, 0, 1);\n const firstDayOfWeek = startDate.getDay();\n const daysToMonday = firstDayOfWeek === 0 ? -6 : 1 - firstDayOfWeek;\n const firstMonday = new Date(year, 0, 1 + daysToMonday);\n const currentDate = new Date(firstMonday);\n let lastMonth = -1;\n let weekIndex = 0;\n const maxWeeks = 54;\n const MONTH_NAMES_FULL = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ];\n const MONTH_NAMES_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n while (weekIndex < maxWeeks) {\n const weekDays = [];\n let hasCurrentYearDate = false;\n for (let dayIndex = 0; dayIndex < 7; dayIndex++) {\n const date = new Date(currentDate);\n if (date.getFullYear() === year) hasCurrentYearDate = true;\n let value = 0;\n if (date.getFullYear() === year) {\n const dateStr = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, \"0\")}-${String(date.getDate()).padStart(2, \"0\")}`;\n const monthName = MONTH_NAMES_FULL[date.getMonth()];\n if (calendarheatmapData?.[project]?.[String(year)]?.[type]?.[monthName]) {\n const dayData = calendarheatmapData[project][String(year)][type][monthName].data.find(\n (d) => d.date === dateStr\n );\n if (dayData) value = dayData.value;\n }\n }\n weekDays.push({ date, value });\n currentDate.setDate(currentDate.getDate() + 1);\n }\n if (hasCurrentYearDate) {\n const thursday = weekDays[3].date;\n const weekMonth = thursday.getMonth();\n let monthLabel;\n if (weekMonth !== lastMonth && thursday.getFullYear() === year) {\n monthLabel = MONTH_NAMES_SHORT[weekMonth];\n lastMonth = weekMonth;\n }\n weeks.push({ days: weekDays, monthLabel });\n }\n if (currentDate.getFullYear() > year && currentDate.getMonth() > 0) break;\n weekIndex++;\n }\n return weeks;\n}\nvar CalendarHeatmapChart = ({\n data,\n selectedProject,\n selectedYear,\n selectedType,\n onProjectChange,\n calendarheatmapData,\n testId\n}) => {\n const [isProjectDropdownOpen, setIsProjectDropdownOpen] = import_react14.default.useState(false);\n const [hoveredCell, setHoveredCell] = import_react14.default.useState(null);\n const [tooltipData, setTooltipData] = import_react14.default.useState({\n visible: false,\n month: \"\",\n day: 0,\n value: 0,\n position: { x: 0, y: 0 },\n cellColor: \"rgba(77, 175, 131, 1)\"\n });\n const projects = [\"Project 1\", \"Project 2\"];\n const year = parseInt(selectedYear);\n const yearWeeks = getYearWeeks(year, calendarheatmapData || {}, selectedProject, selectedType);\n const dayRows = [[], [], [], [], [], [], []];\n yearWeeks.forEach((week, weekIdx) => {\n week.days.forEach((day, dayIdx) => {\n dayRows[dayIdx].push({ ...day, weekIdx });\n });\n });\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", \"data-testid\": testId, children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex items-center gap-3\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\n \"button\",\n {\n className: \"flex items-center gap-2 bg-transparent px-3 py-1.5 rounded hover:bg-gray-50 transition-colors border-none cursor-pointer\",\n onClick: () => setIsProjectDropdownOpen(!isProjectDropdownOpen),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(51,51,51,1)] font-[Poppins,sans-serif] text-sm sm:text-base font-semibold\", children: selectedProject }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"svg\",\n {\n width: \"12\",\n height: \"12\",\n viewBox: \"0 0 12 12\",\n fill: \"none\",\n className: \"transition-transform duration-200\",\n style: { transform: isProjectDropdownOpen ? \"rotate(180deg)\" : \"rotate(0deg)\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"path\",\n {\n d: \"M2.5 4.5L6 8L9.5 4.5\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n )\n }\n )\n ]\n }\n ),\n isProjectDropdownOpen && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"absolute top-full left-0 mt-1 bg-white border border-gray-200 rounded-lg shadow-lg z-50 min-w-[150px]\", children: projects.map((project, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"button\",\n {\n className: [\n \"w-full text-left px-4 py-2 bg-white border-none hover:bg-gray-50 transition-colors cursor-pointer\",\n idx === 0 ? \"rounded-tl-lg rounded-tr-lg\" : \"\",\n idx === projects.length - 1 ? \"rounded-bl-lg rounded-br-lg\" : \"\"\n ].join(\" \"),\n onClick: () => {\n onProjectChange(project);\n setIsProjectDropdownOpen(false);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(51,51,51,1)] font-[Poppins,sans-serif] text-sm sm:text-base font-semibold\", children: project })\n },\n project\n )) })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"button\", { className: \"w-8 h-8 flex items-center justify-center rounded bg-[rgba(224,242,229,1)] border-none cursor-pointer hover:bg-gray-100 transition-colors\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"w-1 h-1 bg-gray-500 rounded-full\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center justify-end gap-2 mb-6 pr-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[10px] font-medium mx-1\", children: \"Less\" }),\n LEGEND_COLORS.map((color) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"w-3.5 h-3.5 rounded-[2px]\",\n style: { backgroundColor: color }\n },\n color\n )),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[10px] font-medium mx-1\", children: \"More\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex-1 flex\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex flex-col justify-start pr-2 pt-5 shrink-0\", children: [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"].map((day, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"h-3.5 flex items-center justify-end text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[9px] font-medium mb-0.5\",\n children: day\n },\n idx\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex-1\", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"min-w-max\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex gap-0.5 mb-1 h-[18px]\", children: yearWeeks.map((week, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"w-3.5 text-center\", children: week.monthLabel && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[rgba(100,100,100,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: week.monthLabel }) }, idx)) }),\n dayRows.map((row, rowIdx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"div\", { className: \"flex gap-0.5 mb-0.5\", children: row.map((cell, colIdx) => {\n const { date, value } = cell;\n const color = getActivityColor(value);\n const isCurrentYear = date.getFullYear() === year;\n const cellKey = `${rowIdx}-${colIdx}`;\n const isHovered = hoveredCell === cellKey;\n return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"w-3.5 h-3.5 rounded-[2px] relative transition-all duration-100\",\n style: {\n backgroundColor: isCurrentYear ? color : \"rgba(240,240,240,1)\",\n opacity: isCurrentYear ? 1 : 0.3,\n cursor: isCurrentYear ? \"pointer\" : \"default\",\n transform: isHovered && isCurrentYear ? \"scale(1.05)\" : \"scale(1)\"\n },\n onMouseEnter: (e) => {\n if (isCurrentYear) {\n setHoveredCell(cellKey);\n const rect = e.currentTarget.getBoundingClientRect();\n const monthName = date.toLocaleDateString(\"en-US\", { month: \"long\" });\n setTooltipData({\n visible: true,\n month: `${monthName} ${date.getFullYear()}`,\n day: date.getDate(),\n value,\n cellColor: color,\n position: { x: rect.left + rect.width / 2, y: rect.top }\n });\n }\n },\n onMouseLeave: () => {\n setHoveredCell(null);\n setTooltipData((prev) => ({ ...prev, visible: false }));\n },\n children: isCurrentYear && value > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"absolute inset-0 flex items-center justify-center pointer-events-none transition-opacity duration-200\",\n style: { opacity: isHovered ? 1 : 0 },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\"span\", { className: \"text-[6px] font-bold text-white [text-shadow:0_1px_1px_rgba(0,0,0,0.8)]\", children: date.getDate() })\n }\n )\n },\n colIdx\n );\n }) }, rowIdx))\n ] }) })\n ] }),\n tooltipData.visible && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"fixed pointer-events-none z-[9999]\",\n style: {\n left: tooltipData.position.x,\n top: tooltipData.position.y,\n transform: \"translate(-50%, -120%)\"\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\n \"div\",\n {\n className: \"flex flex-col min-w-[127px] max-w-[200px] w-max rounded-md bg-white\",\n style: {\n border: \"1px solid rgba(77, 175, 131, 0.72)\",\n boxShadow: \"0 4px 14px 0 rgba(77, 175, 131, 0.3)\",\n padding: \"8px 48px 11px 10px\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold leading-normal mb-1.5 whitespace-nowrap\", children: [\n tooltipData.month.split(\" \")[0],\n \" \",\n tooltipData.day\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"h-px bg-[rgba(234,234,234,1)] mb-1.5\",\n style: { marginLeft: \"-2px\", marginRight: \"-40px\", width: \"calc(100% + 42px)\" }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(\n \"div\",\n {\n className: \"shrink-0 w-3 h-3 rounded-[2px]\",\n style: { backgroundColor: tooltipData.cellColor }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(\"span\", { className: \"text-[rgba(129,129,129,1)] font-[Poppins,sans-serif] text-[11px] font-medium leading-normal whitespace-nowrap\", children: [\n \"Total \",\n tooltipData.value.toLocaleString(),\n \" activity\"\n ] })\n ] })\n ]\n }\n )\n }\n )\n ] });\n};\nCalendarHeatmapChart.displayName = \"CalendarHeatmapChart\";\n\n// src/components/LollipopChart.tsx\nvar import_jsx_runtime20 = require(\"react/jsx-runtime\");\nvar DEFAULT_COLORS = [\n \"rgba(37,99,235,1)\",\n \"rgba(16,185,129,1)\",\n \"rgba(245,158,11,1)\",\n \"rgba(239,68,68,1)\",\n \"rgba(147,51,234,1)\",\n \"rgba(236,72,153,1)\"\n];\nvar LollipopChart = ({\n title,\n items,\n orientation = \"horizontal\"\n}) => {\n if (!items || items.length === 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuButtonDots, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 flex items-center justify-center\", style: { color: \"rgba(107,114,128,1)\", fontSize: \"14px\" }, children: \"No data available\" })\n ] });\n }\n const maxValue = Math.max(...items.map((item) => item.value), 1);\n const gridPositions = [0, 25, 50, 75, 100];\n const axisLabels = gridPositions.map((pos) => Math.round(pos / 100 * maxValue));\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuButtonDots, {})\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 flex flex-col gap-4 py-4 min-h-[300px] relative overflow-visible\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"w-full overflow-x-visible lg:overflow-x-auto\", children: orientation === \"horizontal\" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex flex-col gap-4 relative pl-[140px] w-full min-w-[800px] lg:min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"absolute left-[140px] right-0 top-0 bottom-0 pointer-events-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n gridPositions.slice(1).map((pos, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute top-0 bottom-0 w-px\", style: { left: `${pos}%`, background: \"rgba(229,231,235,0.8)\" } }, idx))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-[140px] right-0 bottom-0 h-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n items.map((item, index) => {\n const percentage = item.value / maxValue * 100;\n const color = item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length];\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex items-center gap-4 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute text-right pr-4\", style: { width: \"120px\", left: \"-140px\" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { style: { color: \"rgba(55,65,81,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500, overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\", display: \"block\" }, className: \"sm:text-sm\", children: item.label }) }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex-1 relative h-10 flex items-center\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"relative rounded-[2px] transition-all\",\n style: { width: `${percentage}%`, height: \"4px\", background: color },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute right-[-10px] top-1/2 w-5 h-5 rounded-full border-[3px] border-white transition-all hover:scale-110\",\n style: {\n transform: \"translateY(-50%)\",\n background: color,\n boxShadow: \"0 2px 4px rgba(0,0,0,0.1)\"\n }\n }\n )\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n className: \"ml-4 min-w-[50px] text-sm sm:text-base font-semibold\",\n style: { color: \"rgba(17,24,39,1)\", fontFamily: \"Poppins, sans-serif\" },\n children: item.value\n }\n )\n ] })\n ] }, `${item.label}-${index}`);\n })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex justify-between mt-2 pl-[140px]\", style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", color: \"rgba(107,114,128,1)\" }, children: axisLabels.map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { children: label }, idx)) })\n ] }) : (\n /* Vertical Chart */\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\n \"div\",\n {\n className: \"flex flex-col h-full w-full relative pb-[60px] pl-[50px] min-w-[800px] lg:min-w-0\",\n style: { minHeight: \"350px\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"absolute left-[50px] right-0 top-0 bottom-[60px] pointer-events-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 right-0 bottom-0 h-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-px\", style: { background: \"rgba(209,213,219,1)\" } }),\n gridPositions.slice(1).map((pos, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"absolute left-0 right-0 h-px\", style: { top: `${100 - pos}%`, background: \"rgba(229,231,235,0.8)\" } }, idx))\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute left-0 top-0 bottom-0 flex flex-col justify-between text-right pr-[5px] w-[45px]\",\n style: { fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", color: \"rgba(107,114,128,1)\" },\n children: [...axisLabels].reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { children: label }, idx))\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex justify-around items-end w-full flex-1 gap-4 px-4 relative\", children: items.map((item, index) => {\n const percentage = item.value / maxValue * 100;\n const color = item.color || DEFAULT_COLORS[index % DEFAULT_COLORS.length];\n return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\"div\", { className: \"flex flex-col items-center gap-2 flex-1 min-w-[60px] max-w-[100px] h-full relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex-1 relative w-10 flex flex-col justify-end items-center h-full\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(\n \"div\",\n {\n className: \"relative w-1 rounded-[2px] transition-all\",\n style: {\n height: `${percentage}%`,\n background: color,\n minHeight: percentage > 0 ? \"8px\" : \"0px\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute left-1/2 w-5 h-5 rounded-full border-[3px] border-white transition-all hover:scale-110\",\n style: {\n top: \"-10px\",\n transform: \"translateX(-50%)\",\n background: color,\n boxShadow: \"0 2px 4px rgba(0,0,0,0.1)\"\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"span\",\n {\n className: \"absolute left-1/2 whitespace-nowrap text-sm sm:text-base font-semibold text-center\",\n style: {\n top: \"-30px\",\n transform: \"translateX(-50%)\",\n color: \"rgba(17,24,39,1)\",\n fontFamily: \"Poppins, sans-serif\"\n },\n children: item.value\n }\n )\n ]\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\n \"div\",\n {\n className: \"absolute text-center\",\n style: { bottom: \"-50px\", left: \"50%\", transform: \"translateX(-50%)\", maxWidth: \"100px\" },\n children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { style: { color: \"rgba(55,65,81,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"12px\", fontWeight: 500 }, className: \"sm:text-sm\", children: item.label })\n }\n )\n ] }, `${item.label}-${index}`);\n }) })\n ]\n }\n )\n ) }) })\n ] });\n};\nvar MenuButtonDots = () => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"button\", { className: \"w-8 h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"div\", { className: \"flex gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(\"span\", { className: \"w-1 h-1 rounded-full\", style: { background: \"rgba(107,114,128,1)\" } }, i)) }) });\nLollipopChart.displayName = \"LollipopChart\";\n\n// src/components/ColumnChart.tsx\nvar import_jsx_runtime21 = require(\"react/jsx-runtime\");\nvar defaultGradient = \"linear-gradient(180deg, rgba(77, 175, 131, 1) 0%, rgba(23, 97, 163, 1) 100%)\";\nvar ColumnChart = ({\n title,\n columns,\n yAxisConfig\n}) => {\n const safeColumns = columns || [];\n const maxValue = yAxisConfig?.max || 8e3;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 2e3, 4e3, 6e3, 8e3];\n const formatValue = (value) => {\n if (value >= 1e3) return `${(value / 1e3).toFixed(1)}k`;\n return value.toString();\n };\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n const percentage = (value - minValue) / (maxValue - minValue) * 100;\n return Math.max(0, Math.min(100, percentage));\n };\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-sm font-semibold leading-normal sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"button\", { className: \"w-6 h-6 flex items-center justify-center rounded hover:bg-[rgba(243,244,246,1)] bg-transparent border-none cursor-pointer transition-colors sm:w-8 sm:h-8\", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" })\n ] }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex flex-col flex-1 relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex flex-row w-full flex-1 relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"flex flex-col justify-between items-end pr-2 w-10 h-[250px] flex-shrink-0\", children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"span\",\n {\n className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-normal sm:text-xs\",\n children: label >= 1e3 ? `${label / 1e3}k` : label\n },\n `y-${idx}`\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col h-[250px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n \"data-testid\": `column-${idx}`,\n className: \"absolute left-0 right-0 h-px bg-[rgba(229,231,235,1)] z-[1]\",\n style: { top: `${position}%` }\n },\n `grid-${idx}`\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-0.5 bg-[rgba(125,125,125,1)] z-[2]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-0.5 bg-[rgba(125,125,125,1)] z-[2]\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10 gap-0\", children: safeColumns.map((column, index) => {\n const columnHeightPercentage = calculateHeight(column.value);\n const gradient = column.gradient || column.color || defaultGradient;\n return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex-1 flex flex-col items-center justify-end relative max-w-[100px] h-full px-1\",\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"w-full max-w-[60px] rounded-t-[4px] rounded-b-none relative transition-all duration-300 min-h-[2px] hover:opacity-85 hover:-translate-y-0.5\",\n style: {\n height: `${columnHeightPercentage}%`,\n background: gradient\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"div\", { className: \"absolute top-[-24px] left-1/2 -translate-x-1/2 text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[11px] font-medium whitespace-nowrap sm:text-xs sm:top-[-26px]\", children: formatValue(column.value) })\n }\n )\n },\n `${column.name}-${index}`\n );\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex justify-start px-[10px] mt-3\",\n style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" },\n children: safeColumns.map((column, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\n \"div\",\n {\n className: \"flex-1 flex justify-center items-start max-w-[100px] px-1 min-w-0\",\n children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(\"span\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[11px] font-normal text-center break-words hyphens-auto leading-[1.3] max-w-full whitespace-normal sm:text-xs\", children: column.name })\n },\n `label-${index}`\n ))\n }\n )\n ] })\n ] });\n};\nColumnChart.displayName = \"ColumnChart\";\n\n// src/components/KPIChart.tsx\nvar import_react15 = __toESM(require(\"react\"));\nvar import_jsx_runtime22 = require(\"react/jsx-runtime\");\nvar createLinearPath = (points) => {\n if (points.length === 0) return \"\";\n if (points.length === 1) return `M ${points[0].x},${points[0].y}`;\n let path = `M ${points[0].x},${points[0].y}`;\n for (let i = 1; i < points.length; i++) path += ` L ${points[i].x},${points[i].y}`;\n return path;\n};\nvar createAreaPath = (points, height) => {\n if (points.length === 0) return \"\";\n const linePath = createLinearPath(points);\n const lastPoint = points[points.length - 1];\n const firstPoint = points[0];\n return `${linePath} L ${lastPoint.x},${height} L ${firstPoint.x},${height} Z`;\n};\nvar calculatePercentageChange = (data) => {\n if (!data || data.length < 2) return 0;\n const firstValue = data[0];\n const lastValue = data[data.length - 1];\n if (firstValue === 0) return lastValue > 0 ? 100 : lastValue < 0 ? -100 : 0;\n return Math.round((lastValue - firstValue) / Math.abs(firstValue) * 1e3) / 10;\n};\nvar getTimeLabel = (period, dataLength, timestamps) => {\n switch (period) {\n case \"1D\":\n return \"Last 1 Day\";\n case \"1W\":\n return \"Last 1 Week\";\n case \"1M\":\n return \"Last 1 Month\";\n case \"6M\":\n return \"Last 6 Months\";\n case \"1Y\":\n return \"Last 1 Year\";\n case \"MAX\":\n if (timestamps && timestamps.length >= 2) {\n const startDate = new Date(timestamps[0]);\n const endDate = new Date(timestamps[timestamps.length - 1]);\n const monthsDiff = (endDate.getFullYear() - startDate.getFullYear()) * 12 + (endDate.getMonth() - startDate.getMonth());\n if (monthsDiff === 0) {\n const daysDiff = Math.ceil((endDate.getTime() - startDate.getTime()) / 864e5);\n return `Last ${daysDiff} Day${daysDiff > 1 ? \"s\" : \"\"}`;\n } else if (monthsDiff < 12) {\n return `Last ${monthsDiff} Month${monthsDiff > 1 ? \"s\" : \"\"}`;\n } else {\n const years = Math.floor(monthsDiff / 12);\n const months = monthsDiff % 12;\n return months === 0 ? `Last ${years} Year${years > 1 ? \"s\" : \"\"}` : `Last ${years}y ${months}m`;\n }\n }\n return `All Data (${dataLength} points)`;\n default:\n return \"All Data\";\n }\n};\nvar getDateRange = (period, filteredTimestamps, allTimestamps) => {\n if (period === \"MAX\" && allTimestamps && allTimestamps.length >= 2) {\n return formatDateRange(new Date(allTimestamps[0]), new Date(allTimestamps[allTimestamps.length - 1]));\n }\n if (filteredTimestamps && filteredTimestamps.length >= 2) {\n return formatDateRange(new Date(filteredTimestamps[0]), new Date(filteredTimestamps[filteredTimestamps.length - 1]));\n } else if (filteredTimestamps && filteredTimestamps.length === 1) {\n return formatSingleDate(new Date(filteredTimestamps[0]));\n }\n return \"No Date Range\";\n};\nvar formatDateRange = (startDate, endDate) => {\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n const sameYear = startDate.getFullYear() === endDate.getFullYear();\n const sm = monthNames[startDate.getMonth()];\n const sd = String(startDate.getDate()).padStart(2, \"0\");\n const sy = startDate.getFullYear();\n const em = monthNames[endDate.getMonth()];\n const ed = String(endDate.getDate()).padStart(2, \"0\");\n const ey = endDate.getFullYear();\n return sameYear ? `${sm} ${sd} - ${em} ${ed}` : `${sm} ${sd} ${sy} - ${em} ${ed} ${ey}`;\n};\nvar formatSingleDate = (date) => {\n const monthNames = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n return `${monthNames[date.getMonth()]} ${String(date.getDate()).padStart(2, \"0\")}, ${date.getFullYear()}`;\n};\nvar calculateSum = (data) => data?.reduce((s, v) => s + v, 0) ?? 0;\nvar formatCurrencyValue = (value) => {\n if (value === 0) return \"$0\";\n const abs = Math.abs(value);\n const prefix = value < 0 ? \"-\" : \"\";\n if (abs >= 1e9) return `${prefix}$${(abs / 1e9).toFixed(1)}B`;\n if (abs >= 1e6) return `${prefix}$${(abs / 1e6).toFixed(1)}M`;\n if (abs >= 1e3) return `${prefix}$${(abs / 1e3).toFixed(1)}K`;\n return `${prefix}$${abs.toFixed(0)}`;\n};\nvar KPIChart = ({ data }) => {\n const [hoveredIndex, setHoveredIndex] = import_react15.default.useState(null);\n const [tooltipPos, setTooltipPos] = import_react15.default.useState({ x: 0, y: 0 });\n const [selectedPeriod, setSelectedPeriod] = import_react15.default.useState(\n data.timePeriods && data.timePeriods.length > 0 ? data.timePeriods[data.timePeriods.length - 1] : \"MAX\"\n );\n const containerRef = import_react15.default.useRef(null);\n const { filteredData, filteredTimestamps } = (0, import_react15.useMemo)(() => {\n if (!data.timePeriods || !data.timestamps || selectedPeriod === \"MAX\") {\n return { filteredData: data.data, filteredTimestamps: data.timestamps || [] };\n }\n const now = /* @__PURE__ */ new Date();\n let cutoffDate = /* @__PURE__ */ new Date();\n switch (selectedPeriod) {\n case \"1D\":\n cutoffDate.setDate(now.getDate() - 1);\n break;\n case \"1W\":\n cutoffDate.setDate(now.getDate() - 7);\n break;\n case \"1M\":\n cutoffDate.setMonth(now.getMonth() - 1);\n break;\n case \"6M\":\n cutoffDate.setMonth(now.getMonth() - 6);\n break;\n case \"1Y\":\n cutoffDate.setFullYear(now.getFullYear() - 1);\n break;\n default:\n return { filteredData: data.data, filteredTimestamps: data.timestamps || [] };\n }\n const filtered = [];\n const filteredTS = [];\n data.timestamps.forEach((timestamp, index) => {\n const dataDate = new Date(timestamp);\n if (dataDate >= cutoffDate && dataDate <= now && index < data.data.length) {\n filtered.push(data.data[index]);\n filteredTS.push(timestamp);\n }\n });\n return {\n filteredData: filtered.length > 0 ? filtered : data.data,\n filteredTimestamps: filteredTS.length > 0 ? filteredTS : data.timestamps || []\n };\n }, [data.data, data.timestamps, data.timePeriods, selectedPeriod]);\n const percentageChange = (0, import_react15.useMemo)(() => calculatePercentageChange(filteredData), [filteredData]);\n const isPositive = percentageChange >= 0;\n const dynamicTimeLabel = (0, import_react15.useMemo)(() => getTimeLabel(selectedPeriod, filteredData.length, data.timestamps), [selectedPeriod, filteredData.length, data.timestamps]);\n const dynamicDateRange = (0, import_react15.useMemo)(() => getDateRange(selectedPeriod, filteredTimestamps, data.timestamps), [selectedPeriod, filteredTimestamps, data.timestamps]);\n const dynamicValue = (0, import_react15.useMemo)(() => formatCurrencyValue(calculateSum(filteredData)), [filteredData]);\n const { points, chartWidth, chartHeight } = (0, import_react15.useMemo)(() => {\n const width = 400;\n const height = 100;\n const padding = 5;\n if (!filteredData || filteredData.length === 0) return { points: [], minValue: 0, maxValue: 0, chartWidth: width, chartHeight: height };\n const min = Math.min(...filteredData);\n const max = Math.max(...filteredData);\n const range = max - min || 1;\n const calculatedPoints = filteredData.map((value, index) => ({\n x: padding + index / (filteredData.length - 1) * (width - padding * 2),\n y: height - padding - (value - min) / range * (height - padding * 2),\n value\n }));\n return { points: calculatedPoints, minValue: min, maxValue: max, chartWidth: width, chartHeight: height };\n }, [filteredData]);\n const linearPath = (0, import_react15.useMemo)(() => createLinearPath(points), [points]);\n const areaPath = (0, import_react15.useMemo)(() => createAreaPath(points, chartHeight), [points, chartHeight]);\n const gradientId = (0, import_react15.useMemo)(\n () => `kpi-gradient-${isPositive ? \"positive\" : \"negative\"}-${Math.random().toString(36).substr(2, 9)}`,\n [isPositive]\n );\n const handleMouseMove = (event) => {\n if (!containerRef.current || points.length === 0) return;\n const svg = event.currentTarget.ownerSVGElement;\n if (!svg) return;\n const rect = svg.getBoundingClientRect();\n const x = (event.clientX - rect.left) / rect.width * chartWidth;\n let nearestIndex = 0;\n let minDistance = Math.abs(points[0].x - x);\n points.forEach((point, index) => {\n const distance = Math.abs(point.x - x);\n if (distance < minDistance) {\n minDistance = distance;\n nearestIndex = index;\n }\n });\n setHoveredIndex(nearestIndex);\n setTooltipPos({\n x: points[nearestIndex].x / chartWidth * rect.width,\n y: points[nearestIndex].y / chartHeight * rect.height\n });\n };\n const positiveGradientStop = isPositive ? [\n { offset: \"0%\", color: \"rgba(34,197,94,0.2)\" },\n { offset: \"50%\", color: \"rgba(34,197,94,0.1)\" },\n { offset: \"100%\", color: \"rgba(34,197,94,0.02)\" }\n ] : [\n { offset: \"0%\", color: \"rgba(239,68,68,0.2)\" },\n { offset: \"50%\", color: \"rgba(239,68,68,0.1)\" },\n { offset: \"100%\", color: \"rgba(239,68,68,0.02)\" }\n ];\n const trendColor = isPositive ? \"rgba(34,197,94,1)\" : \"rgba(239,68,68,1)\";\n const changeIndicatorBg = isPositive ? \"rgba(209,250,229,1)\" : \"rgba(254,226,226,1)\";\n return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"div\",\n {\n ref: containerRef,\n className: \"w-full flex flex-col overflow-hidden rounded-[10px] p-4 sm:px-6 sm:pb-6 sm:pt-5\",\n style: {\n height: \"350px\",\n border: \"1px solid rgba(23,97,163,1)\",\n background: \"rgba(241,247,248,1)\",\n boxShadow: \"0 1px 2px 0 rgba(0,0,0,0.05)\"\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\"div\", { className: \"flex items-start justify-between mb-3 sm:mb-[14px] lg:mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"relative flex-1\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"h3\",\n {\n className: \"text-[13px] sm:text-sm lg:text-[15px] font-medium leading-[1.4]\",\n style: { color: \"rgba(148,163,184,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", letterSpacing: \"-0.01em\" },\n children: data.title\n }\n ) }),\n data.timePeriods && data.timePeriods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"absolute left-1/2 -translate-x-1/2 flex gap-[6px] sm:gap-2 items-center\", children: data.timePeriods.map((period) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => setSelectedPeriod(period),\n className: \"px-3 py-1 sm:px-[14px] sm:py-[5px] lg:px-4 lg:py-[6px] rounded-[20px] text-[11px] sm:text-xs lg:text-[13px] font-medium whitespace-nowrap border-none cursor-pointer transition-all\",\n style: {\n fontFamily: \"'Inter', 'Poppins', sans-serif\",\n backgroundColor: selectedPeriod === period ? \"rgba(23,97,163,1)\" : \"transparent\",\n color: selectedPeriod === period ? \"white\" : \"rgba(148,163,184,1)\"\n },\n children: period\n },\n period\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-[3px] sm:gap-1 px-2 sm:px-[10px] py-[3px] sm:py-1 rounded-[6px]\",\n style: { backgroundColor: changeIndicatorBg, transition: \"background-color 0.3s ease-in-out\" },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"svg\",\n {\n className: \"w-[11px] h-[11px] sm:w-3 sm:h-3 lg:w-[13px] lg:h-[13px]\",\n viewBox: \"0 0 12 12\",\n style: { fill: trendColor, transition: \"fill 0.3s ease-in-out\" },\n children: isPositive ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: \"M6 2L10 6H8V10H4V6H2L6 2Z\" }) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: \"M6 10L2 6H4V2H8V6H10L6 10Z\" })\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"span\",\n {\n className: \"text-[11px] sm:text-xs lg:text-[13px] font-semibold\",\n style: { color: trendColor, fontFamily: \"'Inter', 'Poppins', sans-serif\", transition: \"color 0.3s ease-in-out\" },\n children: [\n Math.abs(percentageChange),\n \"%\"\n ]\n }\n )\n ]\n }\n ) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"div\", { className: \"mb-[14px] sm:mb-4 lg:mb-[18px]\", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"text-[28px] sm:text-[36px] md:text-[40px] lg:text-[42px] xl:text-[44px] font-bold leading-[1.1]\",\n style: { color: \"rgba(15,23,42,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", letterSpacing: \"-0.02em\", transition: \"opacity 0.3s ease-in-out\" },\n children: dynamicValue\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\"div\", { className: \"flex-1 relative min-h-[100px] sm:min-h-[110px] lg:min-h-[120px] mb-3 sm:mb-[14px] lg:mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(\n \"svg\",\n {\n className: \"w-full h-full overflow-visible\",\n viewBox: `0 0 ${chartWidth} ${chartHeight}`,\n preserveAspectRatio: \"none\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"defs\", { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"linearGradient\", { id: gradientId, x1: \"0%\", y1: \"0%\", x2: \"0%\", y2: \"100%\", children: positiveGradientStop.map((s) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"stop\", { offset: s.offset, stopColor: s.color }, s.offset)) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\"path\", { d: areaPath, fill: `url(#${gradientId})`, stroke: \"none\", style: { transition: \"d 0.4s ease-in-out, fill 0.3s ease-in-out\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"path\",\n {\n d: linearPath,\n fill: \"none\",\n stroke: trendColor,\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n style: { transition: \"d 0.4s ease-in-out, stroke 0.3s ease-in-out\" }\n }\n ),\n hoveredIndex !== null && points[hoveredIndex] && !isNaN(points[hoveredIndex].x) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"line\",\n {\n x1: points[hoveredIndex].x,\n y1: \"0\",\n x2: points[hoveredIndex].x,\n y2: chartHeight,\n stroke: \"rgba(148,163,184,0.3)\",\n strokeWidth: \"1\",\n strokeDasharray: \"4 4\",\n style: { opacity: 1, transition: \"opacity 0.2s\" }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"circle\",\n {\n cx: points[hoveredIndex].x,\n cy: points[hoveredIndex].y,\n r: \"3.5\",\n fill: trendColor,\n stroke: \"white\",\n strokeWidth: \"1\",\n style: { opacity: 1, transition: \"opacity 0.2s\" }\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"rect\",\n {\n x: \"0\",\n y: \"0\",\n width: chartWidth,\n height: chartHeight,\n fill: \"transparent\",\n style: { cursor: \"crosshair\" },\n onMouseMove: handleMouseMove,\n onMouseLeave: () => setHoveredIndex(null)\n }\n )\n ]\n }\n ),\n hoveredIndex !== null && points[hoveredIndex] && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"absolute pointer-events-none z-10 rounded-[6px] text-xs sm:text-[13px] lg:text-sm font-semibold whitespace-nowrap px-[10px] py-[6px] sm:px-3 sm:py-2 lg:px-[14px] lg:py-[10px]\",\n style: {\n left: tooltipPos.x,\n top: tooltipPos.y,\n backgroundColor: \"rgba(220,235,238,1)\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"'Inter', 'Poppins', sans-serif\",\n transform: \"translate(-50%, -100%) translateY(-8px)\",\n boxShadow: \"0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06)\",\n border: \"1px solid rgba(23,97,163,0.2)\",\n opacity: 1,\n transition: \"opacity 0.2s\"\n },\n children: points[hoveredIndex].value.toLocaleString()\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"div\",\n {\n className: \"flex items-center justify-between pt-[10px] sm:pt-3 lg:pt-[14px] flex-shrink-0\",\n style: { borderTop: \"1px solid rgba(226,232,240,0.6)\" },\n children: [dynamicTimeLabel, dynamicDateRange].map((text, i) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(\n \"span\",\n {\n className: \"text-[11px] sm:text-xs lg:text-[13px] font-medium\",\n style: { color: \"rgba(148,163,184,1)\", fontFamily: \"'Inter', 'Poppins', sans-serif\", transition: \"opacity 0.3s ease-in-out\" },\n children: text\n },\n i\n ))\n }\n )\n ]\n }\n );\n};\nKPIChart.displayName = \"KPIChart\";\n\n// src/components/GroupBarChart.tsx\nvar import_jsx_runtime23 = require(\"react/jsx-runtime\");\nvar DEFAULT_BAR_COLORS = {\n revenue: \"rgba(23,97,163,1)\",\n profit: \"rgba(77,175,131,1)\",\n loss: \"rgba(220,38,38,1)\",\n cost: \"rgba(47,164,169,1)\"\n};\nvar GroupBarChart = ({\n title,\n groups,\n legends,\n yAxisConfig\n}) => {\n const safeGroups = groups || [];\n const maxValue = yAxisConfig?.max || 125;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 25, 50, 75, 100, 125];\n const getColorMap = () => {\n if (!legends || legends.length === 0) return DEFAULT_BAR_COLORS;\n const colorMap = {};\n legends.forEach((legend) => {\n colorMap[legend.key] = legend.color;\n });\n return colorMap;\n };\n const BAR_COLORS = getColorMap();\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n return Math.max(0, Math.min(100, (value - minValue) / (maxValue - minValue) * 100));\n };\n const getProfitOrLoss = (group) => {\n if (group.profitOrLoss !== void 0 && group.profitOrLoss !== null) return group.profitOrLoss;\n return group.revenue - group.cost;\n };\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 },\n className: \"sm:text-base\",\n children: title\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"button\", { className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 flex flex-col relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 relative flex flex-row w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex flex-col justify-between items-end pr-2 flex-shrink-0\", style: { width: \"40px\", height: \"250px\" }, children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"span\",\n {\n style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 },\n className: \"sm:text-xs\",\n children: label\n },\n idx\n )) }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col\", style: { height: \"250px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"absolute left-0 right-0 h-px z-[1]\",\n style: { top: `${position}%`, backgroundColor: \"rgba(229,231,235,1)\" }\n },\n idx\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10\", children: safeGroups.map((group, index) => {\n const profitOrLossValue = getProfitOrLoss(group);\n const isProfitable = profitOrLossValue >= 0;\n const profitLossColor = isProfitable ? BAR_COLORS.profit : BAR_COLORS.loss;\n const profitLossAbsValue = Math.abs(profitOrLossValue);\n return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex flex-row items-end justify-center relative h-full gap-1 px-2\", children: [\n { value: group.revenue, color: BAR_COLORS.revenue },\n { value: profitLossAbsValue, color: profitLossColor },\n { value: group.cost, color: BAR_COLORS.cost }\n ].map(({ value, color }, barIdx) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex flex-col items-center justify-end relative max-w-[30px] h-full\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"w-full rounded-t min-h-[2px] relative transition-all hover:opacity-85 hover:-translate-y-[2px]\",\n style: { height: `${calculateHeight(value)}%`, background: color },\n children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"div\",\n {\n className: \"absolute whitespace-nowrap left-1/2 -translate-x-1/2\",\n style: {\n top: \"-24px\",\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"10px\",\n fontWeight: 500\n },\n children: value.toString()\n }\n )\n }\n ) }, barIdx)) }, `${group.name}-${index}`);\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex justify-start px-[10px] mt-3\", style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" }, children: safeGroups.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\"div\", { className: \"flex-1 flex justify-center items-start px-2 min-w-0\", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400,\n textAlign: \"center\",\n wordBreak: \"break-word\",\n overflowWrap: \"break-word\",\n lineHeight: 1.3,\n whiteSpace: \"normal\"\n },\n className: \"sm:text-xs\",\n children: group.name\n }\n ) }, index)) })\n ] })\n ] });\n};\nGroupBarChart.displayName = \"GroupBarChart\";\n\n// src/components/StackBarChart.tsx\nvar import_react16 = require(\"react\");\nvar import_jsx_runtime24 = require(\"react/jsx-runtime\");\nvar DEFAULT_COLORS2 = {\n aggregating: \"rgba(37,99,235,1)\",\n outstanding: \"rgba(34,197,94,1)\",\n writeOff: \"rgba(239,68,68,1)\"\n};\nvar StackBarChart = ({\n title,\n data,\n legends,\n yAxisConfig\n}) => {\n const [tooltip, setTooltip] = (0, import_react16.useState)(null);\n const safeData = data || [];\n const maxValue = yAxisConfig?.max || 125;\n const minValue = yAxisConfig?.min || 0;\n const yAxisLabels = yAxisConfig?.labels || [0, 25, 50, 75, 100, 125];\n const getColorMap = () => {\n if (!legends || legends.length === 0) return DEFAULT_COLORS2;\n const colorMap = {};\n legends.forEach((legend) => {\n colorMap[legend.key] = legend.color;\n });\n return colorMap;\n };\n const COLORS = getColorMap();\n const getLabel = (key) => {\n if (legends && legends.length > 0) {\n const legend = legends.find((l) => l.key === key);\n if (legend) return legend.label;\n }\n const defaultLabels = {\n aggregating: \"Aggregating Amount\",\n outstanding: \"Outstanding Amount\",\n writeOff: \"Write-Off Amount\"\n };\n return defaultLabels[key] || key;\n };\n const formatValue = (value) => {\n if (value >= 1e3) return `$${(value / 1e3).toFixed(0)}k`;\n return `$${value}`;\n };\n const calculateHeight = (value) => {\n if (maxValue === minValue) return 0;\n return Math.max(0, Math.min(100, (value - minValue) / (maxValue - minValue) * 100));\n };\n const handleSegmentMouseEnter = (event, dayData, type) => {\n const rect = event.currentTarget.getBoundingClientRect();\n setTooltip({ day: dayData.day, type, value: dayData[type], label: getLabel(type), x: rect.left + rect.width / 2, y: rect.top });\n };\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"w-full h-full flex flex-col\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex items-center justify-between mb-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { style: { color: \"rgba(23,97,163,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"14px\", fontWeight: 600 }, className: \"sm:text-base\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"button\", { className: \"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex gap-[2px] sm:gap-1\", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"span\", { className: \"w-[2px] h-[2px] sm:w-1 sm:h-1 rounded-full\", style: { backgroundColor: \"rgba(107,114,128,1)\" } }, i)) }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 flex flex-col relative min-h-[300px] w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 relative flex flex-row w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex flex-col justify-between items-start pr-2 flex-shrink-0\", style: { width: \"40px\", height: \"250px\" }, children: yAxisLabels.slice().reverse().map((label, idx) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"span\", { style: { color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\", fontSize: \"10px\", fontWeight: 400 }, className: \"sm:text-xs\", children: [\n \"$\",\n label\n ] }, idx)) }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"flex-1 relative flex flex-col\", style: { height: \"250px\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"absolute inset-0 pointer-events-none\", children: [\n yAxisLabels.map((label, idx) => {\n const position = 100 - (label - yAxisLabels[0]) / (yAxisLabels[yAxisLabels.length - 1] - yAxisLabels[0]) * 100;\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute left-0 right-0 h-px z-[1]\", style: { top: `${position}%`, backgroundColor: \"rgba(229,231,235,1)\" } }, idx);\n }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute left-0 top-0 bottom-0 w-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"absolute bottom-0 left-0 right-0 h-[2px] z-[2]\", style: { backgroundColor: \"rgba(125,125,125,1)\" } })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"relative flex-1 flex items-end justify-start px-[10px] h-full z-10\", children: safeData.map((dayData, index) => {\n const total = dayData.aggregating + dayData.outstanding + dayData.writeOff;\n const totalHeight = calculateHeight(total);\n const aggregatingPercent = total > 0 ? dayData.aggregating / total * 100 : 0;\n const outstandingPercent = total > 0 ? dayData.outstanding / total * 100 : 0;\n const writeOffPercent = total > 0 ? dayData.writeOff / total * 100 : 0;\n return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex-1 flex flex-col items-center justify-end relative max-w-[100px] h-full px-2\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\n \"div\",\n {\n className: \"w-full max-w-[60px] relative flex flex-col-reverse rounded-t overflow-hidden transition-all\",\n style: { height: `${totalHeight}%` },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"absolute whitespace-nowrap left-1/2 -translate-x-1/2 text-[11px] sm:text-xs font-medium\",\n style: { top: \"-24px\", color: \"rgba(94,94,94,1)\", fontFamily: \"Poppins, sans-serif\" },\n children: formatValue(total)\n }\n ),\n dayData.writeOff > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${writeOffPercent}%`, backgroundColor: COLORS.writeOff || DEFAULT_COLORS2.writeOff },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"writeOff\"),\n onMouseLeave: () => setTooltip(null)\n }\n ),\n dayData.outstanding > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${outstandingPercent}%`, backgroundColor: COLORS.outstanding || DEFAULT_COLORS2.outstanding },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"outstanding\"),\n onMouseLeave: () => setTooltip(null)\n }\n ),\n dayData.aggregating > 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"div\",\n {\n className: \"cursor-pointer transition-all hover:opacity-85 hover:brightness-110\",\n style: { height: `${aggregatingPercent}%`, backgroundColor: COLORS.aggregating || DEFAULT_COLORS2.aggregating },\n onMouseEnter: (e) => handleSegmentMouseEnter(e, dayData, \"aggregating\"),\n onMouseLeave: () => setTooltip(null)\n }\n )\n ]\n }\n ) }, `${dayData.day}-${index}`);\n }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex justify-start px-[10px] mt-3\", style: { marginLeft: \"40px\", width: \"calc(100% - 40px)\" }, children: safeData.map((dayData, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\"div\", { className: \"flex-1 flex justify-center items-start max-w-[100px] px-2 min-w-0\", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(\n \"span\",\n {\n style: {\n color: \"rgba(94,94,94,1)\",\n fontFamily: \"Poppins, sans-serif\",\n fontSize: \"11px\",\n fontWeight: 400,\n textAlign: \"center\",\n wordBreak: \"break-word\",\n overflowWrap: \"break-word\",\n lineHeight: 1.3,\n whiteSpace: \"normal\"\n },\n className: \"sm:text-xs\",\n children: dayData.day\n }\n ) }, index)) })\n ] }),\n tooltip && /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\n \"div\",\n {\n className: \"fixed pointer-events-none z-[9999] rounded-lg text-xs sm:text-[13px] font-medium px-[14px] py-[10px] sm:px-4 sm:py-3 whitespace-nowrap\",\n style: {\n left: tooltip.x,\n top: tooltip.y,\n backgroundColor: \"rgba(158,153,153,0.75)\",\n backdropFilter: \"blur(10px)\",\n color: \"rgba(0,0,0,1)\",\n fontFamily: \"Poppins, sans-serif\",\n boxShadow: \"0 2px 12px rgba(0,0,0,0.06), 0 1px 4px rgba(0,0,0,0.04)\",\n border: \"1px solid rgba(209,213,219,0.94)\",\n transform: \"translate(-50%, -100%) translateY(-10px)\",\n opacity: 1\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"text-[11px] sm:text-xs font-normal mb-1\", style: { color: \"rgba(0,0,0,0.7)\" }, children: [\n tooltip.day,\n \" - \",\n tooltip.label\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(\"div\", { className: \"text-sm sm:text-[15px] font-semibold\", style: { color: \"rgba(0,0,0,1)\" }, children: [\n \"$\",\n tooltip.value\n ] })\n ]\n }\n )\n ] });\n};\nStackBarChart.displayName = \"StackBarChart\";\n\n// src/components/MahatiChartAnalyticsWidget.tsx\nvar import_jsx_runtime25 = require(\"react/jsx-runtime\");\nvar assetSrc3 = (m) => {\n if (typeof m === \"string\") return m;\n const anyM = m;\n if (typeof anyM?.src === \"string\") return anyM.src;\n const d = anyM?.default;\n if (typeof d === \"string\") return d;\n if (typeof d?.src === \"string\") return d.src;\n return \"\";\n};\nvar FALLBACK_ICONS = {\n performancePeakIcon: \"/chart-icons/performance-peak-icon.png\",\n calendarIcon: \"/chart-icons/calendar-3.png\",\n increaseIcon: \"/chart-icons/increase.png\",\n decreaseIcon: \"/chart-icons/decrease.png\"\n};\nvar getIconSrc = (imported, fallback) => {\n const src = assetSrc3(imported);\n return src || fallback;\n};\nvar performancePeakIcon = \"\";\nvar calendarIcon = \"\";\nvar increaseIcon = \"\";\nvar decreaseIcon = \"\";\ntry {\n performancePeakIcon = require_performance_peak_icon();\n calendarIcon = require_calendar_3();\n increaseIcon = require_increase();\n decreaseIcon = require_decrease();\n} catch (e) {\n}\nvar colorToClass = (color) => {\n const c = typeof color === \"string\" ? color.toLowerCase() : \"\";\n if (c.startsWith(\"rgba(\") || c.startsWith(\"rgb(\")) return c;\n const map = {\n \"#7dcfaf\": \"#7DCFAF\",\n \"#f28a18\": \"#F28A18\",\n \"#2094f3\": \"#2094F3\",\n \"#909592\": \"#909592\",\n \"#bcc6cb\": \"#BCC6CB\",\n \"#3b82f6\": \"#3B82F6\",\n \"#10b981\": \"#10B981\",\n \"#ef4444\": \"#EF4444\",\n \"#f97316\": \"#F97316\",\n \"#f59e0b\": \"#F59E0B\",\n \"#8b5cf6\": \"#8B5CF6\",\n \"#ec4899\": \"#EC4899\",\n \"#6366f1\": \"#6366F1\"\n };\n return map[c] || (typeof color === \"string\" ? color : \"#D1D5DB\");\n};\nvar getStatusColors = (status) => {\n const statusConfig = {\n \"In Progress\": { textColor: \"rgba(23,97,163,1)\", backgroundColor: \"rgba(23,97,163,0.15)\" },\n \"Overdue\": { textColor: \"rgba(220,38,38,1)\", backgroundColor: \"rgba(239,68,68,0.15)\" },\n \"On Target\": { textColor: \"rgba(46,158,120,1)\", backgroundColor: \"rgba(70,194,155,0.15)\" }\n };\n return statusConfig[status] || statusConfig[\"In Progress\"];\n};\nvar tabLabel = (type) => {\n if (type === \"area\") return \"Area Line Chart\";\n if (type === \"bullet\") return \"Bullet Chart\";\n if (type === \"gauge\") return \"Gauge Chart\";\n if (type === \"riskgauge\") return \"KPI Risk Gauge Chart\";\n if (type === \"gantt\") return \"Gantt Chart\";\n if (type === \"calendarheatmap\") return \"Calendar Heat Map\";\n if (type === \"horizontalbar\") return \"Horizontal Bar Chart\";\n if (type === \"columnchart\") return \"Column Chart\";\n if (type === \"groupbar\") return \"Group Bar Chart\";\n if (type === \"stackbar\") return \"Stacked Bar Chart\";\n if (type === \"lollipop\") return \"Lollipop Chart\";\n if (type === \"kpi\") return \"KPI Chart\";\n return `${type.charAt(0).toUpperCase() + type.slice(1)} Chart`;\n};\nvar MenuDotsButton = () => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n className: \"w-8 h-8 flex items-center justify-center rounded bg-transparent border-none cursor-pointer transition-colors hover:bg-[rgba(243,244,246,1)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-1 h-1 bg-[rgba(107,114,128,1)] rounded-full\" })\n ] })\n }\n);\nvar MahatiChartAnalyticsWidget = ({\n title,\n chartTypes,\n initialChartType,\n filters,\n chartFilters,\n selectedFilters,\n chartDataMap,\n bulletData,\n gaugeData,\n horizontalBarData,\n columnChartData,\n groupBarData,\n stackBarData,\n lollipopData,\n kpiData,\n riskGaugeData,\n ganttData,\n heatmapData,\n calendarheatmapData,\n onApplyFilters,\n quickStats,\n actionButtons,\n onChartTypeChange,\n onFiltersChange,\n details\n}) => {\n const [chartType, setChartType] = (0, import_react17.useState)(initialChartType);\n const [selectedGanttProject, setSelectedGanttProject] = (0, import_react17.useState)(\"Project 1\");\n const [selectedCalendarHeatmapProject, setSelectedCalendarHeatmapProject] = (0, import_react17.useState)(\"Project 1\");\n const [localFilters, setLocalFilters] = (0, import_react17.useState)(selectedFilters);\n (0, import_react17.useEffect)(() => {\n setLocalFilters(selectedFilters);\n }, [selectedFilters]);\n const currentFilters = (0, import_react17.useMemo)(() => {\n if (chartFilters && chartFilters[chartType]) return chartFilters[chartType] || [];\n return filters;\n }, [chartType, chartFilters, filters]);\n const currentData = (0, import_react17.useMemo)(() => {\n const base = chartDataMap[chartType];\n if (chartType === \"area\" && base) return makeAreaDataStraight(base);\n return base;\n }, [chartDataMap, chartType]);\n const isLineFamily = chartType === \"line\" || chartType === \"area\";\n const isPieFamily = chartType === \"pie\" || chartType === \"doughnut\";\n const bulletDetails = (0, import_react17.useMemo)(() => {\n if (chartType === \"bullet\" && bulletData?.bullets) {\n return bulletData.bullets.map((bullet) => {\n const percentageAchieved = Math.round(bullet.achieved / bullet.target * 100);\n return { label: bullet.name, value: `${percentageAchieved}% Done`, description: `${percentageAchieved}% of target achieved`, color: \"rgba(183,232,214,0.9)\" };\n });\n }\n return [];\n }, [chartType, bulletData]);\n const currentGanttData = (0, import_react17.useMemo)(() => {\n if (chartType === \"gantt\" && ganttData) {\n const year = localFilters[\"SelectYear\"] || \"2026\";\n const type = localFilters[\"SelectType\"] || \"Development\";\n const baseData = ganttData[year]?.[type];\n if (!baseData) return void 0;\n if (selectedGanttProject === \"Project 2\") {\n return {\n title: `${baseData.title} - ${selectedGanttProject}`,\n projectName: `${baseData.projectName} - ${selectedGanttProject}`,\n tasks: baseData.tasks.map((task) => {\n const newProgress = Math.max(0, task.progress - 20);\n let newStatus = task.status;\n if (task.progress <= 70 && task.status === \"On Target\") newStatus = \"In Progress\";\n return { ...task, progress: newProgress, status: newStatus };\n })\n };\n }\n return { ...baseData, title: `${baseData.title} - ${selectedGanttProject}`, projectName: `${baseData.projectName} - ${selectedGanttProject}` };\n }\n return void 0;\n }, [chartType, ganttData, selectedFilters, selectedGanttProject]);\n const currentHorizontalBarTopPerformer = (0, import_react17.useMemo)(() => {\n if (chartType !== \"horizontalbar\" || !horizontalBarData) return void 0;\n const selectedYear = localFilters[\"SelectYear\"] || \"2026\";\n const selectedMonth = localFilters[\"SelectMonth\"] || \"January\";\n const yearData = horizontalBarData[selectedYear];\n const monthData = yearData?.[selectedMonth];\n if (!monthData) return void 0;\n const monthOrder = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const currentMonthIndex = monthOrder.indexOf(selectedMonth);\n const previousMonth = currentMonthIndex > 0 ? monthOrder[currentMonthIndex - 1] : \"December\";\n const previousYear = currentMonthIndex > 0 ? selectedYear : String(Number(selectedYear) - 1);\n const previousYearData = horizontalBarData[previousYear];\n const previousMonthData = previousYearData?.[previousMonth];\n const products = Object.keys(monthData);\n let maxRevenue = 0, topProduct = \"\", minRevenue = Infinity, needsFocusProduct = \"\";\n products.forEach((product) => {\n const revenue = monthData[product].Revenue;\n if (revenue > maxRevenue) {\n maxRevenue = revenue;\n topProduct = product;\n }\n if (revenue < minRevenue) {\n minRevenue = revenue;\n needsFocusProduct = product;\n }\n });\n let percentageChange = 0, isIncrease = true;\n if (previousMonthData && previousMonthData[topProduct]) {\n const cur = monthData[topProduct].Revenue, prev = previousMonthData[topProduct].Revenue;\n if (prev !== 0) {\n percentageChange = (cur - prev) / prev * 100;\n isIncrease = percentageChange >= 0;\n }\n }\n const topProductData = monthData[topProduct];\n return { category: \"Category\", name: topProduct, revenue: `${topProductData.Revenue}k`, profit: `${topProductData.Profit}k`, needsFocus: needsFocusProduct, change: `${Math.abs(percentageChange).toFixed(0)}%`, isIncrease };\n }, [chartType, horizontalBarData, selectedFilters]);\n const calendarPeakAndActiveDay = (0, import_react17.useMemo)(() => {\n const empty = { peakDay: { date: \"\", dayName: \"\", value: 0 }, mostActiveDay: { dayName: \"\", count: 0, average: 0 } };\n if (chartType !== \"calendarheatmap\" || !calendarheatmapData) return empty;\n const year = localFilters[\"SelectYear\"] || \"2026\";\n const type = localFilters[\"SelectType\"] || \"Development\";\n const project = selectedCalendarHeatmapProject;\n if (!calendarheatmapData[project]?.[year]?.[type]) return empty;\n const yearData = calendarheatmapData[project][year][type];\n let allDayData = [];\n const dayOfWeekCounts = { Sunday: { total: 0, count: 0 }, Monday: { total: 0, count: 0 }, Tuesday: { total: 0, count: 0 }, Wednesday: { total: 0, count: 0 }, Thursday: { total: 0, count: 0 }, Friday: { total: 0, count: 0 }, Saturday: { total: 0, count: 0 } };\n Object.keys(yearData).forEach((monthName) => {\n const monthData = yearData[monthName];\n if (monthData?.data && Array.isArray(monthData.data)) {\n monthData.data.forEach((item) => {\n const [y, m, d] = item.date.split(\"-\").map((n) => parseInt(n));\n const dateObj = new Date(y, m - 1, d);\n const dayNames = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n const dayName = dayNames[dateObj.getDay()];\n allDayData.push({ date: item.date, value: item.value, dayName });\n if (dayOfWeekCounts[dayName]) {\n dayOfWeekCounts[dayName].total += item.value;\n dayOfWeekCounts[dayName].count += 1;\n }\n });\n }\n });\n let peakDay = { date: \"\", dayName: \"\", value: 0 };\n if (allDayData.length > 0) peakDay = allDayData.reduce((max, cur) => cur.value > max.value ? cur : max);\n let mostActiveDay = { dayName: \"\", count: 0, average: 0 };\n Object.entries(dayOfWeekCounts).forEach(([dayName, stats]) => {\n if (stats.count > 0) {\n const avg = stats.total / stats.count;\n if (avg > mostActiveDay.average) mostActiveDay = { dayName, count: stats.count, average: Math.round(avg) };\n }\n });\n return { peakDay, mostActiveDay };\n }, [chartType, calendarheatmapData, selectedFilters, selectedCalendarHeatmapProject]);\n const formatPeakDate = (dateStr) => {\n if (!dateStr) return \"Wed, 12 Jun\";\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", { weekday: \"short\", month: \"short\", day: \"numeric\" });\n } catch {\n return \"Wed, 12 Jun\";\n }\n };\n const currentBulletData = (0, import_react17.useMemo)(() => {\n if (!bulletData) return null;\n const year = localFilters.SelectYear || \"2026\";\n const month = localFilters.SelectMonth || \"January\";\n const type = localFilters.SelectType || \"Sales\";\n const yearData = bulletData[year];\n if (yearData) {\n const typeData = yearData[type];\n if (typeData) {\n const monthData = typeData[month];\n if (monthData?.bullets) return { title: monthData.title || bulletData.title, bullets: monthData.bullets };\n }\n }\n return { title: bulletData.title, bullets: bulletData.bullets };\n }, [bulletData, selectedFilters]);\n const currentKPIData = (0, import_react17.useMemo)(() => {\n if (chartType !== \"kpi\" || !kpiData) return null;\n const kpiKey = selectedFilters[\"SelectKPI\"];\n if (!kpiKey) return kpiData[Object.keys(kpiData)[0]] || null;\n return kpiData[kpiKey] || null;\n }, [chartType, kpiData, selectedFilters]);\n const renderChart = () => {\n switch (chartType) {\n case \"pie\":\n case \"doughnut\":\n case \"line\":\n case \"area\":\n case \"bar\":\n if (currentData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(PieLineBarChart, { chartType, data: currentData });\n return null;\n case \"bullet\":\n if (currentBulletData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(BulletChart, { title: currentBulletData.title, bullets: currentBulletData.bullets });\n return null;\n case \"gauge\": {\n if (gaugeData) {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n let currentGauge = gaugeData.gauges || [];\n if (gaugeData[sy]?.[sm]) currentGauge = gaugeData[sy][sm];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GaugeChart, { title: \"Performance Metrics\", gauges: currentGauge });\n }\n return null;\n }\n case \"gantt\": {\n if (currentGanttData) {\n const month = selectedFilters[\"SelectMonth\"] || \"Jan - Feb\";\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GanttChart, { data: currentGanttData, selectedYear: year, selectedMonth: month, selectedProject: selectedGanttProject, onProjectChange: setSelectedGanttProject });\n }\n return null;\n }\n case \"calendarheatmap\": {\n if (calendarheatmapData?.[selectedCalendarHeatmapProject]) {\n const year = selectedFilters[\"SelectYear\"] || \"2026\";\n const type = selectedFilters[\"SelectType\"] || \"Development\";\n const projectData = calendarheatmapData[selectedCalendarHeatmapProject];\n const yearData = projectData[year];\n if (!yearData?.[type]) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CalendarHeatmapChart, { data: yearData[type], selectedProject: selectedCalendarHeatmapProject, selectedYear: year, selectedType: type, onProjectChange: setSelectedCalendarHeatmapProject, calendarheatmapData });\n }\n return null;\n }\n case \"horizontalbar\": {\n if (!horizontalBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const sp = selectedFilters[\"SelectType\"] || \"Product 1\";\n const yearData = horizontalBarData[sy];\n const monthData = yearData?.[sm];\n const productData = monthData?.[sp];\n const xAxisConfig = horizontalBarData.xAxis?.[sy];\n const bars = productData ? [\n { name: \"Revenue\", value: productData.Revenue, color: \"rgba(23,97,163,1)\" },\n { name: \"Profit\", value: productData.Profit, color: \"rgba(70,194,155,1)\" },\n { name: \"Cost\", value: productData.Cost, color: \"rgba(47,164,169,1)\" }\n ] : [];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(HorizontalBarChart, { title: horizontalBarData.title, bars, selectedYear: sy, selectedMonth: sm, selectedType: sp, xAxisConfig, topPerformer: currentHorizontalBarTopPerformer });\n }\n case \"columnchart\": {\n if (!columnChartData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const yearData = columnChartData?.[sy];\n const typeData = yearData?.[sm]?.[st] || [];\n const yAxisConfig = columnChartData.yAxis?.[sy];\n const columns = typeData.map((item) => ({ name: item.name, value: item.value, gradient: item.gradient || \"linear-gradient(180deg, rgba(77,175,131,1) 0%, rgba(23,97,163,1) 100%)\" }));\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ColumnChart, { title: columnChartData.title, columns, selectedYear: sy, selectedMonth: sm, selectedType: st, yAxisConfig });\n }\n case \"lollipop\": {\n if (!lollipopData) return null;\n const ly = selectedFilters[\"SelectYear\"] || \"2026\";\n const lm = selectedFilters[\"SelectMonth\"] || \"January\";\n const lc = selectedFilters[\"SelectType\"] || \"Category A\";\n const lo = selectedFilters[\"SelectOrientation\"] || \"horizontal\";\n const lYearData = lollipopData[ly] || {};\n const lCatData = lYearData?.[lm]?.[lc] || [];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(LollipopChart, { title: lollipopData.title, items: lCatData, selectedYear: ly, selectedMonth: lm, selectedCategory: lc, orientation: lo });\n }\n case \"kpi\":\n if (currentKPIData) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(KPIChart, { data: currentKPIData });\n return null;\n case \"riskgauge\": {\n if (riskGaugeData) {\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Credit Score\";\n let currentRiskGauges = riskGaugeData.gauges || [];\n if (riskGaugeData[sy]?.[sm]?.[st]) currentRiskGauges = riskGaugeData[sy][sm][st];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RiskGaugeChart, { title: \"KPI Risk Assessment Metrics\", gauges: currentRiskGauges });\n }\n return null;\n }\n case \"groupbar\": {\n if (!groupBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const groups = groupBarData?.[sy]?.[sm] || [];\n const yAxisConfig = groupBarData.yAxis?.[sy];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GroupBarChart, { title: groupBarData.title, groups, legends: groupBarData.legends, selectedYear: sy, selectedMonth: sm, yAxisConfig });\n }\n case \"stackbar\": {\n if (!stackBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm = selectedFilters[\"SelectMonth\"] || \"January\";\n const sw = selectedFilters[\"SelectWeek\"] || \"Week 1\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = stackBarData?.[sy]?.[sm]?.[sw]?.[st] || [];\n const yAxisConfig = stackBarData.yAxis?.[sy];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StackBarChart, { title: stackBarData.title, data: typeData, legends: stackBarData.legends, selectedYear: sy, selectedMonth: sm, selectedWeek: sw, selectedType: st, yAxisConfig, allData: stackBarData });\n }\n default:\n return null;\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"min-h-screen bg-white\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"bg-white p-4 sm:px-6 md:px-8\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-wrap gap-2\", children: chartTypes.map((type) => {\n const isActive = chartType === type;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => {\n setChartType(type);\n onChartTypeChange?.(type);\n },\n \"aria-pressed\": isActive,\n className: `\n relative px-4 py-2 text-xs font-medium transition-all duration-200 rounded-full outline-none border cursor-pointer\n sm:px-6 sm:py-2.5 sm:text-sm\n focus-visible:shadow-[0_0_0_2px_rgba(23,97,163,0.35)]\n ${isActive ? \"text-white shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] border-[rgba(23,97,163,0.45)] bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)]\" : \"text-[rgba(55,65,81,1)] border-transparent bg-transparent hover:border-[rgba(23,97,163,0.25)] hover:bg-[rgba(23,97,163,0.05)]\"}\n `,\n children: tabLabel(type)\n },\n type\n );\n }) }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"p-4 relative z-50 sm:px-6 md:px-8\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex gap-3 items-end flex-wrap relative sm:gap-4\", children: [\n currentFilters.map((filter, index) => {\n const options = filter.options.map((opt) => ({ key: opt, value: opt }));\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"div\",\n {\n className: \"relative\",\n style: { zIndex: 50 + (currentFilters.length - index) },\n children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n ChartDropdown,\n {\n options,\n value: localFilters[filter.id],\n onSelect: (val) => {\n const updated = { ...localFilters, [filter.id]: String(val) };\n setLocalFilters(updated);\n },\n variant: \"mahatiFilter\",\n label: filter.label\n }\n )\n },\n filter.id\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n \"button\",\n {\n type: \"button\",\n onClick: () => {\n onApplyFilters?.(localFilters);\n onFiltersChange(localFilters);\n },\n className: \"w-[77px] h-[30px] rounded border border-[rgba(23,97,163,1)] bg-gradient-to-r from-[rgba(23,97,163,1)] to-[rgba(77,175,131,1)] text-white text-sm font-medium cursor-pointer transition-opacity hover:opacity-90\",\n children: \"Apply\"\n }\n )\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"p-4 overflow-y-visible sm:px-6 md:px-8\", children: [\n isPieFamily && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-visible sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center justify-end mb-4\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuDotsButton, {}) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-48 p-2 rounded-2xl sm:h-56 md:h-64\", children: renderChart() }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"mt-4 flex flex-col gap-2 text-sm sm:mt-6 sm:gap-3\", children: details.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"w-4 h-2 rounded-sm flex-shrink-0 sm:w-5 sm:h-2.5\", style: { backgroundColor: colorToClass(item.color) } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(55,65,81,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: item.label })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-semibold text-black text-xs ml-2 sm:text-sm\", children: item.value })\n ] }, idx)) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-base font-semibold text-[rgba(17,24,39,1)] mb-4 sm:text-lg sm:mb-6\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-3 sm:gap-5\", children: details.map((item, idx) => {\n const statusColors = item.status ? getStatusColors(item.status) : null;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"inline-block flex-shrink-0 w-[18px] h-[10px] rounded-sm\", style: { backgroundColor: colorToClass(item.color) } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-semibold text-[rgba(17,24,39,1)] text-xs overflow-hidden text-ellipsis whitespace-nowrap sm:text-sm\", children: item.label }),\n item.status && statusColors && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center justify-center w-12 h-4 rounded px-1 py-0.5\", style: { backgroundColor: statusColors.backgroundColor }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-[Poppins,sans-serif] font-semibold whitespace-nowrap text-[6px]\", style: { color: statusColors.textColor }, children: item.status }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-0.5 line-clamp-2 sm:text-xs\", children: item.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-bold text-[rgba(17,24,39,1)] text-xs ml-2 sm:text-sm\", children: item.value })\n ] }, idx);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 md:col-span-2 lg:col-span-1 sm:gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] mt-3 sm:text-[30px] sm:mt-4\", children: quickStats.totalVolume.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: `text-xs font-medium mt-1 sm:text-sm ${quickStats.totalVolume.change.startsWith(\"+\") ? \"text-[rgba(22,163,74,1)]\" : \"text-[rgba(220,38,38,1)]\"}`, children: quickStats.totalVolume.change }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-2 sm:text-xs\", children: quickStats.totalVolume.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Transactions\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] mt-3 sm:text-[30px] sm:mt-4\", children: quickStats.transactions.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-2 sm:text-xs\", children: quickStats.transactions.description })\n ] })\n ] })\n ] }),\n chartType === \"bullet\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { children: currentBulletData?.bullets.map((bullet, idx) => {\n const percentage = Math.round(bullet.achieved / bullet.target * 100);\n const getBadgeBg = (name) => {\n const n = name.toLowerCase();\n if (n.includes(\"revenue\")) return \"rgba(70,194,155,0.15)\";\n if (n.includes(\"profit\")) return \"rgba(239,68,68,0.15)\";\n if (n.includes(\"customer\")) return \"rgba(23,97,163,0.15)\";\n return \"rgba(229,231,235,1)\";\n };\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between items-center py-3 not-last:border-b border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-sm font-medium text-[rgba(17,24,39,1)]\", children: bullet.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs text-[rgba(107,114,128,1)]\", children: [\n bullet.achieved.toLocaleString(),\n \" / \",\n bullet.target.toLocaleString()\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"px-2 py-1 rounded text-sm font-medium\", style: { backgroundColor: getBadgeBg(bullet.name) }, children: [\n percentage,\n \"%\"\n ] })\n ] }, idx);\n }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 pt-4 mt-4 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-4 h-4 rounded-full bg-[rgba(96,165,250,1)] flex items-center justify-center flex-shrink-0 mt-0.5\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-bold text-white\", children: \"i\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"p\", { className: \"text-xs text-[rgba(107,114,128,1)] m-0 leading-relaxed\", children: [\n \"Suggested Actions: \",\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"font-semibold text-[rgba(17,24,39,1)]\", children: \"Optimizing pricing or reduce operational costs.\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n QuickInsightsCard,\n {\n totalVolume: \"$33,850.00\",\n peakIconSrc: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon),\n peakDate: \"Wed, 12 Jun\",\n peakEvents: \"5,600 events\",\n calendarIconSrc: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon),\n activeDayLabel: \"Most Active Day\",\n activeDayValue: \"Wednesday\",\n activeAvg: \"Avg 920 / day\",\n dateLabel: (/* @__PURE__ */ new Date()).toLocaleDateString(\"en-US\", { month: \"long\", year: \"numeric\" })\n }\n )\n ] })\n ] }),\n chartType === \"gauge\" && gaugeData && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n const sy = localFilters[\"SelectYear\"] || \"2026\";\n const sm2 = localFilters[\"SelectMonth\"] || \"January\";\n let currentGauge = gaugeData.gauges?.length > 0 ? gaugeData.gauges[0] : null;\n if (gaugeData[sy]?.[sm2]?.length > 0) currentGauge = gaugeData[sy][sm2][0];\n if (!currentGauge) return null;\n const gauge = currentGauge;\n const dailyAvgNeeded = Math.round(gauge.value / 30);\n const currentPace = 360;\n const daysRemaining = 8;\n const yearNum = parseInt(sy);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const monthIndex = monthNames.indexOf(sm2);\n const lastDayOfMonth = new Date(yearNum, monthIndex + 1, 0);\n const lastDay = lastDayOfMonth.getDate();\n const lastDayWeekday = lastDayOfMonth.getDay();\n let lastFriday = lastDayWeekday === 5 ? lastDay : lastDayWeekday < 5 ? lastDay - (lastDayWeekday + 2) : lastDay - 1;\n const formattedDate = new Date(yearNum, monthIndex, lastFriday).toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\" });\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: \"Goal Health\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-medium text-[rgba(46,158,120,1)]\", children: \"On Track\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-4 h-4 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-4 mb-4\", children: [[\"Current Pace\", `${currentPace} / day`], [\"Required Pace\", `${dailyAvgNeeded} / day`], [\"Days Remaining\", `${daysRemaining} days`], [\"Expected Finish\", formattedDate]].map(([label, value]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mb-1\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: value })\n ] }, label)) })\n ] });\n })(),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\n QuickInsightsCard,\n {\n totalVolume: \"$33,850.00\",\n peakIconSrc: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon),\n peakDate: \"Wed, 12 Jun\",\n peakEvents: \"5,600 events\",\n calendarIconSrc: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon),\n activeDayLabel: \"Most Active Day\",\n activeDayValue: \"Wednesday\",\n activeAvg: \"Avg 920 / day\",\n dateLabel: (/* @__PURE__ */ new Date()).toLocaleDateString(\"en-US\", { month: \"long\", year: \"numeric\" })\n }\n )\n ] })\n ] }),\n chartType === \"riskgauge\" && riskGaugeData && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n const sy = localFilters[\"SelectYear\"] || \"2026\";\n const sm2 = localFilters[\"SelectMonth\"] || \"January\";\n const st = localFilters[\"SelectType\"] || \"Credit Score\";\n let currentRiskGauge = riskGaugeData.gauges?.length > 0 ? riskGaugeData.gauges[0] : null;\n if (riskGaugeData[sy]?.[sm2]?.[st]?.length > 0) currentRiskGauge = riskGaugeData[sy][sm2][st][0];\n if (!currentRiskGauge) return null;\n const gauge = currentRiskGauge;\n const maxScore = gauge.max || 100;\n const dailyAvgNeeded = Math.round(gauge.score / 30);\n const currentPace = Math.round(gauge.score / 20);\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: \"Risk Health\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-medium text-[rgba(46,158,120,1)]\", children: \"On Track\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-4 h-4 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-4\", children: [[\"Current Pace\", `${currentPace} / day`], [\"Required Pace\", `${dailyAvgNeeded} / day`], [\"Days Remaining\", \"8 days\"], [\"Max Score\", String(maxScore)]].map(([label, value]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mb-1\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)]\", children: value })\n ] }, label)) })\n ] });\n })(),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-[276px] h-[191px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"absolute top-[17px] left-[19px] right-[17px] flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium\", children: `${selectedFilters[\"SelectYear\"] || \"2026\"} : ${selectedFilters[\"SelectMonth\"] || \"January\"}` })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[57px] left-[18px] text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Risk Score\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[80px] left-[18px] text-black font-[Poppins,sans-serif] text-lg font-semibold\", children: riskGaugeData?.[selectedFilters[\"SelectYear\"] || \"2026\"]?.[selectedFilters[\"SelectMonth\"] || \"January\"]?.[selectedFilters[\"SelectType\"] || \"Credit Score\"]?.[0]?.score || 0 }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[119px] left-[19px] right-[19px] h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[19px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon), alt: \"\", className: \"absolute top-1 left-1 w-3 h-3 object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[48px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Peak Performance\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[48px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: \"N/A\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[48px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"No data\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[164px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon), alt: \"\", className: \"absolute top-1 left-1 w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[193px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Assessment Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[193px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: \"Wednesday\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[193px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Avg Score: 0\" })\n ] })\n ] })\n ] }),\n chartType === \"gantt\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full overflow-hidden lg:grid-cols-[minmax(0,1fr)_minmax(0,205px)] lg:gap-1 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-x-auto sm:p-3 sm:min-h-[400px] lg:overflow-x-hidden lg:p-[22px_30px_55px_30px] lg:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col min-w-[650px] w-full lg:min-w-0\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 w-full min-w-0 lg:max-w-[205px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] max-h-[400px] overflow-y-auto sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sticky top-0 bg-[rgba(241,247,248,1)] pb-2 sm:text-sm sm:mb-4\", children: \"Quick Insights - All Titles\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[9px] text-[rgba(75,85,99,1)] mb-3 sticky top-5 bg-[rgba(241,247,248,1)] pb-1 sm:text-[10px]\", children: [\n \"Showing data for: \",\n selectedGanttProject\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: currentGanttData?.tasks.map((task) => {\n const taskColor = GANTT_COLORS[task.color] || GANTT_COLORS.blue;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pb-2 border-b border-[rgba(229,231,235,1)] last:border-none\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-3 h-3 rounded-full flex-shrink-0\", style: { background: taskColor } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-medium text-[rgba(17,24,39,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: task.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[8px] text-[rgba(107,114,128,1)] mt-0.5\", children: [\n task.progress,\n \"% complete\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[8px] font-semibold px-2 py-0.5 rounded whitespace-nowrap\", style: { backgroundColor: getStatusColors(task.status).backgroundColor, color: getStatusColors(task.status).textColor }, children: task.status })\n ] }, task.id);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Project Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(75,85,99,1)] mb-2 sm:text-[10px]\", children: \"Overall Status\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(254,242,242,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(220,38,38,1)] text-[10px] font-semibold sm:text-xs\", children: \"Overdue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"Overdue\").length || 0 })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(239,246,255,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(37,99,235,1)] text-[10px] font-semibold sm:text-xs\", children: \"In Progress\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"In Progress\").length || 0 })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-1 gap-2 mt-2\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"bg-[rgba(240,253,244,1)] p-2 rounded\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(22,163,74,1)] text-[10px] font-semibold sm:text-xs\", children: \"On Target\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-bold text-[rgba(17,24,39,1)] sm:text-lg\", children: currentGanttData?.tasks.filter((t) => t.status === \"On Target\").length || 0 })\n ] }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)] mt-2 sm:text-[10px] sm:mt-3\", children: (() => {\n if (!currentGanttData?.tasks?.length) return \"Expected by 25 Feb 2025\";\n const lastTask = currentGanttData.tasks[currentGanttData.tasks.length - 1];\n const [day, month] = lastTask.endDate.split(\"/\");\n const monthNames = { \"01\": \"Jan\", \"02\": \"Feb\", \"03\": \"Mar\", \"04\": \"Apr\", \"05\": \"May\", \"06\": \"Jun\", \"07\": \"Jul\", \"08\": \"Aug\", \"09\": \"Sep\", \"10\": \"Oct\", \"11\": \"Nov\", \"12\": \"Dec\" };\n return `Expected by ${day} ${monthNames[month] || \"Jan\"} ${selectedFilters[\"SelectYear\"] || \"2026\"}`;\n })() })\n ] })\n ] })\n ] })\n ] }),\n chartType === \"calendarheatmap\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full overflow-hidden lg:grid-cols-[minmax(0,1fr)_minmax(0,280px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-x-auto lg:overflow-x-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col min-w-[750px] w-full lg:min-w-0\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-3 w-full min-w-0 lg:max-w-[280px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Activity Legend\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2\", children: [[\"rgba(154,219,255,1)\", \"<1K: Low activity\"], [\"rgba(102,194,241,1)\", \"1K - 3K: Moderate activity\"], [\"rgba(43,160,209,1)\", \"3K - 5K: High activity\"], [\"rgba(23,97,163,1)\", \">5K: Very high activity\"]].map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-4 h-4 rounded-sm flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] whitespace-nowrap sm:text-xs\", children: label })\n ] }, label)) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full max-w-[280px] min-h-[210px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] p-3 flex flex-col gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[11px] font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium text-right\", children: [\n selectedFilters[\"SelectYear\"] || \"2026\",\n \", \",\n selectedCalendarHeatmapProject,\n \", \",\n selectedFilters[\"SelectType\"] || \"Development\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[11px] font-semibold\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[17px] font-semibold mt-2\", children: [\n \"$\",\n quickStats.totalVolume.value\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[18px] h-[18px] rounded bg-[rgba(23,97,163,1)] flex items-center justify-center flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(performancePeakIcon, FALLBACK_ICONS.performancePeakIcon), alt: \"\", className: \"w-[11px] h-[11px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1 flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: \"Peak Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[9px] font-semibold whitespace-nowrap\", children: formatPeakDate(calendarPeakAndActiveDay.peakDay.date) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: calendarPeakAndActiveDay.peakDay.value ? `${calendarPeakAndActiveDay.peakDay.value.toLocaleString()} events` : \"5,600 events\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2 w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[18px] h-[18px] rounded bg-[rgba(23,97,163,1)] flex items-center justify-center flex-shrink-0\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: getIconSrc(calendarIcon, FALLBACK_ICONS.calendarIcon), alt: \"\", className: \"w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-1 flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: \"Most Active Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-[9px] font-semibold whitespace-nowrap\", children: calendarPeakAndActiveDay.mostActiveDay.dayName || \"Wednesday\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[7.5px] font-medium whitespace-nowrap\", children: [\n \"Avg \",\n calendarPeakAndActiveDay.mostActiveDay.average || 920,\n \" / day\"\n ] })\n ] })\n ] })\n ] })\n ] })\n ] }),\n chartType === \"horizontalbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Demo Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: [[\"rgba(23,97,163,1)\", \"Revenue\"], [\"rgba(70,194,155,1)\", \"Profit\"], [\"rgba(47,164,169,1)\", \"Cost\"]].map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded bg-transparent flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] }),\n currentHorizontalBarTopPerformer && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(TopPerformerCard, { performer: currentHorizontalBarTopPerformer })\n ] })\n ] }),\n chartType === \"columnchart\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex items-center bg-[rgba(77,175,131,0.15)] px-3 py-1 rounded-xl text-[10px] font-semibold text-[rgba(77,175,131,1)] font-[Poppins,sans-serif]\", children: \"Leading\" })\n ] }),\n (() => {\n if (!columnChartData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = columnChartData?.[sy]?.[sm2]?.[st] || [];\n if (!typeData.length) return null;\n const topPerformer = typeData.reduce((max, item) => item.value > max.value ? item : max, typeData[0]);\n const totalRevenue = typeData.reduce((sum, item) => sum + item.value, 0);\n const contribution = totalRevenue > 0 ? Math.round(topPerformer.value / totalRevenue * 100) : 0;\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevTypeData = columnChartData?.[prevYear]?.[prevMonth]?.[st] || [];\n const prevTop = prevTypeData.find((i) => i.name === topPerformer.name);\n const growth = prevTop?.value > 0 ? Math.round((topPerformer.value - prevTop.value) / prevTop.value * 100) : 14;\n const rank = [...typeData].sort((a, b) => b.value - a.value).findIndex((i) => i.name === topPerformer.name) + 1;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-base font-semibold text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] mb-5\", children: topPerformer.name }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"grid grid-cols-2 gap-3\", children: [[\"Revenue\", topPerformer.value >= 1e3 ? `${(topPerformer.value / 1e3).toFixed(1)}k` : topPerformer.value, void 0], [\"Contribution\", `${contribution}%`, void 0], [\"Growth\", `${growth >= 0 ? \"+\" : \"\"}${growth}%`, growth >= 0 ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\"], [\"Rank\", `#${rank}`, void 0]].map(([label, value, color]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold\", style: { color: color || \"rgba(17,24,39,1)\" }, children: String(value) })\n ] }, String(label))) })\n ] });\n })()\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] flex flex-col justify-center sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between items-center mb-10\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: [\n selectedFilters[\"SelectMonth\"] || \"January\",\n \" \",\n selectedFilters[\"SelectYear\"] || \"2026\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-8 font-[Poppins,sans-serif]\", children: \"Total Volume\" }),\n (() => {\n if (!columnChartData) return null;\n const sy = localFilters[\"SelectYear\"] || \"2026\";\n const sm2 = localFilters[\"SelectMonth\"] || \"January\";\n const st = localFilters[\"SelectType\"] || \"Category A\";\n const typeData = columnChartData?.[sy]?.[sm2]?.[st] || [];\n const currentTotal = typeData.reduce((sum, item) => sum + item.value, 0);\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevTypeData = columnChartData?.[prevYear]?.[prevMonth]?.[st] || [];\n const prevTotal = prevTypeData.reduce((sum, item) => sum + item.value, 0);\n const pctChange = prevTotal > 0 ? Math.round((currentTotal - prevTotal) / prevTotal * 100) : 0;\n const isIncrease = pctChange >= 0;\n const bgColor = isIncrease ? \"rgba(209,250,229,1)\" : \"rgba(254,226,226,1)\";\n const textColor = isIncrease ? \"rgba(5,150,105,1)\" : \"rgba(220,38,38,1)\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-2xl font-bold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif] tracking-tight\", children: [\n \"$\",\n currentTotal.toLocaleString(\"en-US\", { minimumFractionDigits: 2, maximumFractionDigits: 2 })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"inline-flex items-center gap-1 px-2.5 py-1.5 rounded-md flex-shrink-0\", style: { background: bgColor }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: isIncrease ? getIconSrc(increaseIcon, FALLBACK_ICONS.increaseIcon) : getIconSrc(decreaseIcon, FALLBACK_ICONS.decreaseIcon), alt: isIncrease ? \"increase\" : \"decrease\", className: \"w-3.5 h-3.5 object-contain\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs font-semibold font-[Poppins,sans-serif]\", style: { color: textColor }, children: [\n Math.abs(pctChange),\n \"%\"\n ] })\n ] })\n ] });\n })()\n ] })\n ] })\n ] }),\n chartType === \"groupbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n if (!groupBarData) return null;\n const legends = groupBarData.legends || [];\n const defaultLegends = [[\"rgba(23,97,163,1)\", \"Revenue\"], [\"rgba(77,175,131,1)\", \"Profit\"], [\"rgba(220,38,38,1)\", \"Loss\"], [\"rgba(47,164,169,1)\", \"Cost\"]];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col h-[130px] gap-4 sm:gap-5\", children: legends.length > 0 ? legends.map((legend, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: legend.color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: legend.label })\n ] }, legend.key || i)) : defaultLegends.map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] });\n })(),\n (() => {\n if (!groupBarData) return null;\n const sy = localFilters[\"SelectYear\"] || \"2026\";\n const sm2 = localFilters[\"SelectMonth\"] || \"January\";\n const groups = groupBarData?.[sy]?.[sm2] || [];\n if (!groups.length) return null;\n const legends = groupBarData.legends || [];\n const getColor = (key, fallback) => legends.find((l) => l.key === key)?.color || fallback;\n const revenueColor = getColor(\"revenue\", \"rgba(37,99,235,1)\");\n const profitColor = getColor(\"profit\", \"rgba(77,175,131,1)\");\n const lossColor = getColor(\"loss\", \"rgba(220,38,38,1)\");\n const getProfitOrLoss = (g) => g.profitOrLoss !== void 0 && g.profitOrLoss !== null ? g.profitOrLoss : g.revenue - g.cost;\n const topPerformer = groups.reduce((max, item) => item.revenue > max.revenue ? item : max, groups[0]);\n const topPL = getProfitOrLoss(topPerformer);\n const isTopProfitable = topPL >= 0;\n const monthNames = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n const ci = monthNames.indexOf(sm2);\n const prevMonth = ci > 0 ? monthNames[ci - 1] : \"December\";\n const prevYear = ci > 0 ? sy : String(Number(sy) - 1);\n const prevGroups = groupBarData?.[prevYear]?.[prevMonth] || [];\n const prevTop = prevGroups.find((i) => i.name === topPerformer.name);\n const pctChange = prevTop && prevTop.revenue > 0 ? Math.round((topPerformer.revenue - prevTop.revenue) / prevTop.revenue * 100) : 12;\n const isIncrease = pctChange >= 0;\n const lossProducts = groups.filter((i) => getProfitOrLoss(i) < 0);\n const needsFocus = lossProducts.length > 0 ? lossProducts.reduce((max, i) => getProfitOrLoss(i) < getProfitOrLoss(max) ? i : max, lossProducts[0]) : groups.reduce((min, i) => i.revenue < min.revenue ? i : min, groups[0]);\n const needsFocusHasLoss = getProfitOrLoss(needsFocus) < 0;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-[10px] font-semibold\", children: [\n Math.abs(pctChange),\n \"%\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: topPerformer.name })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Revenue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold\", style: { color: revenueColor }, children: [\n topPerformer.revenue,\n \"k\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: isTopProfitable ? \"Profit\" : \"Loss\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold\", style: { color: isTopProfitable ? profitColor : lossColor }, children: [\n Math.abs(topPL),\n \"k\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: [\n needsFocus.name,\n \" \",\n needsFocusHasLoss ? \"(Loss)\" : \"(Low Revenue)\"\n ] })\n ] })\n ] });\n })()\n ] })\n ] }),\n chartType === \"stackbar\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n (() => {\n if (!stackBarData) return null;\n const legends = stackBarData.legends || [];\n const defaultLegends = [[\"rgba(37,99,235,1)\", \"Aggregating Amount\"], [\"rgba(34,197,94,1)\", \"Outstanding Amount\"], [\"rgba(239,68,68,1)\", \"Write-Off Amount\"]];\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Legends\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: legends.length > 0 ? legends.map((l, i) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: l.color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: l.label })\n ] }, l.key || i)) : defaultLegends.map(([color, label]) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-[14px] h-3 rounded flex-shrink-0\", style: { backgroundColor: color } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: label })\n ] }, label)) })\n ] });\n })(),\n (() => {\n if (!stackBarData) return null;\n const sy = selectedFilters[\"SelectYear\"] || \"2026\";\n const sm2 = selectedFilters[\"SelectMonth\"] || \"January\";\n const sw = selectedFilters[\"SelectWeek\"] || \"Week 1\";\n const st = selectedFilters[\"SelectType\"] || \"Category A\";\n const typeData = stackBarData?.[sy]?.[sm2]?.[sw]?.[st] || [];\n if (!typeData.length) return null;\n const topPerformer = typeData.reduce((max, day) => {\n const mt = max.aggregating + max.outstanding + max.writeOff;\n const ct = day.aggregating + day.outstanding + day.writeOff;\n return ct > mt ? day : max;\n }, typeData[0]);\n const topTotal = topPerformer.aggregating + topPerformer.outstanding + topPerformer.writeOff;\n const needsFocus = typeData.reduce((min, day) => {\n const mt2 = min.aggregating + min.outstanding + min.writeOff;\n const ct2 = day.aggregating + day.outstanding + day.writeOff;\n return ct2 < mt2 ? day : min;\n }, typeData[0]);\n const weekNum = parseInt(sw.replace(\"Week \", \"\"));\n let percentageChange = 12, isIncrease = true;\n const prevWeek = weekNum > 1 ? `Week ${weekNum - 1}` : null;\n if (prevWeek) {\n const prevTypeData = stackBarData?.[sy]?.[sm2]?.[prevWeek]?.[st] || [];\n const prevDay = prevTypeData.find((d) => d.day === topPerformer.day);\n if (prevDay) {\n const pt = prevDay.aggregating + prevDay.outstanding + prevDay.writeOff;\n if (pt > 0) {\n const ch = (topTotal - pt) / pt * 100;\n percentageChange = Math.abs(Math.round(ch));\n isIncrease = ch >= 0;\n }\n }\n }\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"span\", { className: \"text-[10px] font-semibold\", children: [\n percentageChange,\n \"%\"\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: topPerformer.day })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Aggregating\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold text-[rgba(37,99,235,1)]\", children: [\n \"$\",\n topPerformer.aggregating\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Outstanding\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"text-sm font-semibold text-[rgba(34,197,94,1)]\", children: [\n \"$\",\n topPerformer.outstanding\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: needsFocus.day })\n ] })\n ] });\n })()\n ] })\n ] }),\n chartType === \"lollipop\" && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: (() => {\n const fid = currentFilters[currentFilters.length - 2]?.id;\n return currentFilters.find((f) => f.id === fid)?.label || \"Categories\";\n })() }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: (() => {\n const fid = currentFilters[currentFilters.length - 2]?.id;\n const filter = currentFilters.find((f) => f.id === fid);\n const colors = [\"rgba(37,99,235,1)\", \"rgba(16,185,129,1)\", \"rgba(245,158,11,1)\", \"rgba(239,68,68,1)\", \"rgba(147,51,234,1)\"];\n return (filter?.options || []).map((opt, idx) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-3.5 h-3.5 rounded-full flex-shrink-0\", style: { backgroundColor: colors[idx % colors.length] } }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] text-[rgba(55,65,81,1)] sm:text-xs\", children: opt })\n ] }, opt));\n })() })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: \"Monthly Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"button\", { className: \"w-5 h-5 flex items-center justify-center text-[rgba(156,163,175,1)] bg-transparent border-none cursor-pointer hover:text-[rgba(75,85,99,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"currentColor\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"4\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"8\", r: \"1\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"circle\", { cx: \"8\", cy: \"12\", r: \"1\" })\n ] }) })\n ] }),\n (() => {\n const f0 = currentFilters[0]?.id, f1 = currentFilters[1]?.id, f2 = currentFilters[2]?.id;\n const year = localFilters[f0] || currentFilters[0]?.options[0] || \"2026\";\n const month = localFilters[f1] || currentFilters[1]?.options[0] || \"January\";\n const category = localFilters[f2] || currentFilters[2]?.options[0] || \"Category A\";\n const yearData = lollipopData?.[year] || {};\n const catData = yearData?.[month]?.[category] || [];\n const bestItem = catData.length ? catData.reduce((max, i) => i.value > max.value ? i : max, catData[0]) : null;\n const lowestItem = catData.length ? catData.reduce((min, i) => i.value < min.value ? i : min, catData[0]) : null;\n const avg = catData.length ? Math.round(catData.reduce((s, i) => s + i.value, 0) / catData.length) : 0;\n const aboveAvg = catData.filter((i) => i.value > avg).length;\n const isPositive = aboveAvg > catData.length - aboveAvg;\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Best Product\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: bestItem?.label || \"N/A\" })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Lowest Product\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: lowestItem?.label || \"N/A\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex justify-between gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Average\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] font-[Poppins,sans-serif]\", children: avg })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] font-[Poppins,sans-serif] font-medium\", children: \"Trend\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: isPositive ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: isPositive ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-sm font-semibold font-[Poppins,sans-serif]\", children: isPositive ? \"Positive\" : \"Negative\" })\n ] })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 text-xs font-[Poppins,sans-serif]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(107,114,128,1)] font-medium\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[rgba(220,38,38,1)] font-semibold\", children: lowestItem?.label || \"N/A\" })\n ] })\n ] });\n })()\n ] })\n ] })\n ] }),\n chartType === \"kpi\" && currentKPIData && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full\", children: renderChart() }),\n (chartType === \"line\" || chartType === \"area\" || chartType === \"bar\") && !isPieFamily && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-1 gap-4 max-w-full lg:grid-cols-[minmax(0,1fr)_minmax(0,276px)] lg:gap-0 sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"w-full min-h-[350px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] overflow-hidden sm:p-[22px_30px_55px_30px] sm:min-h-[383px]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"h-full flex flex-col\", children: renderChart() }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex flex-col gap-4 w-full lg:max-w-[276px] sm:gap-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Details\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"flex flex-col gap-2 sm:gap-3\", children: details.map((item, idx) => {\n let bgColor = \"rgba(229,231,235,0.5)\";\n if (item.label === \"Revenue\") bgColor = \"rgba(70,194,155,0.15)\";\n else if (item.label === \"Profit\") bgColor = \"rgba(239,68,68,0.15)\";\n else if (item.label === \"New Customers\") bgColor = \"rgba(23,97,163,0.15)\";\n return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-start gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex-1 min-w-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"font-semibold text-[rgba(17,24,39,1)] text-[10px] overflow-hidden text-ellipsis whitespace-nowrap sm:text-xs\", children: item.label }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)] mt-0.5 line-clamp-2 sm:text-[10px]\", children: item.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"inline-flex items-center justify-center px-2 py-1 rounded text-[10px] font-bold text-[rgba(17,24,39,1)] whitespace-nowrap flex-shrink-0 sm:text-xs sm:px-2.5 sm:py-1.5\", style: { backgroundColor: bgColor }, children: item.value })\n ] }, idx);\n }) })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] mb-3 sm:text-sm sm:mb-4\", children: \"Quick Stats\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xl font-bold text-[rgba(17,24,39,1)] mt-2\", children: quickStats.totalVolume.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-1 sm:text-xs\", children: quickStats.totalVolume.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(31,41,55,1)] font-semibold text-xs sm:text-sm\", children: \"Transactions\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-xl font-bold text-[rgba(17,24,39,1)] mt-2\", children: quickStats.transactions.value }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)] mt-1 sm:text-xs\", children: quickStats.transactions.description })\n ] })\n ] })\n ] })\n ] })\n ] })\n ] });\n};\nMahatiChartAnalyticsWidget.displayName = \"MahatiChartAnalyticsWidget\";\nvar QuickInsightsCard = ({\n totalVolume,\n peakIconSrc,\n peakDate,\n peakEvents,\n calendarIconSrc,\n activeDayLabel,\n activeDayValue,\n activeAvg,\n dateLabel\n}) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-[276px] h-[191px] rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"absolute top-[17px] left-[19px] right-[17px] flex items-center justify-between\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Quick Insights\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[10px] font-medium\", children: dateLabel })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[57px] left-[18px] text-black font-[Poppins,sans-serif] text-xs font-semibold\", children: \"Total Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[80px] left-[18px] text-black font-[Poppins,sans-serif] text-lg font-semibold\", children: totalVolume }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[119px] left-[19px] right-[19px] h-px bg-[rgba(77,175,131,0.2)]\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[19px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: peakIconSrc, alt: \"\", className: \"absolute top-1 left-1 w-3 h-3 object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[48px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: \"Peak Day\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[48px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: peakDate }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[48px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: peakEvents }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[137px] left-[164px] w-5 h-5 rounded bg-[rgba(23,97,163,1)]\", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"img\", { src: calendarIconSrc, alt: \"\", className: \"absolute top-1 left-1 w-[10px] h-[10px] object-cover\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[134px] left-[193px] text-[rgba(23,97,163,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: activeDayLabel }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[146px] left-[193px] text-black font-[Poppins,sans-serif] text-[10px] font-semibold\", children: activeDayValue }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"absolute top-[161px] left-[193px] text-[rgba(94,94,94,1)] font-[Poppins,sans-serif] text-[8px] font-medium\", children: activeAvg })\n] });\nvar TopPerformerCard = ({ performer }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"w-full rounded-[10px] border border-[rgba(23,97,163,1)] bg-[rgba(241,247,248,1)] p-4 shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] sm:p-[29px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center justify-between mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"h3\", { className: \"text-xs font-semibold text-[rgba(17,24,39,1)] sm:text-sm\", children: \"Top Performer\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-1\", style: { color: performer.isIncrease ? \"rgba(46,158,120,1)\" : \"rgba(220,38,38,1)\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"svg\", { width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\", style: { transform: performer.isIncrease ? \"rotate(0deg)\" : \"rotate(180deg)\" }, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"path\", { d: \"M7 0L13.9282 13.5H0.0717969L7 0Z\", fill: \"currentColor\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[10px] font-semibold\", children: performer.change })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[10px] text-[rgba(107,114,128,1)]\", children: \"Category\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(17,24,39,1)] mb-3\", children: performer.name })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"grid grid-cols-2 gap-3 mb-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Revenue\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(37,99,235,1)]\", children: performer.revenue })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Profit\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"div\", { className: \"text-sm font-semibold text-[rgba(77,175,131,1)]\", children: performer.profit })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(\"div\", { className: \"flex items-center gap-2 pt-3 border-t border-[rgba(229,231,235,1)]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-[9px] text-[rgba(107,114,128,1)]\", children: \"Needs Focus:\" }),\n /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(\"span\", { className: \"text-xs font-semibold text-[rgba(220,38,38,1)]\", children: performer.needsFocus })\n ] })\n] });\n\n// src/components/Tooltip.tsx\nvar import_react18 = __toESM(require(\"react\"));\nvar import_jsx_runtime26 = require(\"react/jsx-runtime\");\nvar Tooltip2 = ({\n text,\n position = \"top\",\n children,\n variant = \"default\",\n className = \"\",\n textColor,\n backgroundColor,\n image,\n testId,\n animation\n}) => {\n const [visible, setVisible] = (0, import_react18.useState)(false);\n const [isReady, setIsReady] = (0, import_react18.useState)(false);\n const [showAnimation, setShowAnimation] = (0, import_react18.useState)(false);\n const [tooltipPosition, setTooltipPosition] = (0, import_react18.useState)({ top: 0, left: 0 });\n const [adjustedPosition, setAdjustedPosition] = (0, import_react18.useState)(position);\n const triggerRef = import_react18.default.useRef(null);\n const tooltipRef = import_react18.default.useRef(null);\n const hasContent = !!(text || image);\n const calculatePosition = () => {\n if (!triggerRef.current || !tooltipRef.current) return;\n const rect = triggerRef.current.getBoundingClientRect();\n const tooltipRect = tooltipRef.current.getBoundingClientRect();\n const scrollY = window.scrollY;\n const scrollX = window.scrollX;\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n let top = 0;\n let left = 0;\n let finalPosition = position;\n const offset = 12;\n const padding = 10;\n switch (position) {\n case \"top\":\n top = rect.top + scrollY - tooltipRect.height - offset;\n left = rect.left + scrollX + rect.width / 2 - tooltipRect.width / 2;\n if (rect.top < tooltipRect.height + offset + padding) {\n finalPosition = \"bottom\";\n top = rect.bottom + scrollY + offset;\n }\n break;\n case \"right\":\n top = rect.top + scrollY + rect.height / 2 - tooltipRect.height / 2;\n left = rect.right + scrollX + offset;\n if (rect.right + tooltipRect.width + offset + padding > viewportWidth) {\n finalPosition = \"left\";\n left = rect.left + scrollX - tooltipRect.width - offset;\n }\n break;\n case \"bottom\":\n top = rect.bottom + scrollY + offset;\n left = rect.left + scrollX + rect.width / 2 - tooltipRect.width / 2;\n if (rect.bottom + tooltipRect.height + offset + padding > viewportHeight) {\n finalPosition = \"top\";\n top = rect.top + scrollY - tooltipRect.height - offset;\n }\n break;\n case \"left\":\n top = rect.top + scrollY + rect.height / 2 - tooltipRect.height / 2;\n left = rect.left + scrollX - tooltipRect.width - offset;\n if (rect.left < tooltipRect.width + offset + padding) {\n finalPosition = \"right\";\n left = rect.right + scrollX + offset;\n }\n break;\n }\n if (left < padding) left = padding;\n else if (left + tooltipRect.width > viewportWidth - padding)\n left = viewportWidth - tooltipRect.width - padding;\n if (top < scrollY + padding) top = scrollY + padding;\n else if (top + tooltipRect.height > scrollY + viewportHeight - padding)\n top = scrollY + viewportHeight - tooltipRect.height - padding;\n setTooltipPosition({ top, left });\n setAdjustedPosition(finalPosition);\n setIsReady(true);\n };\n const showTooltip = () => {\n if (!hasContent) return;\n setIsReady(false);\n setVisible(true);\n requestAnimationFrame(() => calculatePosition());\n if (animation) {\n const delay = animation.triggerDelay || 100;\n setTimeout(() => setShowAnimation(true), delay);\n }\n };\n const hideTooltip = () => {\n setVisible(false);\n setIsReady(false);\n setShowAnimation(false);\n setAdjustedPosition(position);\n };\n import_react18.default.useEffect(() => {\n if (visible) {\n const handleUpdate = () => {\n requestAnimationFrame(calculatePosition);\n };\n window.addEventListener(\"scroll\", handleUpdate, { passive: true });\n window.addEventListener(\"resize\", handleUpdate);\n return () => {\n window.removeEventListener(\"scroll\", handleUpdate);\n window.removeEventListener(\"resize\", handleUpdate);\n };\n }\n }, [visible]);\n const renderTooltipContent = () => {\n if (image) {\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n \"img\",\n {\n src: image.src,\n alt: image.alt || \"Tooltip image\",\n width: image.width || 200,\n height: image.height || 150,\n loading: \"lazy\",\n className: \"max-w-full h-auto rounded object-cover block\"\n }\n );\n }\n return text;\n };\n const renderAnimation = () => {\n if (!animation || !showAnimation) return null;\n const AnimationComponent = animation.component;\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n AnimationComponent,\n {\n isActive: showAnimation,\n ...animation.props\n }\n );\n };\n if (!hasContent) return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children });\n const variantStyle = variant === \"default\" ? \"bg-gradient-to-r from-[#1761A3] to-[#4DAF83] text-white text-[11px]\" : \"bg-white/95 text-gray-700 border border-gray-200 text-[13px]\";\n return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref: triggerRef,\n className: `relative inline-block ${className}`,\n onMouseEnter: showTooltip,\n onMouseLeave: hideTooltip,\n onFocus: showTooltip,\n onBlur: hideTooltip,\n children: [\n children,\n renderAnimation(),\n /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(\n \"div\",\n {\n ref: tooltipRef,\n role: \"tooltip\",\n style: {\n top: tooltipPosition.top,\n left: tooltipPosition.left,\n color: textColor,\n background: backgroundColor\n },\n className: `\nfixed z-[99999]\nmax-w-[calc(100vw-16px)]\nmin-w-0\nbox-border\nfont-[Poppins]\nfont-medium\nrounded-[6px]\nwhitespace-normal\nbreak-words [overflow-wrap:anywhere]\nflex flex-wrap\ntransition-all duration-200\n${variantStyle}\n${visible && isReady ? \"opacity-100 visible scale-100\" : \"opacity-0 invisible scale-95 pointer-events-none\"}\n${image ? \"p-1\" : \"px-3 py-2\"}\n`,\n children: [\n renderTooltipContent(),\n variant === \"default\" && !image && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(\n \"div\",\n {\n className: \"absolute w-0 h-0 border-solid\",\n style: {\n ...adjustedPosition === \"top\" && {\n bottom: -6,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"6px 6px 0 6px\",\n borderColor: \"#1761A3 transparent transparent transparent\"\n },\n ...adjustedPosition === \"bottom\" && {\n top: -6,\n left: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"0 6px 6px 6px\",\n borderColor: \"transparent transparent #1761A3 transparent\"\n },\n ...adjustedPosition === \"left\" && {\n right: -6,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n borderWidth: \"6px 0 6px 6px\",\n borderColor: \"transparent transparent transparent #1761A3\"\n },\n ...adjustedPosition === \"right\" && {\n left: -6,\n top: \"50%\",\n transform: \"translateY(-50%)\",\n borderWidth: \"6px 6px 6px 0\",\n borderColor: \"transparent #1761A3 transparent transparent\"\n }\n }\n }\n )\n ]\n }\n )\n ]\n }\n );\n};\nTooltip2.displayName = \"Tooltip\";\n\n// src/components/ToastMessage.tsx\nvar import_react19 = __toESM(require(\"react\"));\nvar import_react_dom2 = __toESM(require(\"react-dom\"));\nvar import_jsx_runtime27 = require(\"react/jsx-runtime\");\nvar getStripGradient = (type) => {\n switch (type) {\n case \"success\":\n return \"linear-gradient(90deg, rgba(40, 167, 69, 1) 22.5%, rgba(58, 208, 125, 1) 130%)\";\n case \"error\":\n return \"linear-gradient(90deg, rgba(220, 53, 69, 1) 22.5%, rgba(183, 28, 28, 1) 130%)\";\n case \"warning\":\n return \"linear-gradient(90deg, rgba(245, 158, 11, 1) 22.5%, rgba(255, 191, 92, 1) 130%)\";\n case \"notification\":\n default:\n return \"linear-gradient(90deg, rgba(23, 97, 163, 1) 22.5%, rgba(77, 175, 131, 1) 130%)\";\n }\n};\nvar getGradient = (type) => {\n switch (type) {\n case \"success\":\n return \"linear-gradient(90deg, rgba(40, 167, 69, 1) 0%, rgba(58, 208, 125, 1) 100%)\";\n case \"error\":\n return \"linear-gradient(90deg, rgba(220, 53, 69, 1) 0%, rgba(183, 28, 28, 1) 100%)\";\n case \"warning\":\n return \"linear-gradient(90deg, rgba(245, 158, 11, 1) 0%, rgba(255, 191, 92, 1) 100%)\";\n case \"notification\":\n default:\n return \"linear-gradient(90deg, rgba(23, 97, 163, 1) 0%, rgba(77, 175, 131, 1) 100%)\";\n }\n};\nvar getTitleColor = (type) => {\n switch (type) {\n case \"success\":\n return \"rgba(40, 167, 69, 1)\";\n case \"error\":\n return \"rgba(220, 53, 69, 1)\";\n case \"warning\":\n return \"rgba(245, 158, 11, 1)\";\n case \"notification\":\n default:\n return \"rgba(23, 97, 163, 1)\";\n }\n};\nvar getIcon = (type, background) => {\n const style = { width: \"28px\", height: \"28px\", objectFit: \"contain\" };\n const altText = type.charAt(0).toUpperCase() + type.slice(1);\n if (background === \"transparent\") {\n switch (type) {\n case \"success\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/check-mark_2.png\", alt: altText, style });\n case \"error\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_2.png\", alt: altText, style });\n case \"warning\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1_1.png\", alt: altText, style });\n default:\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/notification_2.png\", alt: altText, style });\n }\n } else {\n switch (type) {\n case \"success\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/check-mark_1.png\", alt: altText, style });\n case \"error\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1.png\", alt: altText, style });\n case \"warning\":\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/danger_1.png\", alt: altText, style });\n default:\n return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"img\", { src: \"/icons/notification_1.png\", alt: altText, style });\n }\n }\n};\nvar ToastMessage = import_react19.default.forwardRef(\n ({\n type = \"notification\",\n title: customTitle,\n message,\n onClose,\n showClose = true,\n duration = 5e3,\n background = \"solid\",\n custom,\n action,\n className,\n testId,\n ...rest\n }, ref) => {\n const backgroundClass = background === \"transparent\" ? \"bg-white\" : \"\";\n const displayTitle = customTitle ?? type.charAt(0).toUpperCase() + type.slice(1);\n const hasActions = action && action.length > 0;\n (0, import_react19.useEffect)(() => {\n if (!onClose) return;\n if (duration <= 0) return;\n const timer = setTimeout(onClose, duration);\n return () => clearTimeout(timer);\n }, [duration, onClose]);\n const closeIconSrc = custom?.closeIconSrc || (background === \"transparent\" ? \"icons/close_copy_1.png\" : \"/icons/close.png\");\n const iconElement = custom?.iconSrc ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"img\",\n {\n src: custom.iconSrc,\n alt: type,\n style: {\n width: custom.iconWidth || \"28px\",\n height: custom.iconHeight || \"28px\",\n objectFit: \"contain\"\n }\n }\n ) : getIcon(type, background);\n const content = /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n style: {\n background: background === \"transparent\" ? \"#ffffff\" : getGradient(type)\n },\n className: `fixed top-[20px] right-[20px] w-[325px] rounded-[12px] shadow-md z-[9999] overflow-hidden flex \n${hasActions ? \"flex-col p-[10px]\" : \"flex-row items-center pl-[10px]\"} \n${backgroundClass}\n${className || \"\"}`,\n role: \"alert\",\n \"aria-live\": \"assertive\",\n ...rest,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"absolute left-[5px] top-0 w-[5px] h-full rounded-[20px_0_0_20px]\",\n style: { background: getStripGradient(type) }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\"div\", { className: \"flex items-center flex-1 min-h-[50px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"div\", { className: \"flex items-center justify-center w-[40px] h-[40px] mr-[12px] flex-shrink-0 z-[1]\", children: iconElement }),\n /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(\"div\", { className: \"flex-1 min-w-0 z-[1]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"font-semibold text-[16px] truncate\",\n style: {\n fontFamily: custom?.titleFontFamily || \"Poppins\",\n color: custom?.titleColor || (background === \"transparent\" ? getTitleColor(type) : \"white\")\n },\n children: displayTitle\n }\n ),\n message && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"div\",\n {\n className: \"text-[10px] mt-[2px] truncate\",\n style: {\n fontFamily: custom?.messageFontFamily || \"Poppins\",\n color: custom?.messageColor || (background === \"transparent\" ? \"#555\" : \"white\")\n },\n children: message\n }\n )\n ] }),\n showClose && onClose && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"button\",\n {\n onClick: onClose,\n \"aria-label\": \"Close toast\",\n className: \"ml-[8px] p-[4px] opacity-80 hover:opacity-100 flex-shrink-0\",\n children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"img\",\n {\n src: closeIconSrc,\n alt: \"Close\",\n style: {\n width: custom?.closeIconWidth || \"20px\",\n height: custom?.closeIconHeight || \"20px\",\n objectFit: \"contain\"\n }\n }\n )\n }\n )\n ] }),\n hasActions && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\"div\", { className: \"flex gap-[8px] mt-[10px] pl-[5px] justify-end\", children: action?.map((btn, index) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(\n \"button\",\n {\n onClick: btn.onClick,\n className: \"text-[12px] font-semibold px-[16px] py-[6px] rounded-[6px] transition-all active:scale-95\",\n children: btn.label\n },\n index\n )) })\n ]\n }\n );\n return import_react_dom2.default.createPortal(content, document.body);\n }\n);\nToastMessage.displayName = \"ToastMessage\";\n\n// src/components/ConfettiExplosion.tsx\nvar import_react20 = require(\"react\");\nvar import_jsx_runtime28 = require(\"react/jsx-runtime\");\nvar ConfettiExplosion = ({\n testId,\n isActive,\n particleCount = 150,\n duration = 4e3,\n colors = [\n \"#FF0000\",\n \"#00FF00\",\n \"#0000FF\",\n \"#FFFF00\",\n \"#FF00FF\",\n \"#00FFFF\",\n \"#FF8000\",\n \"#8000FF\",\n \"#FF0080\",\n \"#80FF00\",\n \"#0080FF\",\n \"#FF8080\"\n ],\n force = 0.5,\n particleSize = 8,\n stageHeight = 800\n}) => {\n const [particles, setParticles] = (0, import_react20.useState)([]);\n const animationFrameRef = (0, import_react20.useRef)(void 0);\n const timerRef = (0, import_react20.useRef)(void 0);\n const stableColors = (0, import_react20.useMemo)(() => colors, [JSON.stringify(colors)]);\n (0, import_react20.useEffect)(() => {\n if (isActive) {\n const newParticles = Array.from({ length: particleCount }, (_, i) => {\n const angle = Math.random() * Math.PI * 2;\n const speed = (Math.random() * 5 + 5) * force;\n const fromLeft = Math.random() > 0.5;\n const startX = fromLeft ? 0 : 100;\n return {\n id: i,\n color: stableColors[Math.floor(Math.random() * stableColors.length)],\n size: Math.random() * particleSize + particleSize / 2,\n shape: [\"circle\", \"rectangle\", \"star\"][Math.floor(Math.random() * 3)],\n rotation: Math.random() * 360,\n rotationSpeed: (Math.random() - 0.5) * 10,\n x: startX,\n y: 100,\n vx: Math.cos(angle) * speed * (fromLeft ? 1 : -1),\n vy: -Math.sin(angle) * speed - 2,\n gravity: 0.1 + Math.random() * 0.1,\n opacity: 1,\n life: 1,\n delay: Math.random() * 300\n };\n });\n setParticles(newParticles);\n let startTime;\n const animate = (timestamp) => {\n if (!startTime) startTime = timestamp;\n const elapsed = timestamp - startTime;\n setParticles(\n (prevParticles) => prevParticles.map((particle) => {\n if (elapsed < particle.delay) return particle;\n const life = Math.max(0, 1 - (elapsed - particle.delay) / duration);\n if (life <= 0) return particle;\n return {\n ...particle,\n x: particle.x + particle.vx * 0.5,\n y: particle.y + particle.vy * 0.5,\n vy: particle.vy + particle.gravity,\n rotation: particle.rotation + particle.rotationSpeed,\n opacity: life,\n life\n };\n }).filter((p) => p.life > 0)\n );\n if (elapsed < duration) {\n animationFrameRef.current = requestAnimationFrame(animate);\n }\n };\n animationFrameRef.current = requestAnimationFrame(animate);\n timerRef.current = setTimeout(() => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n setParticles([]);\n }, duration + 500);\n return () => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n } else {\n setParticles([]);\n }\n }, [isActive, particleCount, duration, stableColors, force, particleSize]);\n if (!isActive || particles.length === 0) return null;\n return (\n // Container: was styled.div with stageHeight prop\n /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"fixed inset-0 pointer-events-none z-50 overflow-hidden\",\n style: { height: `${stageHeight}px` },\n children: particles.map((particle) => {\n const starGradient = particle.shape === \"star\" ? `conic-gradient(from 0deg, ${particle.color} 0% 20%, transparent 20% 40%, ${particle.color} 40% 60%, transparent 60% 80%, ${particle.color} 80% 100%)` : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(\n \"div\",\n {\n className: [\n \"absolute\",\n \"origin-center\",\n // Shape-specific static classes\n particle.shape === \"circle\" ? \"rounded-full\" : \"\",\n particle.shape === \"rectangle\" ? \"rounded-[2px]\" : \"\"\n // Star uses clip-path via inline style (cannot be a static Tailwind class)\n ].join(\" \"),\n style: {\n // Dynamic values as CSS custom properties — picked up by arbitrary Tailwind classes\n left: `${particle.x}%`,\n bottom: `${particle.y}%`,\n width: `${particle.size}px`,\n height: `${particle.size}px`,\n opacity: particle.opacity,\n transform: `rotate(${particle.rotation}deg)`,\n backgroundColor: particle.shape === \"star\" ? \"transparent\" : particle.color,\n ...particle.shape === \"star\" && {\n background: starGradient,\n clipPath: \"polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)\"\n }\n }\n },\n particle.id\n );\n })\n }\n )\n );\n};\nConfettiExplosion.displayName = \"ConfettiExplosion\";\n\n// src/components/RealisticConfetti.tsx\nvar import_react21 = require(\"react\");\nvar import_jsx_runtime29 = require(\"react/jsx-runtime\");\nvar RealisticConfetti = ({\n testId,\n isActive,\n particleCount = 150,\n duration = 4e3,\n colors = [\n \"#FF0000\",\n \"#00FF00\",\n \"#0000FF\",\n \"#FFFF00\",\n \"#FF00FF\",\n \"#00FFFF\",\n \"#FF8000\",\n \"#8000FF\",\n \"#FF0080\",\n \"#80FF00\",\n \"#0080FF\",\n \"#FF8080\"\n ],\n force = 0.5,\n particleSize = 8,\n stageHeight = 800\n}) => {\n const [particles, setParticles] = (0, import_react21.useState)([]);\n const animationFrameRef = (0, import_react21.useRef)(void 0);\n const timerRef = (0, import_react21.useRef)(void 0);\n const stableColors = (0, import_react21.useMemo)(() => colors, [JSON.stringify(colors)]);\n (0, import_react21.useEffect)(() => {\n if (isActive) {\n const newParticles = Array.from({ length: particleCount }, (_, i) => {\n const angle = Math.random() * Math.PI * 2;\n const speed = (Math.random() * 5 + 5) * force;\n const fromLeft = Math.random() > 0.5;\n const startX = fromLeft ? 0 : 100;\n return {\n id: i,\n color: stableColors[Math.floor(Math.random() * stableColors.length)],\n size: Math.random() * particleSize + particleSize / 2,\n shape: [\"circle\", \"rectangle\", \"star\"][Math.floor(Math.random() * 3)],\n rotation: Math.random() * 360,\n rotationSpeed: (Math.random() - 0.5) * 10,\n x: startX,\n y: 100,\n vx: Math.cos(angle) * speed * (fromLeft ? 1 : -1),\n vy: -Math.sin(angle) * speed - 2,\n gravity: 0.1 + Math.random() * 0.1,\n opacity: 1,\n life: 1,\n delay: Math.random() * 300\n };\n });\n setParticles(newParticles);\n let startTime;\n const animate = (timestamp) => {\n if (!startTime) startTime = timestamp;\n const elapsed = timestamp - startTime;\n setParticles(\n (prevParticles) => prevParticles.map((particle) => {\n if (elapsed < particle.delay) return particle;\n const life = Math.max(0, 1 - (elapsed - particle.delay) / duration);\n if (life <= 0) return particle;\n return {\n ...particle,\n x: particle.x + particle.vx * 0.5,\n y: particle.y + particle.vy * 0.5,\n vy: particle.vy + particle.gravity,\n rotation: particle.rotation + particle.rotationSpeed,\n opacity: life,\n life\n };\n }).filter((p) => p.life > 0)\n );\n if (elapsed < duration) {\n animationFrameRef.current = requestAnimationFrame(animate);\n }\n };\n animationFrameRef.current = requestAnimationFrame(animate);\n timerRef.current = setTimeout(() => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n setParticles([]);\n }, duration + 500);\n return () => {\n if (animationFrameRef.current) cancelAnimationFrame(animationFrameRef.current);\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n } else {\n setParticles([]);\n }\n }, [isActive, particleCount, duration, stableColors, force, particleSize]);\n if (!isActive || particles.length === 0) return null;\n return (\n // Container: was styled.div with stageHeight prop\n /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"fixed inset-0 pointer-events-none z-50 overflow-hidden\",\n style: { height: `${stageHeight}px` },\n children: particles.map((particle) => {\n const starGradient = particle.shape === \"star\" ? `conic-gradient(from 0deg, ${particle.color} 0% 20%, transparent 20% 40%, ${particle.color} 40% 60%, transparent 60% 80%, ${particle.color} 80% 100%)` : void 0;\n return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(\n \"div\",\n {\n className: [\n \"absolute\",\n \"origin-center\",\n // Shape-specific static classes\n particle.shape === \"circle\" ? \"rounded-full\" : \"\",\n particle.shape === \"rectangle\" ? \"rounded-[2px]\" : \"\"\n // Star uses clip-path via inline style (cannot be a static Tailwind class)\n ].join(\" \"),\n style: {\n // Dynamic values as CSS custom properties — picked up by arbitrary Tailwind classes\n left: `${particle.x}%`,\n bottom: `${particle.y}%`,\n width: `${particle.size}px`,\n height: `${particle.size}px`,\n opacity: particle.opacity,\n transform: `rotate(${particle.rotation}deg)`,\n backgroundColor: particle.shape === \"star\" ? \"transparent\" : particle.color,\n ...particle.shape === \"star\" && {\n background: starGradient,\n clipPath: \"polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)\"\n }\n }\n },\n particle.id\n );\n })\n }\n )\n );\n};\nRealisticConfetti.displayName = \"RealisticConfetti\";\n\n// src/components/Spinner.tsx\nvar import_jsx_runtime30 = require(\"react/jsx-runtime\");\nvar SrOnly = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"span\", { className: \"absolute w-[1px] h-[1px] p-0 m-[-1px] overflow-hidden whitespace-nowrap border-0 clip-[rect(0,0,0,0)]\", children });\nvar Spinner = ({\n size = 24,\n borderWidth = 4,\n borderRadius = 50,\n primaryColor = \"#007bff\",\n backgroundColor = \"rgba(0,123,255,0.2)\",\n speed = 1,\n testId\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n style: {\n width: size,\n height: size,\n borderWidth,\n borderRadius,\n borderColor: backgroundColor,\n borderTopColor: primaryColor,\n animation: `spin ${speed}s linear infinite`\n },\n className: \"border-solid\",\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading...\" })\n }\n );\n};\nvar CircularSpinner = ({\n size = 48,\n color = \"rgba(37,99,235,1)\",\n speed = 1.5,\n ringCount = 1,\n testId\n}) => {\n const rings = Array.from({ length: Math.max(1, ringCount) });\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n className: \"relative\",\n style: { width: size, height: size },\n children: [\n rings.map((_, i) => {\n const ringSize = size - i * (size / (ringCount + 1));\n const offset = (size - ringSize) / 2;\n const opacity = 1 - i * 0.3;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n style: {\n width: ringSize,\n height: ringSize,\n top: offset,\n left: offset,\n opacity,\n borderWidth: Math.max(2, ringSize / 12),\n borderColor: \"rgba(0,0,0,0.1)\",\n borderTopColor: color,\n animation: `spin ${speed + i * 0.3}s linear infinite`,\n animationDelay: `${i * 0.2}s`\n },\n className: \"absolute border border-solid rounded-full\"\n },\n i\n );\n }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading...\" })\n ]\n }\n );\n};\nvar CardOverlayLoader = ({\n show = true,\n spinnerSize = 32,\n spinnerBorderWidth = 4,\n spinnerPrimary = \"rgba(37,99,235,1)\",\n spinnerTrack = \"rgba(229,231,235,1)\",\n backdrop = \"rgba(255,255,255,0.65)\",\n label = \"Loading...\",\n testId\n}) => {\n if (!show) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-live\": \"polite\",\n style: { backgroundColor: backdrop },\n className: \"absolute inset-0 grid place-content-center rounded-xl backdrop-blur-[1px]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"flex flex-col items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n Spinner,\n {\n size: spinnerSize,\n borderWidth: spinnerBorderWidth,\n borderRadius: 50,\n primaryColor: spinnerPrimary,\n backgroundColor: spinnerTrack\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"span\", { className: \"text-sm font-medium text-gray-800\", children: label })\n ] })\n }\n );\n};\nvar LoadingDots = ({\n size = 8,\n color = \"rgba(55,65,81,1)\",\n gap = 6,\n speed = 1.2,\n count = 3,\n testId\n}) => {\n const dots = Array.from({ length: Math.max(0, count) });\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: \"inline-flex items-center\",\n children: [\n dots.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n \"aria-hidden\": true,\n style: {\n width: size,\n height: size,\n backgroundColor: color,\n marginRight: i === dots.length - 1 ? 0 : gap,\n animation: `dotsBounce ${speed}s ease-in-out ${i * (speed / dots.length)}s infinite`\n },\n className: \"rounded-full inline-block\"\n },\n i\n )),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading\\u2026\" })\n ]\n }\n );\n};\nvar LoadingDotsLinear = ({\n size = 8,\n color = \"rgba(55,65,81,1)\",\n gap = 6,\n speed = 1.2,\n count = 5,\n testId\n}) => {\n const dots = Array.from({ length: Math.max(1, count) });\n const delay = speed / count;\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n role: \"status\",\n \"aria-label\": \"Loading\",\n className: \"inline-flex items-center\",\n children: [\n dots.map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\n \"span\",\n {\n \"aria-hidden\": true,\n style: {\n width: size,\n height: size,\n backgroundColor: color,\n marginRight: i === dots.length - 1 ? 0 : gap,\n animation: `dotsLinear ${speed}s ease-in-out ${i * delay}s infinite`\n },\n className: \"rounded-full inline-block\"\n },\n i\n )),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SrOnly, { children: \"Loading\\u2026\" })\n ]\n }\n );\n};\nvar CardWithLoading = ({\n loading = true,\n imageUrl = \"https://upload.wikimedia.org/wikipedia/commons/c/cb/Adirondacks_2016_Cascade_mountain_hike.jpg\",\n title = \"Amazing Landscape\",\n content = \"Discover breathtaking views and natural wonders from around the world.\",\n testId\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"rounded-xl overflow-hidden shadow-lg bg-white border border-gray-200 max-w-[28rem] relative\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"w-full h-64 bg-gray-100 overflow-hidden relative\", children: !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"img\", { src: imageUrl, alt: title, className: \"w-full h-full object-cover\" }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"w-full h-full shimmer\" }) }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"p-6\", children: [\n !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"h3\", { className: \"text-xl font-semibold text-gray-900 mb-3\", children: title }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-7 w-[70%] shimmer rounded mb-3\" }),\n !loading ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"p\", { className: \"text-sm text-gray-500 leading-relaxed\", children: content }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(\"div\", { className: \"flex flex-col gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-full shimmer rounded\" }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-[95%] shimmer rounded\" }),\n /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(\"div\", { className: \"h-4 w-[80%] shimmer rounded\" })\n ] })\n ] })\n ]\n }\n );\n};\n\n// src/components/NestedDropdown.tsx\nvar import_react22 = require(\"react\");\nvar import_lucide_react5 = require(\"lucide-react\");\nvar import_jsx_runtime31 = require(\"react/jsx-runtime\");\nfunction SearchableDropdown({\n label,\n options,\n value,\n onChange,\n placeholder = \"search here\",\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const h = (e) => ref.current && !ref.current.contains(e.target) && setOpen(false);\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n }, []);\n const filtered = (options ?? []).filter(\n (o) => o.label.toLowerCase().includes(search.toLowerCase())\n );\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px] \\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n (options ?? []).find((o) => o.value === value)?.label || placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white rounded-[12px]\\r\\n border border-[rgba(23,97,163,0.3)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n placeholder: \"search..\",\n value: search,\n onChange: (e) => setSearch(e.target.value),\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n filtered.map((o) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(o.value);\n setOpen(false);\n setSearch(\"\");\n },\n className: \"px-4 py-[10px] text-[14px] cursor-pointer hover:bg-[#f1f5f9]\",\n children: o.label\n },\n o.value\n )),\n filtered.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\nfunction MultiSelectDropdown({\n label = \"Multi Select\",\n options,\n values,\n onChange,\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const ref = (0, import_react22.useRef)(null);\n const removeValue = (val) => {\n onChange(values.filter((v) => v !== val));\n };\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const toggleValue = (value) => {\n if (values.includes(value)) {\n onChange(values.filter((v) => v !== value));\n } else {\n onChange([...values, value]);\n }\n };\n const filteredOptions = options.filter(\n (o) => o.label.toLowerCase().includes(search.toLowerCase())\n );\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen(!open),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px]\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n values.length === 0 ? \"Multi Select\" : \"Multi Select\",\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n values.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"flex flex-wrap gap-2 mt-3\", children: values.map((val) => {\n const lbl = options.find((o) => o.value === val)?.label;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-[6px] px-[10px] py-[6px]\\r\\n bg-white border border-[#cde3f1] rounded-[10px] text-[13px]\",\n children: [\n lbl,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n import_lucide_react5.X,\n {\n size: 14,\n className: \"cursor-pointer\",\n onClick: () => removeValue(val)\n }\n )\n ]\n },\n val\n );\n }) }),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n value: search,\n onChange: (e) => setSearch(e.target.value),\n placeholder: \"Search...\",\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n filteredOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => toggleValue(opt.value),\n className: `px-4 py-[10px] text-[14px] flex items-center gap-2 cursor-pointer\n hover:bg-[#f1f5f9] ${values.includes(opt.value) ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: values.includes(opt.value),\n readOnly: true\n }\n ),\n opt.label\n ]\n },\n opt.value\n )),\n filteredOptions.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\nfunction CascadingDropdown({\n label = \"Cascading Dropdown\",\n data,\n value,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const level1 = data;\n const level2 = data.find((d) => d.value === value.level1)?.children || [];\n const level3 = level2.find((d) => d.value === value.level2)?.children || [];\n const displayText = value.level3 || value.level2 || value.level1 || \"Select location\";\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full flex justify-between items-center px-4 py-3 rounded-[8px]\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white font-semibold\",\n children: [\n displayText,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: level1.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => onChange({ level1: opt.value }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level1 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: opt.label\n },\n opt.value\n )) }),\n level2.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto border-t border-[#e5e7eb]\", children: level2.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => onChange({\n level1: value.level1,\n level2: opt.value\n }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level2 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n \"\\u2514 \",\n opt.label\n ]\n },\n opt.value\n )) }),\n level3.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto border-t border-[#e5e7eb]\", children: level3.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => onChange({\n level1: value.level1,\n level2: value.level2,\n level3: opt.value\n }),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n hover:bg-[#f1f5f9] ${value.level3 === opt.value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n \"\\u2514\\u2500 \",\n opt.label\n ]\n },\n opt.value\n )) })\n ]\n }\n )\n ]\n }\n );\n}\nfunction GroupedDropdown({\n label = \"Grouped Dropdown\",\n groups,\n values,\n onChange,\n testId\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const isSectionSelected = (group) => values?.section === group.label;\n const isChildChecked = (value) => values?.values.includes(value) ?? false;\n const toggleSection = (group) => {\n if (values?.section === group.label) {\n onChange(null);\n } else {\n onChange({\n section: group.label,\n values: group.options.map((o) => o.value)\n });\n }\n };\n const toggleChild = (group, value) => {\n if (values?.section !== group.label) {\n onChange({ section: group.label, values: [value] });\n return;\n }\n const exists = values.values.includes(value);\n const newValues = exists ? values.values.filter((v) => v !== value) : [...values.values, value];\n onChange(\n newValues.length === 0 ? null : { section: group.label, values: newValues }\n );\n };\n const displayValue = !values ? \"Select options\" : `${values.section} (${values.values.map(\n (v) => groups.flatMap((g) => g.options).find((o) => o.value === v)?.label\n ).join(\", \")})`;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n displayValue,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(23,97,163,0.3)] z-[100]\",\n children: groups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"flex items-center gap-2 font-semibold\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: isSectionSelected(group),\n onChange: () => toggleSection(group)\n }\n ),\n group.label\n ] }),\n group.options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"label\",\n {\n className: \"flex items-center gap-2 text-[14px] mt-[6px] ml-[22px]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: isChildChecked(opt.value),\n onChange: () => toggleChild(group, opt.value)\n }\n ),\n opt.label\n ]\n },\n opt.value\n ))\n ] }, group.label))\n }\n )\n ]\n }\n );\n}\nfunction AvatarDropdown({\n label = \"Select Avatar\",\n placeholder = \"Choose user\",\n options,\n value,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const selected = options.find((o) => o.value === value);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"span\", { className: \"flex items-center gap-[10px]\", children: selected ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: selected.image,\n alt: selected.label,\n className: \"w-[28px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n selected.label\n ] }) : placeholder }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n },\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n flex items-center gap-[12px]\n hover:bg-[#f1f5f9]\n ${opt.value === value ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[36px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"font-medium\", children: opt.label }),\n opt.subtitle && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"text-[12px] text-[#64748b]\", children: opt.subtitle })\n ] })\n ]\n },\n opt.value\n )) })\n }\n )\n ]\n }\n );\n}\nfunction AvatarMultiSelectDropdown({\n label = \"Avatar Multi Select\",\n placeholder = \"Select users\",\n options,\n values,\n testId,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n const toggleValue = (value) => {\n if (values.includes(value)) {\n onChange(values.filter((v) => v !== value));\n } else {\n onChange([...values, value]);\n }\n };\n const removeValue = (value) => {\n onChange(values.filter((v) => v !== value));\n };\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n onClick: () => setOpen((o) => !o),\n className: \"w-full px-4 py-3 rounded-[8px] text-white font-semibold\\r\\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\\r\\n flex justify-between items-center\",\n children: [\n placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n values.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"flex flex-wrap gap-2 mt-3\", children: values.map((val) => {\n const opt = options.find((o) => o.value === val);\n if (!opt) return null;\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"flex items-center gap-2 px-[10px] py-[6px]\\r\\n bg-white border border-[#cde3f1] rounded-[10px] text-[13px]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[24px] h-[24px] rounded-[6px] object-cover\"\n }\n ),\n opt.label,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n import_lucide_react5.X,\n {\n size: 14,\n className: \"cursor-pointer\",\n onClick: () => removeValue(val)\n }\n )\n ]\n },\n val\n );\n }) }),\n open && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: options.map((opt) => {\n const active = values.includes(opt.value);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n onClick: () => toggleValue(opt.value),\n className: `px-4 py-[10px] text-[14px] cursor-pointer\n flex items-center gap-[12px]\n hover:bg-[#f1f5f9]\n ${active ? \"bg-[#e6f3ef]\" : \"\"}`,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n type: \"checkbox\",\n checked: active,\n readOnly: true,\n className: \"accent-[#1761a3]\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"img\",\n {\n src: opt.image,\n alt: opt.label,\n className: \"w-[36px] h-[28px] rounded-[6px] object-cover\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"font-medium\", children: opt.label }),\n opt.subtitle && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"text-[12px] text-[#64748b]\", children: opt.subtitle })\n ] })\n ]\n },\n opt.value\n );\n }) })\n }\n )\n ]\n }\n );\n}\nfunction AsyncDropdown({\n label = \"Async Dropdown\",\n placeholder = \"Search...\",\n value,\n disabled,\n testId,\n loadOptions,\n onChange\n}) {\n const [open, setOpen] = (0, import_react22.useState)(false);\n const [search, setSearch] = (0, import_react22.useState)(\"\");\n const [options, setOptions] = (0, import_react22.useState)([]);\n const [loading, setLoading] = (0, import_react22.useState)(false);\n const ref = (0, import_react22.useRef)(null);\n (0, import_react22.useEffect)(() => {\n const handler = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, []);\n (0, import_react22.useEffect)(() => {\n if (!open) return;\n setLoading(true);\n loadOptions(search).then(setOptions).finally(() => setLoading(false));\n }, [open, search, loadOptions]);\n return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-[320px] max-w-full mx-auto\",\n children: [\n label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"label\", { className: \"block mb-2 text-[12px] font-semibold text-[#1761a3]\", children: label }),\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"button\",\n {\n disabled,\n onClick: () => !disabled && setOpen((o) => !o),\n className: `w-full px-4 py-3 rounded-[8px] text-white font-semibold\n bg-gradient-to-r from-[#1761a3] to-[#4daf83]\n flex justify-between items-center\n ${disabled ? \"opacity-60 cursor-not-allowed\" : \"cursor-pointer\"}`,\n children: [\n value || placeholder,\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.ChevronDown, { size: 16 })\n ]\n }\n ),\n open && !disabled && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\n \"div\",\n {\n className: \"absolute top-[calc(100%+8px)] left-0 w-full bg-white\\r\\n rounded-[12px] border border-[rgba(77,175,131,0.4)] z-[100]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"p-3 border-b border-[#e5e7eb] relative\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"input\",\n {\n value: search,\n placeholder: \"Search...\",\n onChange: (e) => setSearch(e.target.value),\n className: \"w-full h-[36px] px-3 pr-9 border rounded-[6px]\\r\\n border-[rgba(23,97,163,0.3)] outline-none\"\n }\n ),\n search && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"button\",\n {\n onClick: () => setSearch(\"\"),\n className: \"absolute right-[15px] top-1/2 -translate-y-1/2\\r\\n w-[22px] h-[22px] rounded-full bg-[#9ca3af] text-white\",\n children: \"\\u2715\"\n }\n )\n ] }),\n loading && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"px-4 py-[10px] text-[14px] flex items-center gap-2\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react5.Loader2, { size: 14, className: \"mr-2 animate-spin\" }),\n \"Loading...\"\n ] }),\n !loading && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(\"div\", { className: \"max-h-[220px] overflow-y-auto\", children: [\n options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\n \"div\",\n {\n onClick: () => {\n onChange(opt.value);\n setOpen(false);\n setSearch(\"\");\n },\n className: \"px-4 py-[10px] text-[14px] cursor-pointer hover:bg-[#f1f5f9]\",\n children: opt.label\n },\n opt.value\n )),\n options.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(\"div\", { className: \"p-3 text-[#9ca3af]\", children: \"No results\" })\n ] })\n ]\n }\n )\n ]\n }\n );\n}\n\n// src/components/TextToAudio.tsx\nvar import_react23 = require(\"react\");\nvar import_jsx_runtime32 = require(\"react/jsx-runtime\");\nvar ControlIcon = ({ src }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n style: {\n width: 16,\n height: 16,\n backgroundImage: `url(${src})`,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"contain\"\n }\n }\n);\nvar defaultIcons = {\n play: \"/icons/play-btn.png\",\n pause: \"/icons/pause-btn.png\",\n stop: \"/icons/hard-stop.png\",\n repeat: \"/icons/repeat-icon.png\",\n skipForward: \"/icons/skip-forward.png\",\n skipBackward: \"/icons/Backward-icon.png\",\n tenForward: \"/icons/ten-skip-forward.png\",\n tenBackward: \"/icons/ten-skip-backward.png\"\n};\nvar TexttoAudio = ({ icons = defaultIcons }) => {\n const WORDS_PER_SECOND = 2.5;\n const [text, setText] = (0, import_react23.useState)(\"\");\n const [mode, setMode] = (0, import_react23.useState)(\"textarea\");\n const [playing, setPlaying] = (0, import_react23.useState)(false);\n const [currentTime, setCurrentTime] = (0, import_react23.useState)(0);\n const [duration, setDuration] = (0, import_react23.useState)(1);\n const [volume, setVolume] = (0, import_react23.useState)(1);\n const [speed, setSpeed] = (0, import_react23.useState)(1);\n const [loop, setLoop] = (0, import_react23.useState)(false);\n const utteranceRef = (0, import_react23.useRef)(null);\n const timerRef = (0, import_react23.useRef)(null);\n const wordIndexRef = (0, import_react23.useRef)(0);\n const textAreaRef = (0, import_react23.useRef)(null);\n const highlightOnSkipRef = (0, import_react23.useRef)(false);\n const [summary, setSummary] = (0, import_react23.useState)(\"\");\n const [loopMode, setLoopMode] = (0, import_react23.useState)(0);\n const loopCountRef = (0, import_react23.useRef)(0);\n const autoPlayRef = (0, import_react23.useRef)(false);\n const baseDurationRef = (0, import_react23.useRef)(0);\n const timerBaseRef = (0, import_react23.useRef)(0);\n const volumeRef = (0, import_react23.useRef)(volume);\n const speedRef = (0, import_react23.useRef)(speed);\n const categorizeText = (input) => {\n if (!input.trim()) return \"This content covers general topics.\";\n const text2 = input.toLowerCase();\n const categories = {\n Technology: {\n keywords: [\n \"technology\",\n \"software\",\n \"hardware\",\n \"ai\",\n \"artificial intelligence\",\n \"machine learning\",\n \"computer\",\n \"internet\",\n \"digital\",\n \"platform\",\n \"app\"\n ],\n summary: \"This content focuses on technology, software systems, and digital innovation.\"\n },\n Business: {\n keywords: [\n \"business\",\n \"marketing\",\n \"sales\",\n \"brand\",\n \"strategy\",\n \"market\",\n \"customer\",\n \"startup\",\n \"company\",\n \"growth\"\n ],\n summary: \"This content discusses business concepts, strategies, and market growth.\"\n },\n Education: {\n keywords: [\n \"education\",\n \"learning\",\n \"teaching\",\n \"students\",\n \"training\",\n \"course\",\n \"knowledge\",\n \"research\",\n \"study\"\n ],\n summary: \"This content is related to education, learning processes, and knowledge sharing.\"\n },\n Media: {\n keywords: [\n \"content\",\n \"video\",\n \"audio\",\n \"blog\",\n \"podcast\",\n \"social media\",\n \"youtube\",\n \"linkedin\",\n \"posts\"\n ],\n summary: \"This content explains media, communication formats, and content creation.\"\n },\n Human: {\n keywords: [\n \"human\",\n \"people\",\n \"communication\",\n \"engagement\",\n \"interaction\",\n \"society\",\n \"culture\",\n \"behavior\"\n ],\n summary: \"This content highlights human behavior, interaction, and social aspects.\"\n },\n Geography: {\n keywords: [\n \"geography\",\n \"location\",\n \"region\",\n \"country\",\n \"city\",\n \"map\",\n \"area\",\n \"population\"\n ],\n summary: \"This content relates to geographical regions and location-based information.\"\n },\n Nature: {\n keywords: [\n \"nature\",\n \"environment\",\n \"climate\",\n \"earth\",\n \"ecosystem\",\n \"forest\",\n \"water\",\n \"animals\",\n \"plants\"\n ],\n summary: \"This content focuses on nature, environment, and ecological systems.\"\n },\n Health: {\n keywords: [\n \"health\",\n \"medical\",\n \"fitness\",\n \"wellness\",\n \"mental\",\n \"physical\",\n \"disease\"\n ],\n summary: \"This content discusses health, wellness, and medical-related topics.\"\n }\n };\n const summaries = [];\n for (const key in categories) {\n if (categories[key].keywords.some((k) => text2.includes(k))) {\n summaries.push(categories[key].summary);\n }\n }\n return summaries.length ? summaries.slice(0, 2).join(\" \") : \"This content provides general informational insights.\";\n };\n const highlightWordAt = (startIndex) => {\n const ta = textAreaRef.current;\n if (!ta) return;\n const value = ta.value;\n let start = startIndex;\n while (start > 0 && /\\S/.test(value[start - 1])) {\n start--;\n }\n let end = startIndex;\n while (end < value.length && /\\S/.test(value[end])) {\n end++;\n }\n ta.focus();\n ta.setSelectionRange(start, end);\n };\n const formatTime2 = (sec) => {\n const m = Math.floor(sec / 60);\n const s = Math.floor(sec % 60);\n return `${m}:${s.toString().padStart(2, \"0\")}`;\n };\n const getSourceText = () => text;\n const speakFromTime = (time) => {\n window.speechSynthesis.cancel();\n const source = text;\n if (!source.trim()) return;\n const words = source.split(/\\s+/);\n const startWordIndex = Math.floor(time * WORDS_PER_SECOND);\n const charOffset = words.slice(0, startWordIndex).join(\" \").length + (startWordIndex > 0 ? 1 : 0);\n window.speechSynthesis.cancel();\n stopTimer();\n const u = new SpeechSynthesisUtterance(source.slice(charOffset));\n u.rate = speedRef.current;\n u.volume = volumeRef.current;\n u.onboundary = (e) => {\n if (e.name === \"word\" && highlightOnSkipRef.current) {\n highlightWordAt(charOffset + e.charIndex);\n }\n };\n u.onend = () => {\n stopTimer();\n highlightOnSkipRef.current = false;\n if (loopMode === 1 && loopCountRef.current === 0) {\n loopCountRef.current = 1;\n setCurrentTime(0);\n speakFromTime(0);\n return;\n }\n if (loopMode === 2) {\n setCurrentTime(0);\n speakFromTime(0);\n return;\n }\n loopCountRef.current = 0;\n setPlaying(false);\n setCurrentTime(duration);\n };\n utteranceRef.current = u;\n window.speechSynthesis.speak(u);\n setPlaying(true);\n startTimer(time);\n };\n const startTimer = (fromTime) => {\n stopTimer();\n const start = Date.now() - fromTime * 1e3;\n timerRef.current = setInterval(() => {\n const elapsed = (Date.now() - start) / 1e3;\n setCurrentTime(Math.min(elapsed, duration));\n }, 100);\n };\n const togglePlay = () => {\n if (!utteranceRef.current) {\n window.speechSynthesis.cancel();\n loopCountRef.current = 0;\n speakFromTime(currentTime);\n return;\n }\n if (playing) {\n window.speechSynthesis.pause();\n stopTimer();\n setPlaying(false);\n } else {\n window.speechSynthesis.resume();\n startTimer(currentTime);\n setPlaying(true);\n }\n };\n const stopTimer = () => {\n if (timerRef.current) {\n clearInterval(timerRef.current);\n timerRef.current = null;\n }\n };\n const getQuickSummary = () => {\n if (mode === \"page\") {\n const pageText = document.body.innerText.replace(/\\s+/g, \" \").trim();\n return pageText ? \"This page provides key information and functionality related to the current module.\" : \"No content available on this page.\";\n }\n return categorizeText(text);\n };\n const getPageContent = () => {\n return document.body.innerText.replace(/\\s+/g, \" \").trim();\n };\n const downloadAudio = () => {\n alert(\"Download audio requires Backend TTS integration\");\n };\n const skip = (sec) => {\n const next = Math.max(0, Math.min(currentTime + sec, duration));\n highlightOnSkipRef.current = true;\n window.speechSynthesis.cancel();\n stopTimer();\n setCurrentTime(next);\n speakFromTime(next);\n startTimer(next);\n };\n const stop = () => {\n window.speechSynthesis.cancel();\n stopTimer();\n loopCountRef.current = 0;\n setPlaying(false);\n setCurrentTime(0);\n textAreaRef.current?.setSelectionRange(0, 0);\n utteranceRef.current = null;\n };\n (0, import_react23.useEffect)(() => {\n return () => {\n window.speechSynthesis.cancel();\n stopTimer();\n };\n }, []);\n (0, import_react23.useEffect)(() => {\n volumeRef.current = volume;\n }, [volume]);\n (0, import_react23.useEffect)(() => {\n speedRef.current = speed;\n }, [speed]);\n (0, import_react23.useEffect)(() => {\n if (!playing) return;\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(currentTime);\n }, [volume]);\n (0, import_react23.useEffect)(() => {\n if (!text.trim()) {\n setDuration(0);\n setCurrentTime(0);\n return;\n }\n const words = text.trim().split(/\\s+/).length;\n const baseDuration = words / WORDS_PER_SECOND;\n baseDurationRef.current = baseDuration;\n setDuration(baseDuration / speed);\n setCurrentTime(0);\n }, [text]);\n (0, import_react23.useEffect)(() => {\n if (!baseDurationRef.current) return;\n const progress = duration === 0 ? 0 : currentTime / duration;\n const newDuration = baseDurationRef.current / speed;\n const newCurrentTime = progress * newDuration;\n setDuration(newDuration);\n setCurrentTime(newCurrentTime);\n if (playing) {\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(newCurrentTime);\n }\n }, [speed]);\n (0, import_react23.useEffect)(() => {\n if (!autoPlayRef.current) return;\n if (!text.trim()) return;\n autoPlayRef.current = false;\n speakFromTime(0);\n }, [text]);\n const getVolumeIcon = () => {\n return volume === 0 ? \"/icons/mute-icon.png\" : \"/icons/sound-icon.png\";\n };\n return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"div\",\n {\n \"data-testid\": \"text-to-audio-container\",\n className: \"grid grid-cols-[4fr_1fr] gap-[10px] max-[900px]:grid-cols-1\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"div\",\n {\n \"data-testid\": \"text-to-audio-card\",\n className: \"border border-[#8ed1b2] bg-[#f1f7f7] rounded-[16px] overflow-hidden flex flex-col h-full\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { className: \"px-[16px] py-[12px] bg-[#e2ecf1] border-b border-[#8ed1b2] font-semibold\", children: \"Text to Speech\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { className: \"flex flex-1 overflow-hidden\", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"textarea\",\n {\n ref: textAreaRef,\n placeholder: \"Enter text here...\",\n value: text,\n onChange: (e) => setText(e.target.value),\n className: \"w-full flex-1 h-[240px] min-h-[240px] max-h-[240px] border-none bg-transparent p-[16px] resize-none outline-none overflow-y-auto leading-[1.6]\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex flex-wrap items-center gap-[10px] p-[12px] bg-[#eaf6f1] border-t border-[#8ed1b2] flex-shrink-0\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[8px] bg-[#d1e4e7] px-[12px] py-[8px] rounded-full overflow-x-auto\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"10 sec backward\", onClick: () => skip(-10), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.tenBackward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"skip-backward-btn\", onClick: () => skip(-5), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.skipBackward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"play-pause-btn\", onClick: togglePlay, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: playing ? icons.pause : icons.play }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"10-sec-forward-skip\", onClick: () => skip(10), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.tenForward }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"5-sec-forward-skip\", onClick: () => skip(5), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n style: {\n width: 16,\n height: 16,\n backgroundImage: `url(${icons.skipBackward})`,\n backgroundRepeat: \"no-repeat\",\n backgroundPosition: \"center\",\n backgroundSize: \"contain\",\n transform: \"scaleX(-1)\"\n }\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"button\", { className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\", \"data-testid\": \"force-stop\", onClick: stop, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.stop }) }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"border border-[#4daf83] bg-[#d4e4eb] rounded-[6px] p-[6px] cursor-pointer\",\n \"data-testid\": \"on-loop-btn\",\n onClick: () => {\n setLoopMode((prev) => prev === 2 ? 0 : prev + 1);\n },\n title: loopMode === 0 ? \"Loop off\" : loopMode === 1 ? \"Loop once\" : \"Loop continuously\",\n children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { style: { position: \"relative\" }, children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ControlIcon, { src: icons.repeat }),\n loopMode === 1 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"span\",\n {\n style: {\n position: \"absolute\",\n right: -4,\n bottom: -4,\n width: 6,\n height: 6,\n borderRadius: \"50%\",\n background: \"#1761a3\"\n }\n }\n ),\n loopMode === 2 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"span\",\n {\n style: {\n position: \"absolute\",\n right: -4,\n bottom: -4,\n fontSize: 10,\n fontWeight: 700,\n color: \"#1761a3\"\n },\n children: \"1\"\n }\n )\n ] })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[6px] w-[180px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n className: \"flex-1 appearance-none h-[6px] rounded-[5px] cursor-pointer\",\n \"data-testid\": \"seek-bar\",\n type: \"range\",\n min: 0,\n max: duration,\n step: 0.01,\n value: currentTime,\n onChange: (e) => {\n const t = Number(e.target.value);\n setCurrentTime(t);\n window.speechSynthesis.cancel();\n stopTimer();\n speakFromTime(t);\n },\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg,\n rgba(23,97,163,1) 0%,\n rgba(77,175,131,1) ${currentTime / duration * 100}%,\n #e5e7eb ${currentTime / duration * 100}%,\n #e5e7eb 100%)`\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\n \"span\",\n {\n style: {\n fontSize: 10,\n color: \"#4a5c57\",\n minWidth: 5,\n textAlign: \"right\"\n },\n children: [\n formatTime2(currentTime),\n \".\",\n formatTime2(duration)\n ]\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white border-none px-[12px] py-[6px] rounded-[6px] cursor-pointer\",\n \"data-testid\": \"reads-entire-page-btn\",\n onClick: () => {\n const pageText = getPageContent();\n loopCountRef.current = 0;\n setText(pageText);\n setMode(\"page\");\n setCurrentTime(0);\n speakFromTime(0);\n },\n children: \"Reads Entire page\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"button\",\n {\n className: \"bg-gradient-to-r from-[#1761a3] to-[#4daf83] text-white border-none px-[12px] py-[6px] rounded-[6px] cursor-pointer\",\n \"data-testid\": \"reads-given-input\",\n onClick: () => {\n loopCountRef.current = 0;\n setMode(\"textarea\");\n setCurrentTime(0);\n setSummary(categorizeText(text));\n speakFromTime(0);\n },\n children: \"Reads input text\"\n }\n )\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex flex-col gap-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between items-center text-[13px] font-semibold text-[#243a36] mb-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Volume\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"span\", { children: [\n Math.round(volume * 100),\n \"%\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex items-center gap-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"div\",\n {\n onClick: () => setVolume(volume === 0 ? 1 : 0),\n style: {\n width: 18,\n height: 18,\n backgroundImage: `url(${getVolumeIcon()})`,\n backgroundSize: \"contain\",\n backgroundRepeat: \"no-repeat\",\n cursor: \"pointer\"\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n \"data-testid\": \"text-to-audio-volume\",\n type: \"range\",\n min: 0,\n max: 1,\n step: 0.01,\n value: volume,\n onChange: (e) => setVolume(Number(e.target.value)),\n className: \"w-full appearance-none h-[6px] rounded-[5px]\",\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg, \n rgba(23,97,163,1) 0%, \n rgba(77,175,131,1) ${volume * 100}%, \n #e5e7eb ${volume * 100}%, \n #e5e7eb 100%)`\n }\n }\n )\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between text-[13px] font-semibold mb-[10px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Playback Speed\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"span\", { children: [\n speed.toFixed(2),\n \"x\"\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\n \"input\",\n {\n \"data-testid\": \"test-to-audio-playbackspeed\",\n type: \"range\",\n min: 0.5,\n max: 2,\n step: 0.25,\n value: speed,\n className: \"w-full appearance-none h-[6px] rounded-[5px]\",\n onChange: (e) => setSpeed(Number(e.target.value)),\n style: {\n accentColor: \"#4daf83\",\n background: `linear-gradient(90deg,\n rgba(23,97,163,1) 0%,\n rgba(77,175,131,1) ${(speed - 0.5) / 1.5 * 100}%,\n #e5e7eb ${(speed - 0.5) / 1.5 * 100}%,\n #e5e7eb 100%)`\n }\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"flex justify-between text-xs text-gray-500 mt-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Slower\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"span\", { children: \"Faster\" })\n ] })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(\"div\", { className: \"bg-[#f7fbfb] border border-[#cfe5da] rounded-[14px] p-[16px]\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"div\", { \"data-testid\": \"quick-summary\", className: \"font-semibold mb-[8px]\", children: \"Quick Summary\" }),\n /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(\"p\", { className: \"text-sm text-[#4a5c57] leading-[1.5]\", children: mode === \"textarea\" ? categorizeText(text) : getQuickSummary() })\n ] })\n ] })\n ]\n }\n );\n};\n\n// src/components/Notifications.tsx\nvar import_react24 = require(\"react\");\nvar import_react_dom3 = require(\"react-dom\");\nvar import_lucide_react6 = require(\"lucide-react\");\nvar import_jsx_runtime33 = require(\"react/jsx-runtime\");\nvar MahatiLocationAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const ref = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const [location, setLocation] = (0, import_react24.useState)(null);\n (0, import_react24.useEffect)(() => {\n if (!navigator.permissions) return;\n navigator.permissions.query({ name: \"geolocation\" }).then((res) => {\n setStatus(res.state);\n res.onchange = () => setStatus(res.state);\n });\n }, []);\n (0, import_react24.useEffect)(() => {\n if (status === \"granted\" && location) {\n onAllow?.(location.coords);\n onClose();\n }\n }, [status, location]);\n const requestLocation = () => {\n navigator.geolocation.getCurrentPosition(\n (pos) => {\n setLocation(pos);\n setStatus(\"granted\");\n },\n () => setStatus(\"denied\"),\n { enableHighAccuracy: true }\n );\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const h = (e) => !ref.current?.contains(e.target) && onClose();\n document.addEventListener(\"mousedown\", h);\n return () => document.removeEventListener(\"mousedown\", h);\n }, [isOpen]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-sm\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n className: \"w-[144px] object-contain\",\n alt: \"location\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestLocation,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Location Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiCameraAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const cardRef = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const requestCamera = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n video: true\n });\n setStatus(\"granted\");\n onAllow?.(stream);\n onClose();\n } catch (err) {\n console.error(\"Camera error:\", err);\n setStatus(\"denied\");\n onDeny?.();\n }\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!cardRef.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref: cardRef,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n alt: \"Camera Access\",\n className: \"w-[144px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestCamera,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Camera Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiMicrophoneAccessModal = ({\n isOpen,\n onClose,\n title,\n description,\n image,\n allowText,\n denyText,\n onAllow,\n onDeny,\n testId\n}) => {\n const cardRef = (0, import_react24.useRef)(null);\n const [status, setStatus] = (0, import_react24.useState)(\"prompt\");\n const requestMic = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n audio: true\n });\n setStatus(\"granted\");\n onAllow?.(stream);\n onClose();\n } catch (err) {\n console.error(\"Microphone error:\", err);\n setStatus(\"denied\");\n onDeny?.();\n }\n };\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!cardRef.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n ref: cardRef,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] rounded-[24px] border-2 border-[#c2e2d5] bg-[#f0f5f8] px-8 py-10 shadow-[0_12px_28px_rgba(0,0,0,0.18)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-5 top-5 flex h-8 w-8 items-center justify-center rounded-full bg-white shadow-[0_2px_6px_rgba(0,0,0,0.15)]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 16 })\n }\n ),\n image && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-2 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: image,\n alt: \"Microphone Access\",\n className: \"w-[144px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h2\", { className: \"mb-3 text-center text-[24px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 whitespace-pre-line text-center text-[14px] text-[#374151]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: requestMic,\n className: \"mb-4 w-full rounded-lg bg-gradient-to-r from-[#1b5fa7] to-[#57b884] py-3 font-medium text-white hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: status === \"granted\" ? \"Microphone Enabled\" : allowText\n }\n ),\n denyText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n setStatus(\"denied\");\n onDeny?.();\n onClose();\n },\n className: \"w-full rounded-lg border-2 border-[#8cb8e8] bg-white py-3 font-medium text-[#1b5fa7] hover:bg-[#f2f8ff]\",\n children: denyText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionCard = ({\n headerTitle,\n title,\n testId,\n description,\n ctaText,\n onCtaClick,\n showInput = false,\n inputPlaceholder,\n onInputChange,\n onClose\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"w-full max-w-[420px] overflow-hidden rounded-[16px] border-2 border-[#c5d9e6] bg-[#f1f7f7] shadow-[0_6px_16px_rgba(0,0,0,0.15)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex items-center justify-between bg-gradient-to-r from-[#1761a3] to-[#4daf83] px-5 py-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"text-[16px] font-medium text-white\", children: headerTitle }),\n onClose && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[28px] w-[28px] items-center justify-center rounded-full bg-white/20 hover:bg-white/30\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14, color: \"white\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"px-5 py-6\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h4\", { className: \"mb-2 text-[18px] font-semibold text-[#111827]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-6 text-[14px] text-[#878787]\", children: description }),\n showInput && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"input\",\n {\n type: \"email\",\n placeholder: inputPlaceholder,\n onChange: (e) => onInputChange?.(e.target.value),\n className: \"mb-4 w-full rounded-[8px] border-2 border-[#c2dae8] bg-[#eaf2f6] px-[14px] py-[12px] text-[14px] focus:border-[#1b5fa7] focus:outline-none\"\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onCtaClick,\n className: \"w-full rounded-[8px] bg-[#1761a3] py-[12px] text-[14px] font-medium text-white hover:bg-[#174f8a] hover:shadow-[0_4px_12px_rgba(0,0,0,0.2)]\",\n children: ctaText\n }\n )\n ] })\n ]\n }\n );\n};\nvar MahatiPromotionModal = ({\n isOpen,\n onClose,\n ctaLink,\n openInNewTab,\n onCtaClick,\n testId,\n ...cardProps\n}) => {\n const ref = (0, import_react24.useRef)(null);\n const [email, setEmail] = (0, import_react24.useState)(\"\");\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.(email);\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.assign(ctaLink);\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"div\",\n {\n ref,\n \"data-testid\": testId,\n onClick: (e) => e.stopPropagation(),\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n MahatiPromotionCard,\n {\n ...cardProps,\n onClose,\n onInputChange: setEmail,\n onCtaClick: handleCta\n }\n )\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionModalV2Modal = ({\n isOpen,\n testId,\n onClose,\n headerTitle,\n title,\n description,\n ctaText,\n onCtaClick,\n ctaLink,\n openInNewTab = false,\n showBadgeImage = false,\n badgeImageSrc\n}) => {\n const ref = (0, import_react24.useRef)(null);\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.();\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.href = ctaLink;\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px] p-4\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref,\n onClick: (e) => e.stopPropagation(),\n className: \"relative w-full max-w-[420px] overflow-hidden rounded-[16px] bg-gradient-to-b from-[#4daf83] via-[#2f8fa0] to-[#1761a3] text-white shadow-[0_20px_40px_rgba(0,0,0,0.35)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex items-center justify-between px-5 py-4\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"text-[16px] font-medium\", children: headerTitle }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[28px] w-[28px] items-center justify-center rounded-full bg-white/20 hover:bg-white/30\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14, color: \"white\" })\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"px-6 py-10\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h4\", { className: \"mb-4 text-[28px] font-semibold\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-10 max-w-[80%] text-[14px] opacity-90\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: handleCta,\n className: \"rounded-[8px] bg-white px-8 py-3 text-[14px] font-semibold text-[#1761a3] hover:bg-[#f2f6fa] hover:shadow-[0_6px_18px_rgba(0,0,0,0.3)]\",\n children: ctaText\n }\n )\n ] }),\n showBadgeImage && badgeImageSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: badgeImageSrc,\n alt: \"Promotion Badge\",\n className: \"absolute bottom-6 right-[-24px] h-[120px] w-[120px] object-contain\"\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar MahatiPromotionModalV3Modal = ({\n isOpen,\n testId,\n onClose,\n title,\n description,\n ctaText,\n onCtaClick,\n secondaryText = \"Later\",\n onSecondaryClick,\n imageSrc,\n ctaLink,\n openInNewTab = false\n}) => {\n const ref = (0, import_react24.useRef)(null);\n (0, import_react24.useEffect)(() => {\n if (!isOpen) return;\n const handler = (e) => {\n if (!ref.current?.contains(e.target)) {\n onClose();\n }\n };\n document.addEventListener(\"click\", handler);\n return () => document.removeEventListener(\"click\", handler);\n }, [isOpen, onClose]);\n if (!isOpen) return null;\n const handleCta = () => {\n onCtaClick?.();\n if (ctaLink) {\n openInNewTab ? window.open(ctaLink, \"_blank\") : window.location.href = ctaLink;\n }\n onClose();\n };\n return (0, import_react_dom3.createPortal)(\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"fixed inset-0 z-[9999] flex items-center justify-center bg-black/40 backdrop-blur-[6px] p-4\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n ref,\n onClick: (e) => e.stopPropagation(),\n className: \"w-full rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-3 text-[14px] font-medium text-white hover:bg-gradient-to-r hover:from-[#174f8a] hover:to-[#4ca676] hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"absolute right-[20px] top-[20px] flex h-[28px] w-[28px] items-center justify-center rounded-full bg-[#f1f5f9] hover:bg-[#e5e7eb]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14 })\n }\n ),\n imageSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"mb-6 flex justify-center\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: imageSrc,\n alt: \"Promotion\",\n className: \"h-[130px] w-[160px] object-contain\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"h3\", { className: \"mb-3 text-[22px] font-semibold text-[#4daf83]\", children: title }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-8 text-[14px] text-[#6b7280]\", children: description }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: handleCta,\n className: \"w-full rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-3 text-[14px] font-medium text-white hover:bg-gradient-to-r hover:from-[#174f8a] hover:to-[#4ca676] hover:shadow-[0_6px_18px_rgba(0,0,0,0.25)]\",\n children: ctaText\n }\n ),\n secondaryText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: () => {\n onSecondaryClick?.();\n onClose();\n },\n className: \"mt-4 text-[14px] font-medium text-[#1761a3] hover:underline\",\n children: secondaryText\n }\n )\n ]\n }\n ) }),\n document.body\n );\n};\nvar BADGE_BG_MAP = {\n like: \"#F9595F\",\n mention: \"#E02424\",\n follow: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\",\n comment: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\",\n add: \"linear-gradient(to bottom right, #1761A3, #4DAF83)\"\n};\nvar MahatiNotificationCard = ({\n title,\n testId,\n description,\n time,\n iconSrc,\n avatarSrc,\n badgeIconSrc,\n badgeType,\n primaryActionText,\n onPrimaryAction,\n secondaryActionText,\n onSecondaryAction,\n onClose\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\n \"div\",\n {\n \"data-testid\": testId,\n className: \"flex w-full max-w-[640px] items-start gap-4 rounded-[16px] border-2 border-[#c2e2d5] bg-[#f1f7f7] px-4 py-3 shadow-[0_2px_6px_rgba(0,0,0,0.08)]\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"relative h-[56px] w-[56px] flex-shrink-0 md:h-[64px] md:w-[64px]\", children: [\n iconSrc ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"div\", { className: \"flex h-full w-full items-center justify-center rounded-[10px] bg-gradient-to-br from-[#1761a3] to-[#4daf83]\", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: iconSrc,\n alt: \"\",\n className: \"h-[20px] w-[20px] md:h-[24px] md:w-[24px]\"\n }\n ) }) : avatarSrc && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: avatarSrc,\n alt: \"User\",\n className: \"h-full w-full rounded-[10px] object-cover\"\n }\n ),\n badgeIconSrc && badgeType && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"div\",\n {\n className: \"absolute bottom-[-4px] right-[-4px] flex h-[24px] w-[24px] items-center justify-center rounded-full border-2 border-white\",\n style: { background: BADGE_BG_MAP[badgeType] },\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"img\",\n {\n src: badgeIconSrc,\n alt: \"\",\n className: \"h-[12px] w-[12px]\"\n }\n )\n }\n )\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex-1\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"mb-1 flex items-center gap-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"text-[14px] font-semibold text-[#111827] md:text-[16px]\", children: title }),\n time && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"span\", { className: \"whitespace-nowrap text-[10px] text-[#6b7280] md:text-[12px]\", children: time })\n ] }),\n description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\"p\", { className: \"mb-3 text-[12px] text-[#6b7280] md:text-[14px]\", children: description }),\n (primaryActionText || secondaryActionText) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(\"div\", { className: \"flex flex-col gap-3 sm:flex-row\", children: [\n primaryActionText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onPrimaryAction,\n className: \"flex-1 rounded-[8px] bg-gradient-to-r from-[#1761a3] to-[#4daf83] py-[10px] text-[14px] font-medium text-white hover:shadow-[0_4px_12px_rgba(0,0,0,0.2)]\",\n children: primaryActionText\n }\n ),\n secondaryActionText && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onSecondaryAction,\n className: \"flex-1 rounded-[8px] border-2 border-[#b7d9c9] bg-[#eaf6f1] py-[10px] text-[14px] font-medium text-[#2f6f5e] hover:bg-[#dff1ea]\",\n children: secondaryActionText\n }\n )\n ] })\n ] }),\n onClose && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(\n \"button\",\n {\n onClick: onClose,\n className: \"flex h-[24px] w-[24px] items-center justify-center rounded-full bg-[#d7e5ed] hover:bg-[#dcefe6] md:h-[32px] md:w-[32px]\",\n children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react6.X, { size: 14 })\n }\n )\n ]\n }\n );\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Accordion,\n CardOverlayLoader,\n CardWithLoading,\n CircularSpinner,\n DEFAULT_ACTIVITY_OPTIONS,\n DEFAULT_STATUS_OPTIONS,\n Filter,\n LoadingDots,\n LoadingDotsLinear,\n MahatiActivity,\n MahatiAsyncDropdown,\n MahatiAvatarDropdown,\n MahatiAvatarMultiSelectDropdown,\n MahatiButton,\n MahatiCalendar,\n MahatiCameraAccessModal,\n MahatiCard,\n MahatiCascadingDropdown,\n MahatiChartAnalyticsWidget,\n MahatiConfettiExplosion,\n MahatiDropdown,\n MahatiFormContainer,\n MahatiGroupedDropdown,\n MahatiInput,\n MahatiLocationAccessModal,\n MahatiMicrophoneAccessModal,\n MahatiModal,\n MahatiMultiSelectDropdown,\n MahatiNotificationCard,\n MahatiPromotionModal_V1,\n MahatiPromotionModal_V2,\n MahatiPromotionModal_V3,\n MahatiRealisticConfetti,\n MahatiSearch,\n MahatiSearchableDropdown,\n MahatiStatus,\n MahatiTabbedInterface,\n MahatiTable,\n MahatiTableWithTab,\n MahatiTexttoAudio,\n MahatiToastMessage,\n MahatiTooltip,\n Spinner\n});\n"]}